{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/account-upgrade/account-upgrade-routing.module.ts","webpack:///src/app/account-upgrade/account-upgrade-subscription/account-upgrade-subscription.component.ts","webpack:///src/app/account-upgrade/account-upgrade-subscription/account-upgrade-subscription.component.html","webpack:///src/app/account-upgrade/account-upgrade.module.ts","webpack:///src/app/account-upgrade/reserve-modal/reserve-modal.component.ts","webpack:///src/app/account-upgrade/reserve-modal/reserve-modal.component.html","webpack:///src/app/account-upgrade/services/account-upgrade.service.ts","webpack:///src/app/account-upgrade/staking-home/staking-home.component.ts","webpack:///src/app/account-upgrade/staking-home/staking-home.component.html","webpack:///src/app/account-upgrade/staking-timeline/staking-timeline.component.ts","webpack:///src/app/account-upgrade/staking-timeline/staking-timeline.component.html","webpack:///src/app/account-upgrade/upgrade-account-premier-staking/upgrade-account-premier-staking.component.ts","webpack:///src/app/account-upgrade/upgrade-account-premier-staking/upgrade-account-premier-staking.component.html","webpack:///src/app/account/account-forget-password/account-forget-password.component.ts","webpack:///src/app/account/account-forget-password/account-forget-password.component.html","webpack:///src/app/account/account-mesg-box/account-mesg-box.component.ts","webpack:///src/app/account/account-mesg-box/account-mesg-box.component.html","webpack:///src/app/account/account-reset-password/account-reset-password.component.ts","webpack:///src/app/account/account-reset-password/account-reset-password.component.html","webpack:///src/app/account/account-routing.module.ts","webpack:///src/app/account/account-signin/account-signin.component.ts","webpack:///src/app/account/account-signin/account-signin.component.html","webpack:///src/app/account/account-signup/account-signup.component.ts","webpack:///src/app/account/account-signup/account-signup.component.html","webpack:///src/app/account/account-social-signin/account-social-signin.component.ts","webpack:///src/app/account/account-social-signin/account-social-signin.component.html","webpack:///src/app/account/account-two-factor-authentication/account-two-factor-authentication.component.ts","webpack:///src/app/account/account-two-factor-authentication/account-two-factor-authentication.component.html","webpack:///src/app/account/account-whitelist-device/account-whitelist-device.component.ts","webpack:///src/app/account/account-whitelist-device/account-whitelist-device.component.html","webpack:///src/app/account/account-wrapper/account-wrapper.component.ts","webpack:///src/app/account/account-wrapper/account-wrapper.component.html","webpack:///src/app/account/account.module.ts","webpack:///src/app/account/sevices/account.service.ts","webpack:///src/app/activity/activity-balance-attention-cancel-transfer/activity-balance-attention-cancel-transfer.component.ts","webpack:///src/app/activity/activity-balance-attention-cancel-transfer/activity-balance-attention-cancel-transfer.component.html","webpack:///src/app/activity/activity-balance-attention/activity-balance-attention.component.ts","webpack:///src/app/activity/activity-balance-attention/activity-balance-attention.component.html","webpack:///src/app/activity/activity-balance-cancelled/activity-balance-cancelled.component.ts","webpack:///src/app/activity/activity-balance-cancelled/activity-balance-cancelled.component.html","webpack:///src/app/activity/activity-balance-converted/activity-balance-converted.component.ts","webpack:///src/app/activity/activity-balance-converted/activity-balance-converted.component.html","webpack:///src/app/activity/activity-balance-list/activity-balance-list.component.ts","webpack:///src/app/activity/activity-balance-list/activity-balance-list.component.html","webpack:///src/app/activity/activity-balance-onboarding-fee/activity-balance-onboarding-fee.component.ts","webpack:///src/app/activity/activity-balance-onboarding-fee/activity-balance-onboarding-fee.component.html","webpack:///src/app/activity/activity-balance-recieved/activity-balance-recieved.component.ts","webpack:///src/app/activity/activity-balance-recieved/activity-balance-recieved.component.html","webpack:///src/app/activity/activity-balance-spent/activity-balance-spent.component.ts","webpack:///src/app/activity/activity-balance-spent/activity-balance-spent.component.html","webpack:///src/app/activity/activity-balance-transfer-detail/activity-balance-transfer-detail.component.ts","webpack:///src/app/activity/activity-balance-transfer-detail/activity-balance-transfer-detail.component.html","webpack:///src/app/activity/activity-balance-transfer/activity-balance-transfer.component.ts","webpack:///src/app/activity/activity-balance-transfer/activity-balance-transfer.component.html","webpack:///src/app/activity/activity-balance-usd-staking/activity-balance-usd-staking.component.ts","webpack:///src/app/activity/activity-balance-usd-staking/activity-balance-usd-staking.component.html","webpack:///src/app/activity/activity-balance-weekly-reward/activity-balance-weekly-reward.component.ts","webpack:///src/app/activity/activity-balance-weekly-reward/activity-balance-weekly-reward.component.html","webpack:///src/app/activity/activity-balance-withdrawn/activity-balance-withdrawn.component.ts","webpack:///src/app/activity/activity-balance-withdrawn/activity-balance-withdrawn.component.html","webpack:///src/app/activity/activity-credit-availed/activity-credit-availed.component.ts","webpack:///src/app/activity/activity-credit-availed/activity-credit-availed.component.html","webpack:///src/app/activity/activity-credit-interest/activity-credit-interest.component.ts","webpack:///src/app/activity/activity-credit-interest/activity-credit-interest.component.html","webpack:///src/app/activity/activity-credit-locked-released/activity-credit-locked-released.component.ts","webpack:///src/app/activity/activity-credit-locked-released/activity-credit-locked-released.component.html","webpack:///src/app/activity/activity-credit-locked/activity-credit-locked.component.ts","webpack:///src/app/activity/activity-credit-locked/activity-credit-locked.component.html","webpack:///src/app/activity/activity-credit-repaid/activity-credit-repaid.component.ts","webpack:///src/app/activity/activity-credit-repaid/activity-credit-repaid.component.html","webpack:///src/app/activity/activity-deposit-interest/activity-deposit-interest.component.ts","webpack:///src/app/activity/activity-deposit-interest/activity-deposit-interest.component.html","webpack:///src/app/activity/activity-home/activity-home.component.ts","webpack:///src/app/activity/activity-home/activity-home.component.html","webpack:///src/app/activity/activity-rolling-reserve/activity-rolling-reserve.component.ts","webpack:///src/app/activity/activity-rolling-reserve/activity-rolling-reserve.component.html","webpack:///src/app/activity/activity-routing.module.ts","webpack:///src/app/activity/activity-staking-rolling-reserve/activity-staking-rolling-reserve.component.ts","webpack:///src/app/activity/activity-staking-rolling-reserve/activity-staking-rolling-reserve.component.html","webpack:///src/app/activity/activity-welcome/activity-welcome.component.ts","webpack:///src/app/activity/activity-welcome/activity-welcome.component.html","webpack:///src/app/activity/activity.module.ts","webpack:///src/app/activity/cancel-fee/cancel-fee.component.ts","webpack:///src/app/activity/cancel-fee/cancel-fee.component.html","webpack:///src/app/activity/services/activity.service.ts","webpack:///src/app/api-manager/add-webhook-url/add-webhook-url.component.ts","webpack:///src/app/api-manager/add-webhook-url/add-webhook-url.component.html","webpack:///src/app/api-manager/ap-manager-delete-api-confirm/ap-manager-delete-api-confirm.component.ts","webpack:///src/app/api-manager/ap-manager-delete-api-confirm/ap-manager-delete-api-confirm.component.html","webpack:///src/app/api-manager/api-manager-confirm/api-manager-confirm.component.ts","webpack:///src/app/api-manager/api-manager-confirm/api-manager-confirm.component.html","webpack:///src/app/api-manager/api-manager-create/api-manager-create.component.ts","webpack:///src/app/api-manager/api-manager-create/api-manager-create.component.html","webpack:///src/app/api-manager/api-manager-data/api-manager-data.component.ts","webpack:///src/app/api-manager/api-manager-data/api-manager-data.component.html","webpack:///src/app/api-manager/api-manager-home/api-manager-home.component.ts","webpack:///src/app/api-manager/api-manager-home/api-manager-home.component.html","webpack:///src/app/api-manager/api-manager-operations/api-manager-operations.component.ts","webpack:///src/app/api-manager/api-manager-operations/api-manager-operations.component.html","webpack:///src/app/api-manager/api-manager-routing.module.ts","webpack:///src/app/api-manager/api-manager-security-verification/api-manager-security-verification.component.ts","webpack:///src/app/api-manager/api-manager-security-verification/api-manager-security-verification.component.html","webpack:///src/app/api-manager/api-manager.module.ts","webpack:///src/app/api-manager/services/api-manager.service.ts","webpack:///src/app/api-manager/update-domain/update-domain.component.ts","webpack:///src/app/api-manager/update-domain/update-domain.component.html","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.constants.ts","webpack:///src/app/app.module.ts","webpack:///src/app/business/business-home/business-home.component.ts","webpack:///src/app/business/business-home/business-home.component.html","webpack:///src/app/business/business-routing.module.ts","webpack:///src/app/business/business.module.ts","webpack:///src/app/convert/convert-amount/convert-amount.component.ts","webpack:///src/app/convert/convert-amount/convert-amount.component.html","webpack:///src/app/convert/convert-completed/convert-completed.component.ts","webpack:///src/app/convert/convert-completed/convert-completed.component.html","webpack:///src/app/convert/convert-home/convert-home.component.ts","webpack:///src/app/convert/convert-home/convert-home.component.html","webpack:///src/app/convert/convert-review/convert-review.component.ts","webpack:///src/app/convert/convert-review/convert-review.component.html","webpack:///src/app/convert/convert-routing.module.ts","webpack:///src/app/convert/convert.module.ts","webpack:///src/app/convert/services/convert.service.ts","webpack:///src/app/core/enums/authStatus.ts","webpack:///src/app/core/enums/broker-status.enum.ts","webpack:///src/app/core/enums/currencyType.ts","webpack:///src/app/core/enums/fiat-transaction-type.ts","webpack:///src/app/core/enums/help-desk-enum.ts","webpack:///src/app/core/enums/ledgerType.ts","webpack:///src/app/core/enums/network-type-enum.ts","webpack:///src/app/core/enums/rateTypeEnum.ts","webpack:///src/app/core/enums/recipientTypeEnum.ts","webpack:///src/app/core/enums/swapEnum.ts","webpack:///src/app/core/enums/userType.ts","webpack:///src/app/core/enums/walletcurrency.ts","webpack:///src/app/core/models/EnableTwoFa.ts","webpack:///src/app/core/models/Lerex/enum-load.ts","webpack:///src/app/core/models/activity/search-filter.ts","webpack:///src/app/core/models/address-whitelist.ts","webpack:///src/app/core/models/api-manager/api-manager.ts","webpack:///src/app/core/models/business-profile.ts","webpack:///src/app/core/models/cashaa-user-fee-request.ts","webpack:///src/app/core/models/changeEmail.ts","webpack:///src/app/core/models/chnagepassword.ts","webpack:///src/app/core/models/convert/convert-request-model.ts","webpack:///src/app/core/models/crypto-account-request-model.ts","webpack:///src/app/core/models/currency-type-data.ts","webpack:///src/app/core/models/deposit-interest/deposit-interest.ts","webpack:///src/app/core/models/deposit.ts","webpack:///src/app/core/models/fIat/fiat-flow.ts","webpack:///src/app/core/models/fIat/fiat-pay.ts","webpack:///src/app/core/models/fIat/recipients.ts","webpack:///src/app/core/models/fiat-account-request-model.ts","webpack:///src/app/core/models/receive-fund.ts","webpack:///src/app/core/models/recipient/recipient-add-usd.ts","webpack:///src/app/core/models/referral/referral.ts","webpack:///src/app/core/models/reset-password.ts","webpack:///src/app/core/models/signup.ts","webpack:///src/app/core/models/transfer-types.ts","webpack:///src/app/core/models/whitelist-device.ts","webpack:///src/app/core/models/withdraw-fund.ts","webpack:///src/app/core/services/auth-guard/auth-guard.service.ts","webpack:///src/app/core/services/domain/domain.service.ts","webpack:///src/app/core/services/interceptor/http-interceptor.service.ts","webpack:///src/app/core/services/modal/modal.service.ts","webpack:///src/app/core/services/navigation/navigation.service.ts","webpack:///src/app/core/services/rate-websocket/rate-websocket.service.ts","webpack:///src/app/core/services/user/user.service.ts","webpack:///src/app/core/utility/validator.utility.ts","webpack:///src/app/customer/add-customer-home/add-customer-home.component.ts","webpack:///src/app/customer/add-customer-home/add-customer-home.component.html","webpack:///src/app/customer/add-customer-modal/add-customer-modal.component.ts","webpack:///src/app/customer/add-customer-modal/add-customer-modal.component.html","webpack:///src/app/customer/add-customer/add-customer.component.ts","webpack:///src/app/customer/add-customer/add-customer.component.html","webpack:///src/app/customer/customer-details/customer-details.component.ts","webpack:///src/app/customer/customer-details/customer-details.component.html","webpack:///src/app/customer/customer-routing.module.ts","webpack:///src/app/customer/customer.module.ts","webpack:///src/app/customer/services/customer.service.ts","webpack:///src/app/deposit-interest/deposit-interest-amount/deposit-interest-amount.component.ts","webpack:///src/app/deposit-interest/deposit-interest-amount/deposit-interest-amount.component.html","webpack:///src/app/deposit-interest/deposit-interest-confirm/deposit-interest-confirm.component.ts","webpack:///src/app/deposit-interest/deposit-interest-confirm/deposit-interest-confirm.component.html","webpack:///src/app/deposit-interest/deposit-interest-home/deposit-interest-home.component.ts","webpack:///src/app/deposit-interest/deposit-interest-home/deposit-interest-home.component.html","webpack:///src/app/deposit-interest/deposit-interest-routing.module.ts","webpack:///src/app/deposit-interest/deposit-interest.module.ts","webpack:///src/app/deposit-interest/service/deposit-interest.service.ts","webpack:///src/app/deposit/deposit-amount/deposit-amount.component.ts","webpack:///src/app/deposit/deposit-amount/deposit-amount.component.html","webpack:///src/app/deposit/deposit-detail/deposit-detail.component.ts","webpack:///src/app/deposit/deposit-detail/deposit-detail.component.html","webpack:///src/app/deposit/deposit-history/deposit-history.component.ts","webpack:///src/app/deposit/deposit-history/deposit-history.component.html","webpack:///src/app/deposit/deposit-home/deposit-home.component.ts","webpack:///src/app/deposit/deposit-home/deposit-home.component.html","webpack:///src/app/deposit/deposit-recipient/deposit-recipient.component.ts","webpack:///src/app/deposit/deposit-recipient/deposit-recipient.component.html","webpack:///src/app/deposit/deposit-routing.module.ts","webpack:///src/app/deposit/deposit-transfer-number/deposit-transfer-number.component.ts","webpack:///src/app/deposit/deposit-transfer-number/deposit-transfer-number.component.html","webpack:///src/app/deposit/deposit-transfer-type/deposit-transfer-type.component.ts","webpack:///src/app/deposit/deposit-transfer-type/deposit-transfer-type.component.html","webpack:///src/app/deposit/deposit.module.ts","webpack:///src/app/deposit/payment-failure/payment-failure.component.ts","webpack:///src/app/deposit/payment-failure/payment-failure.component.html","webpack:///src/app/deposit/payment-success/payment-success.component.ts","webpack:///src/app/deposit/payment-success/payment-success.component.html","webpack:///src/app/deposit/services/deposit.service.ts","webpack:///src/app/event-fee/address/address.component.ts","webpack:///src/app/event-fee/address/address.component.html","webpack:///src/app/event-fee/confirm/confirm.component.ts","webpack:///src/app/event-fee/confirm/confirm.component.html","webpack:///src/app/event-fee/currency-type/currency-type.component.ts","webpack:///src/app/event-fee/currency-type/currency-type.component.html","webpack:///src/app/event-fee/event-fee-home/event-fee-home.component.ts","webpack:///src/app/event-fee/event-fee-home/event-fee-home.component.html","webpack:///src/app/event-fee/event-fee-routing.module.ts","webpack:///src/app/event-fee/event-fee.module.ts","webpack:///src/app/event-fee/other-details/other-details.component.ts","webpack:///src/app/event-fee/other-details/other-details.component.html","webpack:///src/app/event-fee/payment-history/payment-history.component.ts","webpack:///src/app/event-fee/payment-history/payment-history.component.html","webpack:///src/app/event-fee/services/event-fee.service.ts","webpack:///src/app/event-fee/ticket-type/ticket-type.component.ts","webpack:///src/app/event-fee/ticket-type/ticket-type.component.html","webpack:///src/app/event-fee/timer/deposit-timer.component.ts","webpack:///src/app/event-fee/timer/deposit-timer.component.html","webpack:///src/app/fiat/fiat-completed/fiat-completed.component.ts","webpack:///src/app/fiat/fiat-completed/fiat-completed.component.html","webpack:///src/app/fiat/fiat-flow-amount/fiat-flow-amount.component.ts","webpack:///src/app/fiat/fiat-flow-amount/fiat-flow-amount.component.html","webpack:///src/app/fiat/fiat-flow-pay-approve/fiat-flow-pay-approve.component.ts","webpack:///src/app/fiat/fiat-flow-pay-approve/fiat-flow-pay-approve.component.html","webpack:///src/app/fiat/fiat-flow-pay-auth-approval/fiat-flow-pay-auth-approval.component.ts","webpack:///src/app/fiat/fiat-flow-pay-auth-approval/fiat-flow-pay-auth-approval.component.html","webpack:///src/app/fiat/fiat-flow-recipient-add-business/fiat-flow-recipient-add-business.component.ts","webpack:///src/app/fiat/fiat-flow-recipient-add-business/fiat-flow-recipient-add-business.component.html","webpack:///src/app/fiat/fiat-flow-recipient/fiat-flow-recipient.component.ts","webpack:///src/app/fiat/fiat-flow-recipient/fiat-flow-recipient.component.html","webpack:///src/app/fiat/fiat-flow-review/fiat-flow-review.component.ts","webpack:///src/app/fiat/fiat-flow-review/fiat-flow-review.component.html","webpack:///src/app/fiat/fiat-flow-wrapper/fiat-flow-wrapper.component.ts","webpack:///src/app/fiat/fiat-flow-wrapper/fiat-flow-wrapper.component.html","webpack:///src/app/fiat/fiat-routing.module.ts","webpack:///src/app/fiat/fiat.module.ts","webpack:///src/app/fiat/services/fiat.service.ts","webpack:///src/app/helpdesk/helpdesk-create-ticket/helpdesk-create-ticket.component.ts","webpack:///src/app/helpdesk/helpdesk-create-ticket/helpdesk-create-ticket.component.html","webpack:///src/app/helpdesk/helpdesk-home-ticket/helpdesk-home-ticket.component.ts","webpack:///src/app/helpdesk/helpdesk-home-ticket/helpdesk-home-ticket.component.html","webpack:///src/app/helpdesk/helpdesk-routing.module.ts","webpack:///src/app/helpdesk/helpdesk.module.ts","webpack:///src/app/helpdesk/services/helpdesk-ticket.service.ts","webpack:///src/app/invite/invite-home-completed/invite-home-completed.component.ts","webpack:///src/app/invite/invite-home-completed/invite-home-completed.component.html","webpack:///src/app/invite/invite-home-email/invite-home-email.component.ts","webpack:///src/app/invite/invite-home-email/invite-home-email.component.html","webpack:///src/app/invite/invite-home-link/invite-home-link.component.ts","webpack:///src/app/invite/invite-home-link/invite-home-link.component.html","webpack:///src/app/invite/invite-home/invite-home.component.ts","webpack:///src/app/invite/invite-home/invite-home.component.html","webpack:///src/app/invite/invite-share-link/invite-share-link.component.ts","webpack:///src/app/invite/invite-share-link/invite-share-link.component.html","webpack:///src/app/invite/invite.module.ts","webpack:///src/app/invite/services/invite.service.ts","webpack:///src/app/kyc/kyc-home/kyc-home.component.ts","webpack:///src/app/kyc/kyc-home/kyc-home.component.html","webpack:///src/app/kyc/kyc-routing.module.ts","webpack:///src/app/kyc/kyc.module.ts","webpack:///src/app/kyc/services/kyc.service.ts","webpack:///src/app/profile/profile-business-edit/profile-business-edit.component.ts","webpack:///src/app/profile/profile-business-edit/profile-business-edit.component.html","webpack:///src/app/profile/profile-business/profile-business.component.ts","webpack:///src/app/profile/profile-business/profile-business.component.html","webpack:///src/app/profile/profile-home/profile-home.component.ts","webpack:///src/app/profile/profile-home/profile-home.component.html","webpack:///src/app/profile/profile-personal/profile-personal.component.ts","webpack:///src/app/profile/profile-personal/profile-personal.component.html","webpack:///src/app/profile/profile-routing.module.ts","webpack:///src/app/profile/profile.module.ts","webpack:///src/app/profile/services/profile.service.ts","webpack:///src/app/receive/receive-fund/receive-fund.component.ts","webpack:///src/app/receive/receive-fund/receive-fund.component.html","webpack:///src/app/receive/receive-routing.module.ts","webpack:///src/app/receive/receive.module.ts","webpack:///src/app/receive/services/receive.service.ts","webpack:///src/app/recipient/recipient-add-bankaccount/recipient-add-bankaccount.component.ts","webpack:///src/app/recipient/recipient-add-bankaccount/recipient-add-bankaccount.component.html","webpack:///src/app/recipient/recipient-add/recipient-add.component.ts","webpack:///src/app/recipient/recipient-add/recipient-add.component.html","webpack:///src/app/recipient/recipient-address-confirmation/recipient-address-confirmation.component.ts","webpack:///src/app/recipient/recipient-address-confirmation/recipient-address-confirmation.component.html","webpack:///src/app/recipient/recipient-home/recipient-home.component.ts","webpack:///src/app/recipient/recipient-home/recipient-home.component.html","webpack:///src/app/recipient/recipient-list/recipient-list.component.ts","webpack:///src/app/recipient/recipient-list/recipient-list.component.html","webpack:///src/app/recipient/recipient-routing.module.ts","webpack:///src/app/recipient/recipient.module.ts","webpack:///src/app/recipient/recipient/recipient.component.ts","webpack:///src/app/recipient/recipient/recipient.component.html","webpack:///src/app/recipient/services/recipient.service.ts","webpack:///src/app/recipient/update-memo/update-memo.component.ts","webpack:///src/app/recipient/update-memo/update-memo.component.html","webpack:///src/app/referral/referral-routing.module.ts","webpack:///src/app/referral/referral.module.ts","webpack:///src/app/referral/referral/referral.component.ts","webpack:///src/app/referral/referral/referral.component.html","webpack:///src/app/referral/services/referral.service.ts","webpack:///src/app/send/withdraw-confirmation/withdraw-confirmation.component.ts","webpack:///src/app/send/withdraw-confirmation/withdraw-confirmation.component.html","webpack:///src/app/settings/services/settings.service.ts","webpack:///src/app/settings/setting-close-account/setting-close-account.component.ts","webpack:///src/app/settings/setting-close-account/setting-close-account.component.html","webpack:///src/app/settings/setting-email-confirm/setting-email-confirm.component.ts","webpack:///src/app/settings/setting-email-confirm/setting-email-confirm.component.html","webpack:///src/app/settings/setting-interest-choice/setting-interest-choice.component.ts","webpack:///src/app/settings/setting-interest-choice/setting-interest-choice.component.html","webpack:///src/app/settings/setting-routing.module.ts","webpack:///src/app/settings/settings-email/settings-email.component.ts","webpack:///src/app/settings/settings-email/settings-email.component.html","webpack:///src/app/settings/settings-fee/settings-fee.component.ts","webpack:///src/app/settings/settings-fee/settings-fee.component.html","webpack:///src/app/settings/settings-home/settings-home.component.ts","webpack:///src/app/settings/settings-home/settings-home.component.html","webpack:///src/app/settings/settings-password/settings-password.component.ts","webpack:///src/app/settings/settings-password/settings-password.component.html","webpack:///src/app/settings/settings-subscription-plan/settings-subscription-plan.component.ts","webpack:///src/app/settings/settings-subscription-plan/settings-subscription-plan.component.html","webpack:///src/app/settings/settings-two-factor-auth/settings-two-factor-auth.component.ts","webpack:///src/app/settings/settings-two-factor-auth/settings-two-factor-auth.component.html","webpack:///src/app/settings/settings.module.ts","webpack:///src/app/shared/Directives/num-decimal.directive.ts","webpack:///src/app/shared/components/access-restricted/access-restricted.component.ts","webpack:///src/app/shared/components/access-restricted/access-restricted.component.html","webpack:///src/app/shared/components/account-box/account-box.component.ts","webpack:///src/app/shared/components/account-box/account-box.component.html","webpack:///src/app/shared/components/acount-box-mobile/account-box-mobile.component.ts","webpack:///src/app/shared/components/acount-box-mobile/account-box-mobile.component.html","webpack:///src/app/shared/components/balance-box/balance-box.component.ts","webpack:///src/app/shared/components/balance-box/balance-box.component.html","webpack:///src/app/shared/components/confirmation-box/confirmation-box.component.ts","webpack:///src/app/shared/components/confirmation-box/confirmation-box.component.html","webpack:///src/app/shared/components/currency-box/currency-box.component.ts","webpack:///src/app/shared/components/currency-box/currency-box.component.html","webpack:///src/app/shared/components/currency-pairs/currency-pairs.component.ts","webpack:///src/app/shared/components/currency-pairs/currency-pairs.component.html","webpack:///src/app/shared/components/form-input-currency/form-input-currency.component.ts","webpack:///src/app/shared/components/form-input-currency/form-input-currency.component.html","webpack:///src/app/shared/components/form-input-director-role/form-input-director-role.component.ts","webpack:///src/app/shared/components/form-input-director-role/form-input-director-role.component.html","webpack:///src/app/shared/components/form-input-file/form-input-file.component.ts","webpack:///src/app/shared/components/form-input-file/form-input-file.component.html","webpack:///src/app/shared/components/form-input-sortcode/form-input-sortcode.component.ts","webpack:///src/app/shared/components/form-input-sortcode/form-input-sortcode.component.html","webpack:///src/app/shared/components/form-input/form-input.component.ts","webpack:///src/app/shared/components/form-input/form-input.component.html","webpack:///src/app/shared/components/form-select-accounttype/form-select-accounttype.component.ts","webpack:///src/app/shared/components/form-select-accounttype/form-select-accounttype.component.html","webpack:///src/app/shared/components/form-select-activity-type-filter/form-select-activity-type-filter.component.ts","webpack:///src/app/shared/components/form-select-activity-type-filter/form-select-activity-type-filter.component.html","webpack:///src/app/shared/components/form-select-balance/form-select-balance.component.ts","webpack:///src/app/shared/components/form-select-balance/form-select-balance.component.html","webpack:///src/app/shared/components/form-select-business-category/form-select-business-category.component.ts","webpack:///src/app/shared/components/form-select-business-category/form-select-business-category.component.html","webpack:///src/app/shared/components/form-select-country/form-select-country.component.ts","webpack:///src/app/shared/components/form-select-country/form-select-country.component.html","webpack:///src/app/shared/components/form-select-currency-pair/form-select-currency-pair.component.ts","webpack:///src/app/shared/components/form-select-currency-pair/form-select-currency-pair.component.html","webpack:///src/app/shared/components/form-select-currency-symbol/form-select-currency-symbol.component.ts","webpack:///src/app/shared/components/form-select-currency-symbol/form-select-currency-symbol.component.html","webpack:///src/app/shared/components/form-select-currency/form-select-currency.component.ts","webpack:///src/app/shared/components/form-select-currency/form-select-currency.component.html","webpack:///src/app/shared/components/form-select-filter/form-select-filter.component.ts","webpack:///src/app/shared/components/form-select-filter/form-select-filter.component.html","webpack:///src/app/shared/components/form-select-helpdesk-category/form-select-helpdesk-category.component.ts","webpack:///src/app/shared/components/form-select-helpdesk-category/form-select-helpdesk-category.component.html","webpack:///src/app/shared/components/form-select-network-type/form-select-network-type.component.ts","webpack:///src/app/shared/components/form-select-network-type/form-select-network-type.component.html","webpack:///src/app/shared/components/form-select-phonecode/form-select-phonecode.component.ts","webpack:///src/app/shared/components/form-select-phonecode/form-select-phonecode.component.html","webpack:///src/app/shared/components/form-select-plan/form-select-plan.component.ts","webpack:///src/app/shared/components/form-select-plan/form-select-plan.component.html","webpack:///src/app/shared/components/form-select-transfer-currency/form-select-transfer-currency.component.ts","webpack:///src/app/shared/components/form-select-transfer-currency/form-select-transfer-currency.component.html","webpack:///src/app/shared/components/form-select-transfer-type/form-select-transfer-type.component.ts","webpack:///src/app/shared/components/form-select-transfer-type/form-select-transfer-type.component.html","webpack:///src/app/shared/components/form-select-withdraw-address/form-select-withdraw-address.component.ts","webpack:///src/app/shared/components/form-select-withdraw-address/form-select-withdraw-address.component.html","webpack:///src/app/shared/components/form-select/form-select.component.ts","webpack:///src/app/shared/components/form-select/form-select.component.html","webpack:///src/app/shared/components/form-textarea/form-textarea.component.ts","webpack:///src/app/shared/components/form-textarea/form-textarea.component.html","webpack:///src/app/shared/components/google-auth-boxes/google-auth-boxes.component.ts","webpack:///src/app/shared/components/google-auth-boxes/google-auth-boxes.component.html","webpack:///src/app/shared/components/message-box/message-box.component.ts","webpack:///src/app/shared/components/message-box/message-box.component.html","webpack:///src/app/shared/components/navbar/navbar.component.ts","webpack:///src/app/shared/components/navbar/navbar.component.html","webpack:///src/app/shared/components/not-found/not-found.component.ts","webpack:///src/app/shared/components/not-found/not-found.component.html","webpack:///src/app/shared/components/password-strength/password-strength.component.ts","webpack:///src/app/shared/components/password-strength/password-strength.component.html","webpack:///src/app/shared/components/recipient-box/recipient-box.component.ts","webpack:///src/app/shared/components/recipient-box/recipient-box.component.html","webpack:///src/app/shared/components/sidenav/sidenav.component.ts","webpack:///src/app/shared/components/sidenav/sidenav.component.html","webpack:///src/app/shared/components/social-media/social-media-component.ts","webpack:///src/app/shared/components/terms-and-conditions/terms-and-conditions.component.ts","webpack:///src/app/shared/components/terms-and-conditions/terms-and-conditions.component.html","webpack:///src/app/shared/components/timer/timer.component.ts","webpack:///src/app/shared/components/timer/timer.component.html","webpack:///src/app/shared/components/unauthorized/unauthorized.component.ts","webpack:///src/app/shared/components/unauthorized/unauthorized.component.html","webpack:///src/app/shared/components/under-maintenance/under-maintenance.component.ts","webpack:///src/app/shared/components/warning-memo-box/warning-memo-box.component.ts","webpack:///src/app/shared/components/warning-memo-box/warning-memo-box.component.html","webpack:///src/app/shared/pipes/safe.pipe.ts","webpack:///src/app/shared/services/commonSavedData.service.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/shared/switch/switch.component.ts","webpack:///src/app/shared/switch/switch.component.html","webpack:///src/app/statement/generate-statement/generate-statement.component.ts","webpack:///src/app/statement/generate-statement/generate-statement.component.html","webpack:///src/app/statement/services/statement.service.ts","webpack:///src/app/statement/statement-routing.module.ts","webpack:///src/app/statement/statement.module.ts","webpack:///src/app/swap/services/swap.service.ts","webpack:///src/app/swap/swap-home/swap-home.component.ts","webpack:///src/app/swap/swap-home/swap-home.component.html","webpack:///src/app/swap/swap-routing.module.ts","webpack:///src/app/swap/swap.module.ts","webpack:///src/app/trade/services/trade.service.ts","webpack:///src/app/trade/trade-buy-form/trade-buy-form.component.ts","webpack:///src/app/trade/trade-buy-form/trade-buy-form.component.html","webpack:///src/app/trade/trade-buy-sell-confirmation/trade-buy-sell-confirmation.component.ts","webpack:///src/app/trade/trade-buy-sell-confirmation/trade-buy-sell-confirmation.component.html","webpack:///src/app/trade/trade-buy-sell-tabs/trade-buy-sell-tabs.component.ts","webpack:///src/app/trade/trade-buy-sell-tabs/trade-buy-sell-tabs.component.html","webpack:///src/app/trade/trade-home/trade-home.component.ts","webpack:///src/app/trade/trade-home/trade-home.component.html","webpack:///src/app/trade/trade-routing.module.ts","webpack:///src/app/trade/trade-sell-form/trade-sell-form.component.ts","webpack:///src/app/trade/trade-sell-form/trade-sell-form.component.html","webpack:///src/app/trade/trade.module.ts","webpack:///src/app/user-plan/earn-plan-details/earn-plan-details.component.ts","webpack:///src/app/user-plan/earn-plan-details/earn-plan-details.component.html","webpack:///src/app/user-plan/plan-details/plan-details.component.ts","webpack:///src/app/user-plan/plan-details/plan-details.component.html","webpack:///src/app/user-plan/user-plan-routing.module.ts","webpack:///src/app/user-plan/user-plan.module.ts","webpack:///src/app/wallet/credit-line/borrow/borrow.component.ts","webpack:///src/app/wallet/credit-line/borrow/borrow.component.html","webpack:///src/app/wallet/credit-line/confirm/confirm.component.ts","webpack:///src/app/wallet/credit-line/confirm/confirm.component.html","webpack:///src/app/wallet/credit-line/credit-line.component.ts","webpack:///src/app/wallet/credit-line/credit-line.component.html","webpack:///src/app/wallet/credit-line/review-security-verification/review-security-verification.component.ts","webpack:///src/app/wallet/credit-line/review-security-verification/review-security-verification.component.html","webpack:///src/app/wallet/currency-assets/currency-assets.component.ts","webpack:///src/app/wallet/currency-assets/currency-assets.component.html","webpack:///src/app/wallet/loan-details/loan-details.component.ts","webpack:///src/app/wallet/loan-details/loan-details.component.html","webpack:///src/app/wallet/loan-interest/loan-interest.component.ts","webpack:///src/app/wallet/loan-interest/loan-interest.component.html","webpack:///src/app/wallet/loan-repayment/loan-repayment.component.ts","webpack:///src/app/wallet/loan-repayment/loan-repayment.component.html","webpack:///src/app/wallet/portfolio-history/portfolio-history.component.ts","webpack:///src/app/wallet/portfolio-history/portfolio-history.component.html","webpack:///src/app/wallet/repay/repay.component.ts","webpack:///src/app/wallet/repay/repay.component.html","webpack:///src/app/wallet/services/insta-search.service.ts","webpack:///src/app/wallet/services/wallet.service.ts","webpack:///src/app/wallet/wallet-dashboard/wallet-dashboard.component.ts","webpack:///src/app/wallet/wallet-dashboard/wallet-dashboard.component.html","webpack:///src/app/wallet/wallet-open/wallet-open.component.ts","webpack:///src/app/wallet/wallet-open/wallet-open.component.html","webpack:///src/app/wallet/wallet-page/wallet-page.component.ts","webpack:///src/app/wallet/wallet-page/wallet-page.component.html","webpack:///src/app/wallet/wallet-ready/wallet-ready.component.ts","webpack:///src/app/wallet/wallet-ready/wallet-ready.component.html","webpack:///src/app/wallet/wallet-routing.module.ts","webpack:///src/app/wallet/wallet.module.ts","webpack:///src/app/withdraw/services/withdraw.service.ts","webpack:///src/app/withdraw/withdraw-address-whitelist/withdraw-address-whitelist.component.ts","webpack:///src/app/withdraw/withdraw-address-whitelist/withdraw-address-whitelist.component.html","webpack:///src/app/withdraw/withdraw-fund/withdraw-fund.component.ts","webpack:///src/app/withdraw/withdraw-fund/withdraw-fund.component.html","webpack:///src/app/withdraw/withdraw-routing.module.ts","webpack:///src/app/withdraw/withdraw.module.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","routes","path","children","component","canActivate","AccountUpgradeRoutingModule","forChild","imports","AccountUpgradeSubscriptionComponent","fb","upgardeService","modalService","activatedRoute","router","activityService","kycService","isBrokerBtnVisible","isUSBtnVisible","isReserveBtnVisible","isUKBtnVisible","isEuroBtnVisible","subsink","isPremuimPlan","queryParams","subscribe","params","openPersonalModal","userType","sessionStorage","getItem","getUsdStatus","getActionSubscriptionPlan","getPremuimFeesDetail","res","premuimFeesDetails","upgradeForm","group","getSubscriptionPlan","list","subscriptionPlanResponse","loading","usdButtonDisable","filterData","activityType","fromDate","toDate","symbol","searchText","getRecentTransactions","length","usdButtonText","usdStatus","flag","status","cryptoButtonText","err","plan","navigateByUrl","unsubscribe","getUserActionSubscriptionPlan","data","currentPlanDetails","PREMIUM","planName","selector","templateUrl","styleUrls","AccountUpgradeModule","forRoot","declarations","modalRef","reservceBalance","ReserveModalComponent","toastrService","accountUpgradeService","userService","isInProgress","twoFactor","errorMessageFlag","errorMessage","response","isLoading","allCodeEntered","form","referralCode","reserveBalance","getUserBalance","balance","found","filter","b","currencyType","available","value","balanceError","balanceErrorMsg","idToken","formV","request","join","referalcode","isStaking","isBusiness","createStakingPersonal","hide","success","error","message","errorMsg","upgradeSubscriptionPlan","undefined","idx","inputs","toArray","nativeElement","focus","forEach","val","event","clipboardData","window","pastedText","getData","split","checkIfCodeIsFilled","index","keyCode","onFormSubmit","AccountUpgradeService","http","apiUrl","api","usdFeePayment","RequestData","get","upgradePlanRequestdata","post","asObservable","next","providedIn","StakingHomeComponent","activateRoute","userKycStatus","addStaking","addStakingUSD","StakingTimelineComponent","mondayList","weeklyMondayDays","isWorldWide","activitylist","mondaylist","processData","filteredData","dateRow","row","usdNoKyc","Date","endDate","setHours","isNormalStaking","ledger","maxLength","Object","a","toString","push","isSuccess","isSuccessNext","dot","text","date","item","isDotEnable","step","islocked","UpgradeAccountPremierStakingComponent","createForm","getUpgradedSubscriptionData","upgradeSubscriptionForm","lockingAmount","Required","OnlyNumberRequired","lockingPeriod","password","PasswordValidator","onSignupSubmit","AccountForgetPasswordComponent","accountService","showLoadingIndicator","islinkSent","setDisableCross","isrestnew","email","forgetPassword","AccountMesgBoxComponent","isLoginOption","kycStatus","Number","emailId","maskedEmailId","getMaskedEmail","queryParamMap","mesg","imgUrl","desc","AccountResetPasswordComponent","getEmailAndTokenFromURL","token","confirmPassword","validator","confirmPasswordValidator","refineToken","replace","resetPasswordData","web","resetPassword","MESG_BOX","Message","passwordInvalid","AccountRoutingModule","AccountSigninComponent","whitelistCode","isSigningIn","EmailValidator","onChanges","redirectUrl","snapshot","setItem","valueChanges","signinData","otp","registerType","showOtpBox","WhiteListOtp","signInUser","signinAccount","checkNextStep","authStatus","FORGET_PASSWORD","Success","ACTIVITY_LIST","OtpAndTwoFactorAuthRequired","emitSigninData","TWO_FACTOR_AUTH","NewSignInDevice","EmailNotConfirmed","OtpRequired","state","getUserCountry","userCountry","country","AccountSignupComponent","titleService","metaTagService","isSigningUp","isCountryDisable","setValue","disable","getTemporaryAccountDetails","addPassWordOption","setTitle","addTag","name","content","location","origin","referralId","observable$","console","log","isSignUpDone","SIGN_IN","controls","initialValue","countryId","addControl","signupData","createPersonalAccount","AccountSocialSigninComponent","AccountTwoFactorAuthenticationComponent","subSink","add","getSigninDataEmitter","singinData","authenticateCode","onCodePaste","removeError","removeBack","AccountWhitelistDeviceComponent","route","deviceId","paramMap","checkDeviceIsWhitelisted","whitelistDevice","AccountWrapperComponent","disableCrossEmitter","setTimeout","disableCross","AccountModule","AccountService","signinDataEmitter","disableCrossFlag","pipe","isConsent","isCASSWAPEnabled","cashaaUserId","userName","userFeeMode","userInterestMode","conversionFee","userCountryCode","referalCode","tempObj","localStorage","JSON","stringify","twoFactorCode","whitelistData","isAgreementApproved","ipInfo","ActivityBalanceAttentionCancelTrasnferComponent","ActivityBalanceAttentionComponent","attentionCancelTransfer","cancelTransfer","ActivityBalanceCancelledComponent","ActivityBalanceConvertedComponent","openActivityTransferDetail","curr","ActivityBalanceListComponent","slides","selectedCurrency","getCurrencyInfo","getBalanceStatus","getBalance","balanceData","i","currencyInfo","j","currencyId","borrowAt","loyaltyPlanName","upgradeTo","fLexTerm","fixedTerm","earnUpTo","longEarnUpTo","isFlexSubscribed","casBonus","matchMedia","matches","chunk","arr","chunkSize","R","len","slice","slideController","nextSlide","previousSlide","emit","getFlexAndFdDetail","previous","ActivityBalanceOnboardingFeeComponent","ledgerType","ActivityBalanceRecievedComponent","transactionId","toLowerCase","includes","currency","networkType","getRefValue","CAS","BNB","BCH","XRP","LTC","DOG","ETH","USDT","BTC","UNI","LINK","USDC","NETWORK_ERC20","NETWORK_BEP20","NETWORK_TRC20","NETWORK_POLYGON","openDetailBox","ActivityBalanceSpentComponent","openTicketCreateModal","help","ActivityBalanceTransferDetailComponent","copied","navigator","clipboard","writeText","detail","toastrConfig","preventDuplicates","convertFromamount","amount","convertfromcurrency","copyAddress","ActivityBalanceTransferComponent","fiatService","commonSavedData","verificationClickCount","isCancelFlag","isCancelLoading","isStackingLocked","withdrawConfirm","openConfirmationModal","sub","getConfirmationBoxStatus","cancelTransaction","emitBalanceRefreshStatus","isFiatAndAccount","isCrypto","timerFlag","timerStart","disableBtn","isCryptoReSendVerification","timerTime","ActivityBalanceUsdStakingComponent","ActivityBalanceWeeklyRewardComponent","ActivityBalanceWithdrawnComponent","ActivityCreditAvailedComponent","annualInterest","ActivityCreditInterestComponent","ActivityCreditLockedReleasedComponent","ActivityCreditLockedComponent","ActivityCreditRepaidComponent","convertFee","ActivityDepositInterestComponent","depositInterestService","rateType","loader","getHours","isAutoRenew","cancel","depositInterestId","cancelAutoRenewal","statusCode","showCancelFeeInfo","viewStatement","ActivityHomeComponent","ledgerList","showFilter","showStakingBanner","myDatePickerOptions","minYear","maxYear","closeAfterSelect","isRefreshOptionDisable","isActive","termsAndCondition","Personal","isPersonal","getTransactionsList","getBonusInfo","checkConsent","getUserPlanDetails","searchForm","getUserPlanDetail","isFDPrematureWithdraw","openTermsConditionPopup","resetData","activity","filterList","actualDateFormatted","getStakingUrl","isSelected","getBonusDetails","refreshTransaction","ActivityRollingReserveComponent","ActivityRoutingModule","ActivityStakingRollingReserveComponent","ActivityWelcomeComponent","goToCrypto","ActivityModule","CancelFeeComponent","getCancelFee","cancelFee","toFixed","cancelFeeDetails","cancelFixedDeposit","reload","confirm","ActivityService","balanceRefresh","filterModel","AddWebhookURLComponent","apiManagerService","commanData","isWebhookURLAdded","addWebhookForm","callbackURL","sendCallbackURL","sendStatusCallbackURL","apiId","getWebhookURL","sendCallBackUrl","sendStatusCallbackUrl","payload","addWebhoolURL","webhookDetails","emitConfirmationBoxStatus","back","goBack","ApManagerDeleteApiConfirmComponent","deleteAPI","ApiManagerConfirmComponent","apiManager","conditionsAccepted","resposeData","secretKey","ApiManagerCreateComponent","toasterService","featureData","apiName","features","array","ipAddress","getAPIData","updatedData","loadData","loadFeatureData","getAPIDataById","addItem","featureList","featuresFormArray","ip","validateIPAddress","label","ipAddressFormArray","addIPAddressData","removeAt","formData","feature","apiData","ipList","isEdit","getFeatureList","addCheckboxData","searchData","apiFeatureTypeList","toLocaleLowerCase","ApiManagerDataComponent","webhookUrlDetails","confirmDeleteAPI","emitAPIData","updateDomain","editAPI","addWebhookURL","ApiManagerHomeComponent","navigationService","isUpdated","stepper","respose","onCreate","onSecurity","ApiManagerOperationsComponent","loadApiData","getAllApiList","ApiManagerRoutingModule","ApiManagerSecurityVerificationComponent","toastorService","twoFAcode","allCodeEnteredTwoFA","codeLoading","twoFAInputs","checkIfCodeIsFilledTwoFA","getEmailOTP","isNaN","iplist","updateApi","createApi","ApiManagerModule","ApiManagerService","updateData","twoFACode","apiManagerId","UpdateDomainComponent","fileName","isDownloaded","updateDomainForm","domainURL","domainVerificationCode","makeSureCheck","isChecked","generateDomainCode","newVariable","file","Blob","type","msSaveOrOpenBlob","document","createElement","url","URL","createObjectURL","href","download","body","appendChild","click","removeChild","revokeObjectURL","generateCode","pathMatch","redirectTo","AppRoutingModule","useHash","AppComponent","rateWebsocketService","showHeader","showSocailMediaIcon","listenToRouteChange","events","startsWith","ACCOUNT_BASE","urlAfterRedirects","ACTIVITY_BASE","CONTROLS","TEXT","NUMBER","EMAIL","PASSWORD","APP_ROUTES","SETTING_BASE","SETTING_HOME","SIGN_UP","UNAUTHORIZED","FIAT_BASE","RECIPIENT_BASE","DIRECTOR_VERIFICATION","BUSINESS_ONBOARDING","BUSINESS_APPLICATION_STATUS","WALLET_READY_TO_GO","WALLET_CREDIT_LINE","ACCOUNT_OPEN","WALLET_HOME","PREMIER_STACKING","WITHDRAW_CONFIRMATION","PAYMENT_SUCCESS","PAYMENT_FAIL","STAKING","STAKING_TIMELINE","CRYPTO_CURRENCY","ADA","EOS","CRYPTO_CURRENCY_NAMES","CRYPTO_CURRENCY_MAX_VALUES","CRYPTO_CURRENCY_MIN_VALUES","WALLET_CURRENCY","INR","GBP","EUR","USD","AUSD","ACCOUNT_TYPE","BUSINESS","PERSONAL","RATE_HUB","HUB_NAME","DATA_PATH","CURRENCY_TYPE","CRYPTO","WALLET","ALL","TRADE_MODE","BUY","SELL","TRANSFER_TYPE","SEND","RECEIVE","NEW_RECIPIENT_TYPE","MYSELF","SOMEONE","SUBSCRIPTION_PERSONAL_PLAN","BASIC","SUBSCRIPTION_BUSINESS_PLAN","WALLET_CURRENCY_NUM","SGD","AUD","CNH","CAD","CHF","NZD","JPY","MXN","SHIB","CRYPTO_CURRENCY_NUM","BNB20","RegisterType","android","iOS","UNABLE_TO_PERFORM_ERROR","AUTH_TOKEN_PATH","USER_NAME_PATH","USER_EMAIL_PATH","IS_KYC_DONE_PERSONAL","SYMBOL_FOR_MEMO","USER_ID","USER_TYPE","USER_NAME_ID","USER_FEE_MODE","USER_INTEREST_MODE","USER_FEE_PERCENT","USER_CAS_FEE_PERCENT","USER_PLAN","USER_CAS_FEE_RATE","USER_TWO_FACTOR_CODE","USER_COUNTRY_CODE","USER_COUNTRY_ID","USER_REFERRAL_CODE","IS_CAS_SWAP_Enabled","KYC_STATUS","GET_ALL_HELPDESK_TICKETS","SEESION_FLAG","SEESION_OBJECT","ENABLE_2FA","PASSWORD_MESG","VERIFICATION_MESG","RECIPIENT_MESG","RECIPIENT_EMAIL_MESG","PROFILE_MESG","DATA_SUCCESS_MESG","FILE_SUCCESS_MESG","FILE_DELETE_MESG","FEE_SUCCESS_MESG","FEE_ALREADY_PAID","TICKET_CREATED_SUCCESS","KYC_VERIFACTION_MESG","CUSTOMER_ADDED_SUCCESS","CUSTOMER_UPDATED_SUCCESS","FEE_MODE_UPDATED","INTEREST_MODE_CREATED","BUSINESS_UPGRADE_SUBSCRIPTION","PERSONAL_UPGRADE_SUBSCRIPTION","TRANSACTION_SUCCESS_CANCELLED","RECIPIENT_DELETED_SUCCESS","CUSTOMER_DELETED_SUCCESS","CANCEL_AUTO_RENEWAL_SUCCESS","ENABLE_AUTO_RENEWAL_SUCCESS","APPLICATION_FORM_CORPORATE_ACCOUNT_GBP_EUR","APPLICATION_FORM_NDA_GBP_EUR","APPLICATION_FORM_ACCOUNT_OPPENING_USD","DEPOSIT_INTEREST_SUCCESS","DELETE_REFERRAL_SUCCESS","RESEND_REFERRAL_SUCCESS","API_MANAGER_SEND_CODE","SILVER_PLAN","GOLD_PLAN","DIAMOND_PLAN","BASE_PLAN","MEMO_UPDATED","DEPOSIT_TIMING","TICKET_CREATED_TIME","ALGOLIA_APP_ID","ALGOLIA_API_KEY","ALGOLIA_INDEX_NAME","AppModule","provide","useClass","multi","providers","entryComponents","bootstrap","BusinessHomeComponent","BusinessRoutingModule","BusinessModule","ConvertAmountComponent","convertService","domainService","decimalNumber","walletService","inView","casrate","conversionFeePercent","isInvalid","disableCryptoInFrom","disableFiatInFrom","disableCryptoInTo","disableFiatInTo","iscasfee","fiatCurrencies","currencyMap","Map","multiplyCryptoMap","isMinSendValueError","isMinReceiveValueError","networkTypeOptions","isAddressGenerated","thirdPartyConditionsAccepted","termsAndConditionsAccepted","isKYCRedoWithDigiLocker","hideMainPage","isOnRamp","rate","sendCurrencySymbol","selectedfeeamount","actulaconvertedamount","receiveCurrencySymbol","casSymbol","sendAmountChangeEvent","reciveAmountChangeEvent","getGivenCurrency","getRate","rateobj","minAmount","minAmountSymbol","minCASAmount","minCASAmountSymbol","rateSymbol","casRate","usdRate","currentUserPlanDetail","pathName","hash","getCurrenciesList","all","currencies","c","tradeSide","allCurrenciesInfo","defaultFromCurrency","receivercurrencyId","sendercurrencyId","defaultToCurrency","setInitialCurrencyValue","senderAmount","receiverAmount","sendertransferFeeId","networkForm","listenToCurrencyChange","payData","convertFrom","replaceAll","convertTo","fromcurrencyId","tocurrencyId","feeId","side","checkIsBuyOrSell","wallet","crypto","feeAmount","from","to","emitConvertFlowData","patchValue","emitEvent","onlySelf","isOnramp","sendCurrencyData","resetAmountvalue","getCurrencyOnRampPairList","setMapValues","findInMap","k","v","selCurr","getNewConversionForSendChange","getBrokerFees","fees","brokerFees","getOnRampPairList","onRampPairedCurrencyInfo","pairsOfRespectiveCoin","map","set","receiveCurrencyInfo","receivedAndSelectedPair","defaultNetworkType","networkValue","netValueAsName","minimumTradeAmount","networkToPassOnRamp","chainId","getOnRampRate","getWalletAddress","toFix","getNewConversionForReceiveChange","onChnageReceivedAndSelectedPair","networkInfoWithchainId","feeCalcutain","checkFeeMode","splittedNum","beforeDeci","reciverValue","getReciverPatchValue","parseFloat","transform","sendValue","getSendAmountPatchValue","brokerFeesCal","fee","casFeeCheckBalance","exchangeFeeDiscount","isSend","isMultiply","values","values4","values6","values7","values8","values9","usdVal","forInrVal","eurVal","concat","calFees","brokerFee","getMerchantRecognitionId","merchantRecognitionId","appId","onBuyFromOnRamp","walletAddress","getExchangeRateOnRamp","addressTag","srcUrl","fiatType","memo","networkVal","getCryptoAddress","address","ConvertCompletedComponent","getConvertCompletedDataEmitter","convertCompleteData","getQuoteDataEmitter","quoteData","convert","ConvertHomeComponent","activeStep","completed","createEmptyForm","amountForm","valid","emitConvertCompletedData","emitCurrencySymbolData","emitQuoteData","backRoute","onAmountFormContinue","onGoBack","convertCompleted","ConvertReviewComponent","goback","initialLoad","errormsg","timeExpired","feeCurrency","isQuote","subscription","getConvertFlowdDataEmitter","quoteDetail","getQuote","convertFlowData","getFee","getFromCurrency","getToCurrency","fromamount","toamount","resp","getQuoteDetail","submitQuoteData","quoteId","convertMoneyQuote","requestData","completeData","amountConverted","amountToConvert","fromCurrencySymbol","fromcurrencyObject","toCurrencySymbol","tocurrencyObject","getPayCurrencyById","ConvertRoutingModule","ConvertModule","ConvertService","convertFlowDataEmitter","currencySymbolEmitter","convertCompleteDataEmitter","quoteDataEmitter","userMode","fromCurrencyId","toCurrencyInfo","networkInfo","coinId","AuthStatus","BrokerStatus","CurrencyType","FiatTransactionType","HelpdeskStatus","LedgerType","NetworkType","RateType","RecipientType","Status","UserType","WalletCurrency","Enabletwofarequest","Createtwofa","enableTwoFA","FileUpload","fileId","isDeletedValid","fileActionLoader","docType","SearchFilter","AddressWhitelist","addressLabel","network","Security","emailCode","twoFaAuthCode","APIData","EmailCode","IPList","Create","callbackUrl","BusinessProfile","companyName","companyType","phoneNumber","city","postalCode","addressLine1","addressLine2","registration","website","category","subCategory","companyCategoryLabel","userRoleLabel","countryLabel","userRole","CashaaUserFeeMode","ChangeEmailRequest","currentEmail","newEmail","changeEmailToken","ChangePasswordRequest","CurrentPassword","NewPassword","ConvertMoneyRequest","toCurrencyId","feeTypeId","fromAmount","toAmount","CryptoAccountRequestModel","CurrencyTypeData","currencySymbol","DepositPlan","interestPlanId","interestOptType","CreateDepositPlan","depositData","CreateDepositAmount","deliveryMech","FiatFlow","recivercurrencyId","reciverAmount","feeAmountObject","recipientType","Pay","remark","fiatBeneficiaryId","isrecipientSkiped","accountNumber","SkipBenificry","isRecipientSkip","FiatRecipient","Recipient","iban","sortCode","fiatAddressDetailsId","typeName","RecipientDelete","recipientId","FiatAccountRequestModel","ReceiveFundRequest","ReceiveFundResponse","AddRecipientUsd","recipient","recipientAccount","beneficiaryType","googleDriveUrl","person","Person","firstName","middleName","lastName","mobile","nickname","postalAddress","PostalAddress","addressLine3","province","countryOfBirth","Account","bankName","currencyCode","routingNumber","bankCode","RecipientAccount","account","RecipientAgent","countryCode","RecipientAddGbp","fullName","accountNo","branchName","swiftCode","address1","DeleteReferral","ResetPassword","newPassword","Signup","TransferFeesByCurrencyModel","transactionAmount","transferType","isBroker","FiatInOutTransferFees","fiatTransferType","transactionType","maxAmount","otherFeeAmountInPercent","WhitelistDevice","WithdrawFundRequest","WithdrawFundResponse","CreateWithdrawRequest","toAddress","WithdrawConfirmation","AuthGuardService","sessionFlag","twofactorcode","parse","navigate","returnUrl","DomainService","fiatCurrency","uploadFile","currencytype","currencyroute","Fiat","usertype","Business","categoryId","HttpInterceptorService","headers","HEADER_SIGN_KEY","cloned","clone","handle","ModalService","mdbModalService","upgradeService","title","show","ignoreBackdropClick","beneficiarytype","addressType","userEmail","confirmBoxMesg","stakingHeading","stakingBody","customer","selectedCustomer","selectedLedgerType","earnUpto","minFlexAmount","imgSrc","backdrop","info","networkTypeValue","networkTypeLabel","currencyDetail","NavigationService","getState","navigationId","removeItem","RateWebsocketService","socketUrl","rateWebsocket","marketData","marketDataEmitter","connection","$","hubConnection","proxy","createHubProxy","start","listenToRateData","on","foundExisting","checkIfAlreadyExist","Rate","indexOf","d","From","To","shift","UserService","ValidatorUtility","validatorName","validatorValue","config","required","invalidEmailAddress","invalidPassword","invalidNumber","invalidSwiftOrBic","invalidIban","tagmaxlength","tagminlength","mobilemaxlength","mobileminlength","max50","postalcode","minlength","requiredLength","maxlength","min","max","isNumberExist","mustMatch","invalidUrl","invalidAddress","invalidFullName","invalidIPAddress","invalidLetter","invalidAlphanumeric","control","match","pattern","test","covertCasMultiplicative","controlName","matchingControlName","matchingControl","errors","setErrors","AddCustomerHomeComponent","openRecipientBrokerModal","openCustomerEditModal","addCustomer","addressdocumentTypes","identitydocumentTypes","AddCustomerModalComponent","customerService","addressProofOptions","identityProofOptions","editCustomer","invalid","customerData","isFormEdit","FormData","append","customerId","selfiefile","identityfile","addressfile","identityDocumentType","addressDocumentType","selfie","addressProof","identityProof","reset","createCustomer","emitLoadingStatus","emitCustomerAdd","customerName","phone","dob","googleDriveLink","target","files","isUploadKyc","cur","setValidators","clearValidators","updateValueAndValidity","currentCur","onCurrencyChange","onSubmit","customerType","AddCustomerComponent","customerDetail","loadCustomerDetails","updateCustomerView","getDeleteRecipientFlagEmitter","getCustomerAdd","getAllCustomers","CustomerDetailsComponent","recipientService","isloading","isloadingKYC","isOperationCompleted","recipientDelete","deleteRecipient","emitDeleteRecipientFlag","verifyRecipient","PENDING","failedCount","count","APPROVED","REJECTED","splitName","trim","toUpperCase","removeCustomer","CustomerRoutingModule","CustomerModule","CustomerService","customerAddFlag","deleteRecipientFlg","loadingStatus","customerAdd","DepositInterestAmountComponent","elementRef","renderer","depositService","referralService","progressBarWidth","interestPlanList","validInterestPlan","hideCas","defaultSelectedInkind","showMonthlyMessage","currencyBalance","feeSlabLesserThan365","feeSlabGreaterThan365","aboveTemplate","setMode","listenToInterestPlanChange","sendMoneyCurrency","selectedPlanName","parseInt","sendCurrency","loadInterestDepositPlan","getDepositInterestPlan","param","isDefault","fixedDepositCalculator","selectedItem","interestType","clienttype","clientType","totalUsdPoolSize","percentage","maxUsdPoolSize","itemElements","changes","htmlElement","getElementById","textContent","style","left","Math","round","customMobApp","enable","selectedPlan","createDepositInterest","depositInterest","getFixedDepositCalculationInterest","duration","interestEarned","interestEarnedCurrency","bonus","onsendCurrencyChangeEvent","getCurrencyBalance","DepositInterestConfirmComponent","currentDate","confirmData","setEndDate","depositPlan","createDepositPlan","setDate","getDate","submit","DepositInterestHomeComponent","createPlan","onAmount","DepositInterestRoutingModule","DepositInterestModule","DepositInterestService","DepositAmountComponent","userId","enableGBP","whiteListUserId","hideAddSender","currencySource","isGBPActive","isPremiumPlan","activeCur","getFiatCurrency","curData","getDepositStatus","Others","OnlyNumberRequiredWithFormat","deliveryMechanism","getFiatSendFees","feesData","feeInPercent","minimumFee","showErrorMsg","newValue","deposit","emitDepositAmount","minSendAmount","achAndWire","option","emitCurrencySymbolEmitter","onContinue","DepositDetailComponent","resetAll","isKycDone","getDepositAmountEmitter","getBankDetail","getKycDetail","getBusinessKycDetail","bankDetail","emitDepositDetails","getKycDetails","verified","DepositHistoryComponent","pendingList","acceptedList","getPendingHistory","getAcceptedHistory","getAllHistoryPending","getAllHistoryAccepted","getDepositHistory","DepositHomeComponent","resetRecData","SCAN","emitFiatRecipientdData","hideSenderStepper","emitDepositStatus","continueAmount","hideSender","complete","DepositRecipientComponent","selectRecipients","selected","getCurrencySymbol","getRecipents","recipentsListData","recipients","getCurrencySymbolEmitter","getRecipientList","openSendMoneyAddRecipientBusiness","openRecipientAddModal","openAddRecipient","DepositRoutingModule","DepositTransferNumberComponent","getDepositDetails","depositBankDetails","getRecipientData","datePicker","clearDate","transferNumber","remarks","receiptFile","sourceOfFund","getemitRecipientdData","fiatRecipientdData","fiatRecipientData","bankId","createDeposit","onDateChange","onFileChange","onReset","institutionlist","DepositTransferTypeComponent","insttutionListvalue","options","getInstitutinList","payousData","instiutionId","createPayousDeposit","open","paymentlink","selectedImg","find","icon","optionIcon","onBack","DepositModule","PaymentFailureComponent","PaymentSuccessComponent","DepositService","depositAmountEmitter","paymentStatus","depositDetails","feeMode","AddressComponent","eventFeeService","addressInfo","copiedAddress","copyMemoAddress","goToPreviousPage","ConfirmComponent","onConfirm","CurrencyTypeComponent","onCurrencySelection","EventFeeHomeComponent","ticketTypeList","filteredOptions","isConfirmed","isPaymentSuccess","showPersonalPage","isTicketConfirmed","startTimer","setInterval","ticketType","createdAt","created","otherDetails","dt","setMinutes","getMinutes","rs","toLocaleTimeString","hour12","currencyDetails","selectedCurrencyId","createEventPaymentAddress","paymentAddressData","personalDetails","confirmedTicketDetails","eventSubscription","mobileNo","confirmTicketDetails","select","getPersonalDetails","EventFeeRoutingModule","EventFeeModule","OtherDetailsComponent","onAddingPersonalDetails","otherDetailsForm","mobilenumber","PaymentHistoryComponent","depositHistoryData","getTicketDetails","getDepositPaymentHistory","ticketDetails","fromAddress","copiedFromAddress","copiedToAddress","copiedTransactionID","EventFeeService","TicketTypeComponent","onSelect","DepositTimerComponent","depositTime","createdTime","calTimeDiffernce","interval","curTime","currentTime","timeZone","timeDiff","strToMins","timeLeft","minutes","floor","extraSeconds","clearInterval","t","s","FiatCompletedComponent","_casCurrecnyId","casFee","isVerified","getFiatFlowData","timer","getfiatFlowPaydDataEmitter","fiatFlowData","fiatFlow","sendFee","sent","helpDeskSend","FiatFlowAmountComponent","memoError","isCashaa","casSendAmount","memoRequiredCur","deliverMechOptions","showNetworkTypeOption","isFromBeneficiary","withdrawForm","getmonthlyfreewithdrawlimit","isFeeFree","checkMinSendAmountError","minSendValue","currencyFromBeneficiary","isSendActive","gbpFound","feesCalculation","disabled","checkMemoRequirement","emitfiatFlowPaydDataEmitter","convertNewAmount","isFiatCurrency","getcryptosendfee","nativeFee","getMemoReferenceValid","isDefaultNetwork","getCurrencyName","getTransferFeeByCurrecny","transferFeesByCurrencyModel","otherFee","finalFee","_inCashaaFee","isFee","FiatFlowPayApproveComponent","getFiateData","getPayRequestData","fiatdata","storeConfirmation","skipstatus","Skiprecipent","skipApprovalRequest","requireApprovalRequest","FiatFlowPayAuthApprovalComponent","withdrawService","isTwoFactorEnable","isTwoFAInProgress","checkTwoFactorEnable","payflowdata","getCurrencyType","currecnyType","finalSubmit","sendPayRequest","senddataresponse","setTransactionId","openRecipentSkipRequiredPopup","withdrawRequestData","createWithdrawRequest","isTwoFactorEnabled","checkIfTwoFACodeIsFilled","FiatFlowRecipientAddBusinessComponent","zipcode","bankCountryId","accountType","FiatFlowRecipientComponent","isCashaaAddress","updateNetworkType","getLabelValue","FiatFlowReviewComponent","defaultAccountNo","listenToDataEmitted","minLength","markAsTouched","String","isCashaaFee","IsRecipientSkip","emitPayRequestDataEmitter","openSendMoneySecurityConfirmation","closed","r","getTransactionId","payRequestData","isMemoActive","onTransferDetailEdit","onRecipientDetailEdit","FiatFlowWrapperComponent","isRecipientSkipped","getSendMoneyRecipient","rec","sendMoneyRecipient","recipientForm","transId","emitPasswordAuthDataEmitter","onRecipientFormContinue","FiatRoutingModule","FiatModule","FiatService","fiatFlowPaydDataEmitter","recipientDataEmitter","payRequestDataEmitter","passwordAuthDataEmitter","tranId","paydata","passwordData","HelpdeskCreateTicketComponent","helpdeskService","ticketDetail","helpCategories","getHelpDeskCatagories","catagories","catagory","active","categoryName","Withdraw","Received","categoryType","getCategoryType","createHelpdeskTicket","subject","attachment","attachedFile","createHelpDesk","cat","close","HelpdeskHomeTicketComponent","loadHelpDeskData","getAllHelpDeskTickets","helpDeskData","showTicketCreate","HelpdeskRoutingModule","HelpdeskModule","HelpdeskTicketService","ticketId","InviteHomeCompletedComponent","InviteHomeEmailComponent","inviteService","emailAddress","splice","emails","recipientEmail","dto","toEmail","invitePeople","addEmailAddress","InviteHomeLinkComponent","cryptoLoading","accountDetailsCryptoData","errorMessageCrypto","getCryptoAccountDetails","copyInvite","InviteHomeComponent","InviteShareLinkComponent","isDropdownOpened","invite","refcode","input","onLinkClick","InviteModule","InviteService","inviteDto","KycHomeComponent","isButton","getUserInfo","isKycStatus","msg","userInfo","createTemporaryAccount","maskedEmail","updateScreen","KycRoutingModule","KycModule","KycService","createKycDataEmitter","createBusinessKycDataEmitter","createDirectorBusinessKycDataEmitter","kycUsPersonalMobileCode","kycUsPersonalObj","createKycData","createBusinessKycData","payment","businessId","businessKYCStakeholderId","contactData","businessUser","feedata","docId","applicationData","deleteDoc","atIndex","lastIndexOf","localPart","domain","firstTwo","lastChar","organisationType","contactType","ProfileBusinessEditComponent","profileService","businessCompany","businessRole","isDisabled","getBusinessProfileDetails","businessProfileForm","registrationNumber","subcategory","getProfileDetails","profile","patchFormWithProfile","initialValueCountry","editProfileData","updateBusinessProfile","ProfileBusinessComponent","editProfile","sink","getProfileDetail","getOrganisationType","profileName","org","cont","editDetails","ProfileHomeComponent","openBusinessProfileModal","ProfilePersonalComponent","ProfileRoutingModule","ProfileModule","ProfileService","categoryIdDataEmitter","updateProfileData","ReceiveFundComponent","zone","receiveService","createReceiveFund","UserBalance","receiveFundData","run","serviceResponse","selBox","position","top","opacity","execCommand","OnCurrencySelect","ReceiveRoutingModule","ReceiveModule","ReceiveService","RecipientAddBankaccountComponent","recipientAddForm","ibanOrSortCode","cryptoAddress","cryptoEmail","cryptoPassword","savingAccountType","RecipientAddComponent","addressWhitelistService","twofactor","currecncyId","savingAcTypesList","setPremiumStatus","changeCurr","editBrokerCustomer","getKycUploadFile","initialValueSortCode","getCurrencies","selectedCurr","defaultNetwork","swiftOrBic","postCode","accountCurrencyCode","cryptoMemo","tempCurrency","agentCode","agentCountryCode","UrlValidator","OnlyAphaNumericRequired","AddressCASValidator","AddressETHUSDTValidator","BitcoinAddressValidator","fillFormCustomerData","addressWhitelistData","addCryptoAddress","address2","address3","recipientData","addRecipientRequestUsd","emitaddRecipientFlag","recipientAddGbp","addRecipientRequest","IbanRegexGBP","swiftOrBicRegex","editCustomerUSD","addressWhitelist","emitAddressWhitelistData","RecipientAddressConfirmationComponent","fiatCurr","getTokenFromURL","ConfirmationToken","onWithdrawAddressConfirmation","withdraw","withdrawAddressConfirmation","RecipientHomeComponent","getSubscriptionPlanData","getPremiumStatus","RecipientListComponent","recipientList","bankAccounts","cryptoAccount","UpdateRecipentView","getaddRecipientFlagEmitter","reqData","RecipientRoutingModule","RecipientModule","RecipientComponent","emitSendMoneyRecipient","getCurrency","networkTypeLable","openUpdateMemoModal","RecipientService","addReceipientFlagEmitter","addrecipientdata","addrecipientusddata","UpdateMemoComponent","updateMemoForm","updateMemo","ReferralRoutingModule","ReferralModule","ReferralComponent","commonDataService","statementService","isBase","isSilver","isGold","isDiamond","basePlans","silverPlans","goldPlans","daimondPlans","allPlans","highLTVRate","exchangeCashback","earnBenefits","additionalBenefits","basePlanDesc","silverPlanDesc","goldPlanDesc","diamondPlanDesc","allplanCasBonus","basePlanNameId","silverPlanNameId","goldPlanNameId","diamondPlanNameId","cryptoCurrencyWithMaxRate","fiatCurrencyWithMaxRate","stableCurrencyWithMaxRate","fixedDepositData","pageSize","pageIndex","filterOptions","planData","percent","viewDetails","radioOptionToShow","environmentOrigin","getEnvironmentOrigin","referralCalculatorForm","referralInvest","getReferralInterest","loadReferralList","getAllPlanInfo","getReferralInfo","referralInfo","isDeleteOrResend","deleteReferral","referralInvitation","toemail","recipientemail","sendReferralInvitation","getReferralList","referralData","totalCount","totalPageSize","totalPageCount","hasPreviousPage","hasNextPage","userCurrentPlan","getAllPlansDetails","plans","cryptodiamondPlan","ele","currencyNature","loyaltyPlanNameId","cryptoMaxRate","kindRate","cryptoMax","cryptoCurrWdMax","allPlanofCurr","fiatDiamondPlan","fiatMaxRate","fiatMax","fiatCurrWdMax","allFiatPlanofCurr","stableDiamondPlan","stableMaxRate","stableMax","stableCurrWdMax","allStablePlanofCurr","getFDByCurrencyId","getByDepositFDCurrency","getStatementList","ws","json_to_sheet","wb","book_new","book_append_sheet","interestInUSD","referalInterestInUSD","onCurrencyTypeChange","calculateFixedDepositEarning","copyReferralCode","ReferralService","page","sendInvitation","formValue","WithdrawConfirmationComponent","onWithdrawConfirmation","withdrawConfirmation","SettingsService","createkey","mode","SettingCloseAccountComponent","settingsService","isOpen","firstScreen","secondScreen","thirdScreen","fourthScreen","selectedIndex","requirements","feedback","isOtherTextBox","otherText","reason","closeAccount","checked","agreement","collapsed","collapses","el","toggle","SettingEmailConfirmComponent","key","encodeURIComponent","decodeURIComponent","decodeVal","decodeKey","newmail","oldmail","changeEmail","clear","SettingInterestChoiceComponent","showForm","interestModelist","isCollapsed","setting2FA","getUserinterestMode","interestChoiceId","inKindChoiceId","choiceType","obj","inCasChoiceId","createInterestChoice","getUserInterestModeList","resData","interestMode","interestChoiceName","onInterestChoiceFormSubmit","SettingsRoutingModule","SettingsEmailComponent","useremail","collapse","onEmailChangeFormSubmit","SettingsFeeComponent","getUserFeeMode","ufeeMode","userFreeModeValue","updateUserMode","getUserFeeModeList","getUserFeeModeLabel","onFeeChangeFormSubmit","SettingsHomeComponent","user","SettingsPasswordComponent","oldpassword","newpassword","changePassword","refreshToken","passwordValid","onPasswordFormSubmit","SettingsSubscriptionPlanComponent","subscriptionPlan","SettingsTwoFactorAuthComponent","domTest","userEmailId","twofaBoxEnable","navigationKeys","getTwoFaAuth","getkey","createKey","createTwoFaAuth","google2fa","secrateKey","blob","fileUrl","bypassSecurityTrustResourceUrl","disableTwofaCode","disableTwoFa","enablegoogleAuth","onAuthFormSubmit","ctrlKey","metaKey","preventDefault","SettingsModule","NumDecimalDirective","elemRef","ve","OnlyNumber","shiftKey","valInFloat","minValue","maxValue","DecimalPlaces","currentCursorPos","selectionStart","dotLength","decimalLength","AccessRestrictedComponent","AccountBoxComponent","selectedCrypto","isLoadingMDBAccordionBody","allCurrenciesPlan","currencyDepositRate","maxInterestModeRate","nonBankingFiatCurrency","excludeCryptoDisable","currencyDepositRateLessThanEqual365","currencyDepositRateGreaterThan365","openEarnPlanDetailPopup","availableBalance","openCurrencyPair","currencynature","onConvertClick","openEarnPlan","callBuyOrSellConditionally","onSendClick","AccountBoxMobileComponent","stopPropagation","$event","BalanceBoxComponent","emitCurrency","allCurrencyInfo","getLockedAmountByCurrency","lockedInfo","goToAccount","selectCurrency","ConfirmationBoxComponent","onClick","CurrencyBoxComponent","cd","clicked","currencyName","currentRate","listenToResetData","subReset$","sub$","listenToMarketData","getMarketDataEmitter","detectChanges","onCurrencySelect","CurrencyPairsComponent","isLoader","getOnrampCurrencyPairs","getNewOnRampPairList","selectedPair","selIndex","coinCode","FormInputCurrencyComponent","placeholder","changed","listenToValueChange","setLimits","prev","propertyName","hasOwnProperty","GetValidatorErrorMessage","FormInputDirectorRoleComponent","getDirectorRoleList","getRoles","directorRolesList","role","FormInputFileComponent","fileUploadStatus","isFileUploadCompleted","isDeletedActive","deleteFile","humanizeBytes","nativeFile","emitKycUploadFile","output","findIndex","dragOver","onUploadOutput","FormInputSortcodeComponent","input1","input2","input3","showPassword","isPasswordType","touched","inputSecond","inputThird","fullValue","FormInputComponent","eye","isFile","onlyValue","validKeyCodes","dirty","emailFocus","isEmailError","transformNumber","decimalPoint","FormSelectAccounttypeComponent","getAccountList","source","Admin","getSubscription","subscriptionPlans","addOtherOption","FormSelectActivityTypeFilterComponent","SPECIAL_EMAIL_FOR_ROLLING","selectedOption","FormSelectBalanceComponent","balances","allBalances","isMobile","filterBalance","selectedBalance","filterOutSelectedBalance","FormSelectBusinessCategoryComponent","getBusinessCategoryList","onValueChange","FormSelectCountryComponent","isRequired","initValFlag","countries","getCountriesList","filterValue","setInitialValue","onCountryChange","phoneCode","FormSelectCurrencyPairComponent","getCurrencyPairList","setCurrency","getCurrencyPairListById","toSymbol","fromSymbol","FormSelectCurrencySymbolComponent","changeIsLoading","getCurrencyList","Crypto","setCurrencies","FormSelectCurrencyComponent","isFDActive","emitFiatCurrency","FormSelectFilterComponent","FormSelectHelpdeskCategoryComponent","getHelpdeskCategoryList","FormSelectNetworkTypeComponent","onRamp","sourceData","fillData","selectedValue","fuc","o","pop","FormSelectPhonecodeComponent","getCountriesCode","FormSelectPlanComponent","sendCurrencyChangeEvent","reciveCurrencyChangeEvent","showBalance","noInput","noAccountCurrency","isRecipientComponent","originalCurrencies","originalCurrentCurrencies","searchPlan","searchTerm","send","controlCurrencyVal","attachValidatorsToControl","sendCurrencySymb","recivedCurrencySymb","charAt","balanceDetail","amountControl","isDepositActive","isSendModule","excludeCurrencies","setCurrencyValue","currencyControl","validatorsArr","amountControlName","MaxForConvert","MinForConvert","minFDAmount","dropdownInfoList","isSendConvert","addAddress","endsWith","substring","isConvertModule","isSendInput","actualValue","substr","fromCharCode","numberOnly","validCurrencies","FormSelectTransferCurrencyComponent","onChangeAmountField","currencyPlaceholder","searchCurrency","isBorrowActive","isRecieveConvert","resReceCurr","some","element","resSendConvert","FormSelectTransferTypeComponent","Onfeechangeevent","transferFees","getTransferTypeList","currentValue","previousValue","transferFeeId","transferFeesList","selectedFee","FormSelectWithdrawAddressComponent","getWithdrawAddressSymbolEmitter","getWithdrawAddressList","FormSelectComponent","FormTextareaComponent","GoogleAuthBoxesComponent","updateCode","removeAuthBoxesError","MessageBoxComponent","NavbarComponent","signIn","NotFoundComponent","currentUserId","getRoute","PasswordStrengthComponent","passwordStrength","colors","p","force","regex","lowerLetters","upperLetters","numbers","symbols","flags","passedMatches","passwordToCheck","setBarColors","getColor","checkStrength","color","pwdStrength","errorShow","col","n","RecipientBoxComponent","isNew","netwrkLabel","SidenavComponent","stakingURL","activeStaking","isBasicPlan","username","getIsFirstKycCall","setIsFirstKycCall","logout","SocialMediaComponent","template","styles","TermsAndConditionsComponent","TimerComponent","time","noExpiry","expire","expired","isRecipient","resetTime","intervalId","UnauthorizedComponent","UnderMaintenanceComponent","WarningMemoBoxComponent","memoOrTag","XrpOrREP","SafePipe","domSanitizer","CommonSavedData","confirmationBoxStatus","isFirstKycCall","stakingUrl","SharedModule","UI_SWITCH_CONTROL_VALUE_ACCESSOR","useExisting","SwitchComponent","size","change","labelOn","labelOff","_","_checked","_disabled","_reverse","fn","GenerateStatementComponent","loadFixedDepositStatement","loadStatementData","statementData","getFixedDepositStatementList","onSearchTextChanged","exportStatement","StatementService","StatementRoutingModule","StatementModule","SwapService","SwapHomeComponent","swapService","receivedBalance","walletEnum","getAddress","getList","walletOptions","walletType","ev","getDepositAddress","depositAddress","getReceivingWallet","receivingWallet","listData","copiedValue","submitReceivingWallet","resendVerificationEmail","SwapRoutingModule","SwapModule","TradeService","tradeChangeEmitter","TradeBuyFormComponent","tradeService","fromCurrency","toCurrency","resetCurrencyPrices","convertCurrencyRates","newAmount","emitTradeData","emitTradeChange","onToCurrencyChange","onFromCurrencyChange","onFromCurrencyAmountChange","onToCurrencyAmountChange","TradeBuySellConfirmationComponent","listenToTradeDataChange","getTradeChangeEmitter","tradeData","TradeBuySellTabsComponent","shownTab","activeTabIndex","onTabChange","TradeHomeComponent","TradeRoutingModule","TradeSellFormComponent","TradeModule","EarnPlanDetailsComponent","highestEarnUpto","currentPlanUserDetail","casDepositRates","casDepositRatesGreaterThan365","casDepositRatesLessThan365","subscribeUnsubscribe","PlanDetailsComponent","cryptoFixedDepoistRate","fiatFixedDepoistRate","stableFixedDepoistRate","cashaaFixedDepoistRate","getPlanListDetails","getInterestList","borrowBenefit","exchangeBenefits","base","silver","gold","diamond","getDepositCurrency","getAllCurrencyDepositInterest","allCryptoRate","allFiatRate","allStableCoinRate","cashaa","maxCryptoRate","maxCryptoWithInKindB","reduce","current","currentSum","inKindPlanB","maxSum","maxCryptoWithInKindD","inKindPlanD","maxCryptoRateCoins","inKindPlanA","inKindPlanC","maxFiatRate","maxFiatRateCoins","maxStableRate","maxStableWithInKindB","maxStableWithInKindD","maxStableRateCoins","maxCashaaRate","maxCashaaRateCoins","getPlanList","planDetails","UserPlanRoutingModule","UserPlanModule","BorrowComponent","creditError","amountAfterLoanAvailed","lockedCurrency","minAmountError","isBorrowMore","zeroMoreDesc","showUpgradeOption","loanAmountInUSD","borrowInSameCurrency","totalCreditInUSD","minLoanAmount","sortNoInterestRate","getDailyInterestRate","totalAvailableCreditInUSD","pathname","borrowedCurrency","getLockedAmount","getLockedCurrencyAmount","amountBeforeLoan","amountAfterLoan","dailyInterestCharged","annuallyInterestCharged","isInterestFetch","setLoanDetails","getCreditLineAmout","getCreditLineQuote","dailyInterest","approxDailyInterest","CreditLineComponent","loanAmount","twoFAOTPCode","emailOTPCode","getCreditLoan","ReviewSecurityVerificationComponent","allEmailCodeEntered","totalLockedAmount","loanData","totalCredit","afterLockedAmount","creditLineLockedCurrency","totalAmountBorrowed","totalAmountBorrowedInUSD","amountBorrowedSymbol","checkIfEmailCodeIsFilled","emailOTPInputs","sendEmailOTP","CurrencyAssetsComponent","instantSearchService","localBankFiatCurrencyList","allCurrencyList","accountBankFiatCurrencyList","cryptoBankFiatCurrencyList","hideZeroBalance","tempFiat","tempCrypto","excludeFiatCurrencies","localBankLoading","copiedMemo","selectedLocalBank","selectedAccountBank","showCryptoTopBtn","getSelectedStatusChange","creditLineList","currencyByUSD","isBorrowEnabled","isEarn","searchQuery","getAllCurrencies","Boolean","screen","width","getCreditLine","query","search","isAddressAuthorised","getCreditLines","creditlineData","creditLines","userCreditBalance","usercreditbalance","earninterestbalance","isBalance","isBalanceAvailable","sort","crytp","cryptoSection","scrollIntoView","behavior","block","foundCrypto","lc","scroll","popDetails","selectedTabsIndex","staticTabs","tabs","className","collapsesCrypto","sbItemBody","bodyEl","height","visibility","networkDetails","getNetworks","onSearch","callToGetCryptoAddress","createCryptoAddress","currencyData","currencyToEmit","emitCurrencySymbol","contract","tokenContract","tronAddress","accountDetailsETHCryptoData","excludeCurr","allNetworkType","allCurrenciesWithNetworkType","tabData","getTabHeaderData3","loyalityPlan","getInterest","openCreditLine","trade","showEarnBorrow","filterNonZeroBalance","LoanDetailsComponent","loanDetails","loanRepaymentHistoryInfo","loanId","atob","getLoanDetailsByLoanId","getLoanRepaymentHistory","getLoanDetailsById","repayment","LoanInterestComponent","intrestList","interestonLoan","getInterestDeductionOnLoan","getInterestDeductionAgainstLoan","LoanRepaymentComponent","payToCloseLoan","availableCurrencyCreditWallet","allCurrencyBalance","loanDetailsForm","getLoanRepaymentDetails","getOutstandingAndFeeAmount","amountIncludeFee","savingWalletOnHold","toLockedCurrencyAmount","actualOutstandingAmount","getCrediWalletAmount","getUserSavingBalance","result","creditWalletForSelectedCurrency","remainingAmount","getLockedCurrencyByLoanId","getLoanRepaymentData","loanRepaymentDetails","outstandingLoanBeforeRepay","outstandingLoan","getOutStandingAmount","outStandingAmount","outstandingLoanAfterRepay","feeAmountSymbol","repay","lockedDetails","isPayable","PortfolioHistoryComponent","getPorfolioHistory","portfolioData","RepayComponent","creditLoanList","getLoanList","getCreditLoanList","btoa","loanNumber","InstantSearchService","searchClient","initIndex","WalletService","walletCurrency","loanid","WalletDashboardComponent","accountBankLoading","isPersonalKycVerified","isBusinessKycVerified","temp","getPersonalKycDetail","usdKycStatus","usdButtonRoute","getAccountDetailsByCurrency","foundAccount","collapsesAccount","getAccountDetailsByAccountCurrency","inputCurrencyCrypto","OpenCryptoAccount","getCryptoCurrency","fiatCurrencyList","tempFiatCurrList","unshift","accountDetailsByCurrencyData","isEarnAndFixedDepositActive","isFixedDepositEnable","loadFixedDepositRate","isFixedDepositAndEarnEnable","getPlanDetailsByCurrencyId","diamondPlan","savingInterest","trunc","rates","earnRate","animate","scrollTop","srcElement","offsetParent","offsetTop","accountDetailsByAccountCurrencyData","savingRate","isEarnModuleNotActive","personalKycVerifiedInfo","getTabHeaderData1","WalletOpenComponent","fiatCurrencyOptions","OnOpenAccountClick","WalletPageComponent","WalletReadyComponent","currencySymbolLoad","getEmittedCurrency","inputCurrencyFiat","openFiatAccount","openPersonalFiatAccount","WalletRoutingModule","WalletModule","WithdrawService","adressWhitelistDataEmitter","withdrawAddressDataEmitter","withdrawFundData","withdrawConfirmationData","WithdrawAddressWhitelistComponent","createAddressWhitelistForm","cryptoCurrencyList","WithdrawFundComponent","createWithdrawFund","notes","amountToTransfer","alert","BalanceResponse","userBalance","emitWithdrawAddressSymbolEmitter","WithdrawRoutingModule","WithdrawModule","environment","production","CASHAA_USER_ID_TRC_ENABLED","bootstrapModule"],"mappings":"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E;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AAA6D;;AAAkC;;AAC/F;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACA;;AAAiD;;AAAI;;AACvD;;AACF;;AACA;;AAAwD;;AAAqC;;AAC7F;;AACE;;AAGA;;AAGF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACA;;AAAiD;;AAAM;;AACzD;;AACF;;AACA;;AAAoE;;AACpE;;AACA;;AACE;;AAGA;;AAGA;;AAIA;;AAKA;;AAiBF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACA;;AAAiD;;AAAI;;AACvD;;AACF;;AACA;;AAAwD;;AAAqC;;AAC7F;;AACE;;AAIA;;AAKA;;AAKA;;AAWA;;AASF;;AAEF;;AACA;;AACE;;AACE;;AACE;;AACA;;AAAiD;;AAAO;;AAC1D;;AACF;;AACA;;AAAwD;;AAAwC;;AAChG;;AACE;;AAIA;;AAKA;;AAKA;;AAYA;;AASF;;AAWF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AACA;;AACE;;AAA2B;;AAAc;;AACzC;;AAAuC;;AAAa;;AACtD;;AACF;;AACA;;AAiDA;;AACE;;AACE;;AACF;;AACF;;AACA;;AAiBA;;AAiBA;;AACE;;AACE;;AACF;;AACA;;AACE;;AAAM;;AAAG;;AAA8B;;AACzC;;AACA;;AACE;;AAAM;;AAAG;;AAA8B;;AACzC;;AACA;;AACE;;AAAM;;AAAG;;AAA8B;;AACzC;;AACA;;AACE;;AAAM;;AAAG;;AAA8B;;AACzC;;AACF;;AACA;;AAqBF;;AAkBA;;AAAuB;;AAAmC;;AAE1D;;AACE;;AACE;;AACA;;AACE;;AAA2B;;AAAoB;;AAC/C;;AAAuC;;AAAuB;;AAChE;;AACF;;AACA;;AACE;;AACE;;AACF;;AACA;;AAQF;;AACA;;AACE;;AACE;;AACF;;AACA;;AAGF;;AACA;;AACE;;AACE;;AACF;;AACA;;AAGF;;AACA;;AACE;;AACE;;AACF;;AACA;;AAGF;;AACA;;AACE;;AACE;;AACF;;AACA;;AAGF;;AAKF;;AACA;;AACE;;AA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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { UpgradeAccountPremierStakingComponent } from \"./upgrade-account-premier-staking/upgrade-account-premier-staking.component\";\r\nimport { AccountUpgradeSubscriptionComponent } from \"./account-upgrade-subscription/account-upgrade-subscription.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nimport { StakingHomeComponent } from \"./staking-home/staking-home.component\";\r\nimport { StakingTimelineComponent } from \"./staking-timeline/staking-timeline.component\";\r\n\r\n// const routes: Routes = [];\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"subscription\",\r\n children: [\r\n {\r\n path: \"plan\",\r\n component: AccountUpgradeSubscriptionComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"premier-staking\",\r\n component: UpgradeAccountPremierStakingComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n // {\r\n // path: \"staking\",\r\n // component: StakingHomeComponent,\r\n // canActivate: [AuthGuardService],\r\n // },\r\n {\r\n path: \"staking/timeline\",\r\n component: StakingTimelineComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AccountUpgradeRoutingModule {}\r\n","import { APP_ROUTES, SUBSCRIPTION_BUSINESS_PLAN, SUBSCRIPTION_PERSONAL_PLAN } from \"src/app/app.constants\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { SubscriptionPlans, UserSubscriptionPlan } from \"./../../core/models/account-upgrade/subscription-plan-response\";\r\nimport { AccountUpgradeService } from \"./../services/account-upgrade.service\";\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { SubSink } from \"subsink\";\r\nimport { USER_TYPE } from \"src/app/app.constants\";\r\nimport { ActivityService } from \"src/app/activity/services/activity.service\";\r\nimport { KycService } from \"src/app/kyc/services/kyc.service\";\r\nimport { IPaymentFeesDetail, IUpgradePayment } from \"src/app/core/models/kyc-us-personal/us-personal\";\r\n\r\n@Component({\r\n selector: \"cashaa-account-upgrade-subscription\",\r\n templateUrl: \"./account-upgrade-subscription.component.html\",\r\n styleUrls: [\"./account-upgrade-subscription.component.scss\"],\r\n})\r\nexport class AccountUpgradeSubscriptionComponent implements OnInit, OnDestroy {\r\n upgradeForm: FormGroup;\r\n subscriptionPlanResponse: SubscriptionPlans[];\r\n userType: string;\r\n isBrokerBtnVisible: boolean = false;\r\n isUSBtnVisible: boolean = false;\r\n isReserveBtnVisible: boolean = false;\r\n isUKBtnVisible: boolean = false;\r\n isEuroBtnVisible: boolean = false;\r\n subsink = new SubSink();\r\n loading: boolean;\r\n usdButtonText: string;\r\n usdButtonDisable: boolean;\r\n usdStatus: number;\r\n currentPlanDetails: UserSubscriptionPlan;\r\n cryptoButtonText: string;\r\n isPremuimPlan: boolean = false;\r\n premuimFeesDetails:IPaymentFeesDetail\r\n constructor(\r\n private fb: FormBuilder,\r\n private upgardeService: AccountUpgradeService,\r\n private modalService: ModalService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private activityService: ActivityService,\r\n private kycService: KycService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (params[\"highlight\"]) {\r\n this.modalService.openPersonalModal(false);\r\n } else if (params[\"highlightBusiness\"]) {\r\n this.modalService.openPersonalModal(true);\r\n this.isUSBtnVisible = true;\r\n }\r\n });\r\n\r\n this.userType = sessionStorage.getItem(USER_TYPE);\r\n this.getUsdStatus();\r\n this.getActionSubscriptionPlan();\r\n\r\n this.kycService.getPremuimFeesDetail().subscribe(\r\n (res) => {\r\n if (res) {\r\n this.premuimFeesDetails = res;\r\n }\r\n }\r\n );\r\n }\r\n\r\n createForm(): void {\r\n this.upgradeForm = this.fb.group({});\r\n }\r\n\r\n /**\r\n * Get the user subscription plan\r\n */\r\n getSubscriptionPlan(): void {\r\n this.upgardeService.getSubscriptionPlan(4).subscribe((list) => {\r\n this.subscriptionPlanResponse = list;\r\n });\r\n }\r\n\r\n getUsdStatus(): void {\r\n this.loading = true;\r\n this.usdButtonDisable = false;\r\n let filterData = {\r\n activityType: \"14\",\r\n fromDate: \"\",\r\n toDate: \"\",\r\n symbol: [],\r\n searchText: \"\",\r\n };\r\n\r\n this.activityService.getRecentTransactions(filterData).subscribe((res) => {\r\n if (res.length !== 0) {\r\n this.usdButtonText = \"\";\r\n this.usdButtonDisable = true;\r\n this.loading = false;\r\n } else {\r\n this.upgardeService.usdStatus().subscribe(\r\n (flag) => {\r\n this.usdStatus = flag.status;\r\n switch (flag.status) {\r\n case 1:\r\n this.usdButtonText =\r\n this.userType == \"4\" ? \"Apply\" : \"Get Usd Account\";\r\n this.cryptoButtonText = \"Complete KYC\"\r\n break;\r\n\r\n case 2:\r\n this.usdButtonText = \"Update KYC Details\";\r\n this.cryptoButtonText = \"Complete KYC\"\r\n break;\r\n\r\n case 3:\r\n this.usdButtonText = \"KYC in Progress\";\r\n this.cryptoButtonText = \"KYC in Progress\"\r\n break;\r\n\r\n case 4:\r\n this.usdButtonText = \"Update KYC Details\";\r\n this.cryptoButtonText = \"KYC Failed\"\r\n break;\r\n\r\n case 5:\r\n this.usdButtonText = \"KYC in Progress\";\r\n this.cryptoButtonText = \"Verified\"\r\n break;\r\n\r\n case 6:\r\n this.usdButtonText = \"Account Creation in Progress\";\r\n this.cryptoButtonText = \"Verified\"\r\n this.usdButtonDisable = true;\r\n break;\r\n\r\n case 7:\r\n this.usdButtonText = \"\";\r\n this.cryptoButtonText = \"Verified\"\r\n this.usdButtonDisable = true;\r\n break;\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n // tslint:disable-next-line: typedef\r\n onSubmitPremier(flag: boolean, plan?: string) {\r\n if (this.usdStatus !== 1 && !flag) {\r\n this.router.navigateByUrl(\"/kyc/US/personal\");\r\n } else if ((this.usdStatus !== 1 && flag) || (flag && plan === \"Crypto\")) {\r\n this.router.navigateByUrl(`/kyc/business?plan=${plan}`);\r\n } else {\r\n if (plan) {\r\n this.router.navigateByUrl(`/kyc/business?plan=${plan}`);\r\n } else {\r\n this.modalService.openPersonalModal(flag);\r\n }\r\n }\r\n }\r\n\r\n getBroker(): void {\r\n this.router.navigateByUrl('/payment');\r\n }\r\n\r\n showBrokenButton(): void {\r\n if (this.isBrokerBtnVisible) {\r\n this.isBrokerBtnVisible = false;\r\n } else {\r\n this.isBrokerBtnVisible = true;\r\n }\r\n }\r\n\r\n showUKButton(): void {\r\n if (this.isUKBtnVisible) {\r\n this.isUKBtnVisible = false;\r\n } else {\r\n this.isUKBtnVisible = true;\r\n }\r\n }\r\n\r\n showUSButton(flag): void {\r\n this.isUSBtnVisible = flag;\r\n }\r\n showReserveButton(): void {\r\n if (this.isReserveBtnVisible) {\r\n this.isReserveBtnVisible = false;\r\n } else {\r\n this.isReserveBtnVisible = true;\r\n }\r\n }\r\n\r\n showEuroButton(): void {\r\n if (this.isEuroBtnVisible) {\r\n this.isEuroBtnVisible = false;\r\n } else {\r\n this.isEuroBtnVisible = true;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subsink.unsubscribe();\r\n }\r\n\r\n getActionSubscriptionPlan() {\r\n this.upgardeService.getUserActionSubscriptionPlan().subscribe((data: UserSubscriptionPlan) => {\r\n if (data) {\r\n this.currentPlanDetails = data;\r\n if (this.userType === '4') {\r\n if (SUBSCRIPTION_PERSONAL_PLAN.PREMIUM === this.currentPlanDetails.planName) {\r\n this.isPremuimPlan = true;\r\n }\r\n } else {\r\n if (SUBSCRIPTION_BUSINESS_PLAN.PREMIUM === this.currentPlanDetails.planName) {\r\n this.isPremuimPlan = true;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
Choose your subscription plan
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n

Personal Wallet

\r\n

Business Wallet

\r\n

\r\n Only for personal use, no third-party payments\r\n

\r\n
\r\n 0Monthly\r\n Fees\r\n
\r\n
    \r\n
  • Zero processing fee
  • \r\n
  • Wallet for cryptocurrencies and stablecoins
  • \r\n
  • Wallet for 10 national fiat currencies
  • \r\n
  • Earn up to 36% interest on crypto and fiat
  • \r\n
  • Deposit and withdraw from your own bank account
  • \r\n
  • Crypto to crypto and fiat to crypto exchange
  • \r\n
  • Crypto exchange fee 1%
  • \r\n \r\n
\r\n\r\n
\r\n

Active

\r\n
\r\n
\r\n
\r\n

Premium Wallet

\r\n

\r\n Premium Wallet\r\n\r\n

\r\n
\r\n 0Monthly Fees\r\n
\r\n
    \r\n
  • \r\n Application and set-up fee of {{premuimFeesDetails?.feeInEUR | number}} {{premuimFeesDetails?.fiatFeeSymbol}} or its equivalent in {{premuimFeesDetails?.casFeeSymbol}}\r\n
  • \r\n\r\n \r\n\r\n
  • Third-party payments are allowed
  • \r\n
  • KYC and AML service for your customers
  • \r\n
  • Wallet for cryptocurrencies and stablecoins
  • \r\n
  • Wallet for 10 national fiat currencies
  • \r\n
  • Earn up to 36% interest on crypto and fiat
  • \r\n
  • Deposit and withdraw from any bank account
  • \r\n
  • Crypto to crypto and fiat to crypto exchange
  • \r\n
  • Crypto exchange fee 0.50%
  • \r\n\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n

Active

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Interested in opening a dedicated bank account?
\r\n

More than 400 crypto companies are using us worldwide.

\r\n

Apply for a business bank account for your company.

\r\n Book a meeting\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n","import { AccountUpgradeRoutingModule } from \"./account-upgrade-routing.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { SharedModule } from \"./../shared/shared.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { AccountUpgradeSubscriptionComponent } from \"./account-upgrade-subscription/account-upgrade-subscription.component\";\r\nimport { UpgradeAccountPremierStakingComponent } from \"./upgrade-account-premier-staking/upgrade-account-premier-staking.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { ReserveModalComponent } from \"./reserve-modal/reserve-modal.component\";\r\nimport { StakingHomeComponent } from \"./staking-home/staking-home.component\";\r\nimport { StakingTimelineComponent } from \"./staking-timeline/staking-timeline.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n AccountUpgradeSubscriptionComponent,\r\n UpgradeAccountPremierStakingComponent,\r\n ReserveModalComponent,\r\n StakingHomeComponent,\r\n StakingTimelineComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n AccountUpgradeRoutingModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ToastrModule.forRoot(),\r\n ],\r\n})\r\nexport class AccountUpgradeModule {}\r\n","import {\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n BUSINESS_UPGRADE_SUBSCRIPTION,\r\n PERSONAL_UPGRADE_SUBSCRIPTION,\r\n UNABLE_TO_PERFORM_ERROR,\r\n USER_TWO_FACTOR_CODE,\r\n USER_TYPE,\r\n} from \"src/app/app.constants\";\r\nimport { IUpgradeSubscriptionRequest } from \"src/app/core/models/account-upgrade/upgrade-subscription-request\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { AccountUpgradeService } from \"../services/account-upgrade.service\";\r\nconst reservceBalance = require(\"../../../assets/json/reserveBalance.json\");\r\n@Component({\r\n selector: \"cashaa-reserve-modal\",\r\n templateUrl: \"./reserve-modal.component.html\",\r\n styleUrls: [\"./reserve-modal.component.scss\"],\r\n})\r\nexport class ReserveModalComponent implements OnInit {\r\n /** is some network call in progress */\r\n isInProgress = false;\r\n twoFactor = false;\r\n userEmail?: string;\r\n errorMessageFlag = false;\r\n errorMessage = \"\";\r\n response = \"\";\r\n isLoading = true;\r\n currFlag;\r\n allCodeEntered = false;\r\n reserveBalance;\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n errorMsg: string;\r\n balanceError: boolean;\r\n balanceErrorMsg: string;\r\n isBusiness: boolean;\r\n isStaking: boolean;\r\n stakingHeading: string;\r\n stakingBody: string;\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n public form: FormGroup;\r\n constructor(\r\n private fb: FormBuilder,\r\n public modalRef: MDBModalRef,\r\n private toastrService: ToastrService,\r\n private accountUpgradeService: AccountUpgradeService,\r\n private userService: UserService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n referralCode: \"\",\r\n });\r\n this.reserveBalance = reservceBalance;\r\n this.userService.getUserBalance().subscribe((balance) => {\r\n const found = balance.filter((b) => b.currencyType === \"CAS\");\r\n if (\r\n found.length === 0 ||\r\n found[0].available < this.reserveBalance.value\r\n ) {\r\n this.balanceError = true;\r\n this.balanceErrorMsg =\r\n \"Minimum balance required is 10,000. Please deposit the amount.\";\r\n } else {\r\n this.balanceError = false;\r\n }\r\n });\r\n //set GBP as default currency\r\n const idToken = sessionStorage.getItem(USER_TWO_FACTOR_CODE);\r\n if (idToken === \"true\") {\r\n this.twoFactor = true;\r\n }\r\n }\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {\r\n this.errorMessageFlag = false;\r\n let formV = this.form.value;\r\n\r\n let request: IUpgradeSubscriptionRequest = {\r\n code: this.code.join(\"\"),\r\n referalcode: formV.referralCode,\r\n };\r\n this.isInProgress = true;\r\n if (this.isStaking && !this.isBusiness) {\r\n this.accountUpgradeService.createStakingPersonal(request).subscribe(\r\n (res) => {\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.response = \"\";\r\n this.toastrService.success(PERSONAL_UPGRADE_SUBSCRIPTION);\r\n this.router.navigateByUrl(\"subscription/staking/timeline\");\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n this.code = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n this.allCodeEntered = false;\r\n if (err.error.message) {\r\n this.errorMessageFlag = true;\r\n this.errorMsg = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n } else {\r\n this.accountUpgradeService.upgradeSubscriptionPlan(request).subscribe(\r\n (res) => {\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.response = \"\";\r\n this.toastrService.success(BUSINESS_UPGRADE_SUBSCRIPTION);\r\n if (this.isStaking) {\r\n this.router.navigateByUrl(\"subscription/staking/timeline\");\r\n } else {\r\n this.router.navigateByUrl(\r\n this.isBusiness ? \"/kyc/business\" : \"/kyc/US/personal\"\r\n );\r\n }\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n this.code = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n this.allCodeEntered = false;\r\n if (err.error.message) {\r\n this.errorMessageFlag = true;\r\n this.errorMsg = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n removeError(): void {\r\n if (this.errorMessage !== undefined) {\r\n this.errorMessage = undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfCodeIsFilled(idx: number): void {\r\n this.errorMsg = \"\";\r\n if (idx >= 0 && idx < 5 && this.code[idx]) {\r\n this.inputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n this.allCodeEntered = true;\r\n this.code.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allCodeEntered = false;\r\n }\r\n });\r\n if (this.code[5] && idx === -1) {\r\n this.inputs.toArray()[5].nativeElement.focus();\r\n }\r\n }\r\n\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onCodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.code = pastedText.split(\"\");\r\n this.checkIfCodeIsFilled(-1);\r\n }\r\n }\r\n\r\n removeBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.inputs.toArray()[index].nativeElement.focus();\r\n }\r\n }\r\n}\r\n","
\r\n \r\n

\r\n {{isBusiness ? 'USD Account Onboarding Fee' : 'Stake to Open a USD Account & Earn 30% APR'}}\r\n

\r\n

\r\n {{stakingHeading}}\r\n

\r\n

\r\n {{stakingHeading}}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Authentication Code

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ errorMsg }}\r\n {{ balanceErrorMsg }}\r\n
\r\n\r\n
\r\n \r\n Your google 2FA is not enabled\r\n click here to\r\n enable.\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
","import { IUpgradeSubscriptionRequest } from \"./../../core/models/account-upgrade/upgrade-subscription-request\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SubscriptionPlans, UserSubscriptionPlan } from \"./../../core/models/account-upgrade/subscription-plan-response\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AccountUpgradeService {\r\n private apiUrl = environment.api;\r\n\r\n private usdFeePayment = new BehaviorSubject(undefined);\r\n\r\n constructor(private http: HttpClient) {}\r\n /**\r\n * Get the user subscription plan details as per user role/type\r\n * @ param RequestData\r\n */\r\n getSubscriptionPlan(RequestData): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/subscriptionplans/${RequestData}`\r\n );\r\n }\r\n\r\n getUserActionSubscriptionPlan(): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/subscriptions/getusersubscriptionplan`\r\n );\r\n }\r\n /**\r\n * Get the user subscription plan details as per user role/type\r\n * @ param RequestData\r\n */\r\n checkPremierStatus(): Observable<{ statusCode: number; message: string }> {\r\n return this.http.get<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/subscriptions/premiumStatus`\r\n );\r\n }\r\n\r\n /**\r\n * Subscription plan upgradation\r\n * @ param upgradePlanRequestdata\r\n */\r\n upgradeSubscriptionPlan(\r\n upgradePlanRequestdata: IUpgradeSubscriptionRequest\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/subscriptions/usd-onboarding-fee-pay`,\r\n upgradePlanRequestdata\r\n );\r\n }\r\n /**\r\n * Subscription plan upgradation\r\n * @ param upgradePlanRequestdata\r\n */\r\n createStakingPersonal(\r\n upgradePlanRequestdata: IUpgradeSubscriptionRequest\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/subscriptions/create-personal-world-wide-staking`,\r\n upgradePlanRequestdata\r\n );\r\n }\r\n\r\n /**\r\n * Subscription plan upgradation\r\n * @ param upgradePlanRequestdata\r\n */\r\n usdStatus(): Observable<{ status: number }> {\r\n return this.http.get<{ status: number }>(\r\n `${this.apiUrl}/subscriptions/usd-onboarding-status`\r\n );\r\n }\r\n /**\r\n * Subscription plan upgradation\r\n * @ param upgradePlanRequestdata\r\n */\r\n userKycStatus(): Observable<{ status: number }> {\r\n return this.http.get<{ status: number }>(\r\n `${this.apiUrl}/kyc/user-kyc-status`\r\n );\r\n }\r\n\r\n /**\r\n * Get subscription plan id data emitter\r\n */\r\n getusdFeePaymentEmitter(): Observable {\r\n return this.usdFeePayment.asObservable();\r\n }\r\n\r\n /**\r\n * Emit subscription plan id data\r\n */\r\n usdFeePaymentEmitter(data: boolean): void {\r\n this.usdFeePayment.next(data);\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { AccountUpgradeService } from \"../services/account-upgrade.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-staking-home\",\r\n templateUrl: \"./staking-home.component.html\",\r\n styleUrls: [\"./staking-home.component.scss\"],\r\n})\r\nexport class StakingHomeComponent implements OnInit {\r\n isLoading: boolean;\r\n constructor(\r\n private activateRoute: ActivatedRoute,\r\n private modalService: ModalService,\r\n private upgardeService: AccountUpgradeService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n addStaking() {\r\n this.isLoading = true;\r\n this.upgardeService.userKycStatus().subscribe(\r\n (flag) => {\r\n if (flag.status === 2) {\r\n this.modalService.openPersonalModal(\r\n false,\r\n true,\r\n \"Stake 10,000 CAS & Earn 30% APR\",\r\n \"Confirm to stake 10,000 CAS. Your CAS will be locked for a 6 month term. You will receive a 30% APR, paid out weekly.\"\r\n );\r\n } else {\r\n this.router.navigateByUrl(\"/kyc/personal?from=staking\");\r\n }\r\n this.isLoading = false;\r\n },\r\n (err) => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n addStakingUSD() {\r\n this.isLoading = true;\r\n\r\n this.upgardeService.usdStatus().subscribe(\r\n (flag) => {\r\n if (flag.status === 1) {\r\n this.modalService.openPersonalModal(\r\n true,\r\n true,\r\n \"Stake to Open a USD Account & Earn 30% APR\",\r\n \"Confirm to stake 10,000 CAS for a USD account. Your CAS will be locked for a 6 month term. You will receive a 30% APR, paid out weekly.\"\r\n );\r\n } else {\r\n this.router.navigateByUrl(\"/kyc/US/personal?from=staking\");\r\n }\r\n this.isLoading = false;\r\n },\r\n (err) => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

Stake & Earn

\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n

Stake only

\r\n
(worldwide)
\r\n \r\n
\r\n

or

\r\n
\r\n \r\n

Stake & open a USD account

\r\n
(USA & Canadian citizens only)
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n \r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ActivityService } from \"src/app/activity/services/activity.service\";\r\nimport { ILedgerList } from \"src/app/core/models/activity/recent-transaction-list\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { AccountUpgradeService } from \"../services/account-upgrade.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-staking-timeline\",\r\n templateUrl: \"./staking-timeline.component.html\",\r\n styleUrls: [\"./staking-timeline.component.scss\"],\r\n})\r\nexport class StakingTimelineComponent implements OnInit {\r\n ledger: ILedgerList;\r\n mondayList = [];\r\n isLoading: boolean;\r\n isWorldWide;\r\n isNormalStaking;\r\n usdNoKyc: boolean;\r\n isDotEnable;\r\n weeklyMondayDays = {\r\n 1: \"First\",\r\n 2: \"Second\",\r\n 3: \"Third\",\r\n 4: \"Fourth\",\r\n 5: \"Fifth\",\r\n 6: \"Sixth\",\r\n 7: \"Seventh\",\r\n 8: \"Eighth\",\r\n 9: \"Ninth\",\r\n 10: \"Tenth\",\r\n 11: \"Eleventh\",\r\n 12: \"Twelve\",\r\n 13: \"Thirteenth\",\r\n 14: \"Fourteenth\",\r\n 15: \"Fifteenth\",\r\n 16: \"Sixteenth\",\r\n 17: \"Seventeenth\",\r\n 18: \"Eighteenth\",\r\n 19: \"Nineteenth\",\r\n 20: \"Twentieth\",\r\n 21: \"Twenty first\",\r\n 22: \"Twenty second\",\r\n 23: \"Twenty third\",\r\n 24: \"Twenty fourth\",\r\n 25: \"Twenty fifth\",\r\n 26: \"Twenty sixth\",\r\n 27: \"Twenty seventh\",\r\n 28: \"Twenty eighth\",\r\n 29: \"Twenty ninth\",\r\n 30: \"Thirtieth\",\r\n };\r\n constructor(\r\n private activateRoute: ActivatedRoute,\r\n private modalService: ModalService,\r\n private upgardeService: AccountUpgradeService,\r\n private router: Router,\r\n private activityService: ActivityService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.isLoading = true;\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n this.isWorldWide = false;\r\n let filterData = {\r\n activityType: \"14\",\r\n fromDate: \"\",\r\n toDate: \"\",\r\n symbol:[],\r\n searchText: \"\",\r\n };\r\n this.activityService.getRecentTransactions(filterData).subscribe(\r\n (res) => {\r\n if (res.length !== 0) {\r\n if (res[0].activitylist[0].mondaylist) {\r\n this.isWorldWide = true;\r\n this.processData(res[0].activitylist[0]);\r\n }\r\n } else {\r\n filterData.activityType = \"\";\r\n this.activityService.getRecentTransactions(filterData).subscribe(\r\n (res) => {\r\n let filteredData;\r\n res.forEach((dateRow) => {\r\n dateRow.activitylist.forEach((row) => {\r\n if (row.mondaylist !== null) {\r\n filteredData = row;\r\n }\r\n });\r\n });\r\n if (filteredData) {\r\n if (filteredData.mondaylist) {\r\n this.processData(filteredData);\r\n }\r\n this.upgardeService.userKycStatus().subscribe(\r\n (flag) => {\r\n if (flag.status != 2) {\r\n this.usdNoKyc = true;\r\n } else {\r\n this.usdNoKyc = false;\r\n }\r\n this.isLoading = false;\r\n },\r\n (err) => {\r\n this.isLoading = false;\r\n }\r\n );\r\n this.isLoading = false;\r\n } else {\r\n filterData.activityType = \"11\";\r\n this.activityService\r\n .getRecentTransactions(filterData)\r\n .subscribe((res) => {\r\n let filteredData;\r\n res.forEach((dateRow) => {\r\n dateRow.activitylist.forEach((row) => {\r\n if (!filteredData) {\r\n filteredData = row;\r\n } else if (\r\n new Date(filteredData.endDate).setHours(0, 0, 0, 0) <=\r\n new Date(row.endDate).setHours(0, 0, 0, 0)\r\n ) {\r\n filteredData = row;\r\n }\r\n });\r\n });\r\n this.isNormalStaking = true;\r\n this.ledger = filteredData;\r\n //this.processData(filterData);\r\n });\r\n }\r\n },\r\n (err) => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n this.isLoading = false;\r\n },\r\n (err) => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n processData(res) {\r\n this.ledger = res;\r\n let maxLength = Object.keys(res.mondaylist).length;\r\n for (let a in res.mondaylist) {\r\n if (\r\n new Date(res.mondaylist[a]).setHours(0, 0, 0, 0) <=\r\n new Date().setHours(0, 0, 0, 0) &&\r\n a != maxLength.toString()\r\n ) {\r\n this.mondayList.push({\r\n isSuccess: true,\r\n isSuccessNext: true,\r\n dot: false,\r\n text: this.weeklyMondayDays[a] + \" weekly staking reward\",\r\n date: res.mondaylist[a],\r\n });\r\n }\r\n }\r\n if (this.mondayList.length === 1) {\r\n this.mondayList[0].isSuccessNext = false;\r\n this.mondayList[0].dot = true;\r\n }\r\n\r\n if (this.mondayList.length === 0) {\r\n this.mondayList.push({\r\n isSuccess: false,\r\n isSuccessNext: false,\r\n dot: false,\r\n text: this.weeklyMondayDays[1] + \" weekly staking reward\",\r\n date: res.mondaylist[1],\r\n });\r\n }\r\n\r\n if (\r\n new Date(this.ledger.endDate).setHours(0, 0, 0, 0) <\r\n new Date(res.mondaylist[maxLength]).setHours(0, 0, 0, 0)\r\n ) {\r\n this.mondayList.push({\r\n isSuccess: false,\r\n isSuccessNext: false,\r\n dot: false,\r\n text: \"Unlocked\",\r\n date: this.ledger.endDate,\r\n });\r\n this.mondayList.push({\r\n isSuccess: false,\r\n isSuccessNext: false,\r\n dot: false,\r\n text: this.weeklyMondayDays[maxLength] + \" weekly staking reward\",\r\n date: res.mondaylist[maxLength],\r\n });\r\n } else {\r\n this.mondayList.push({\r\n isSuccess: false,\r\n isSuccessNext: false,\r\n dot: false,\r\n text: this.weeklyMondayDays[maxLength] + \" weekly staking reward\",\r\n date: res.mondaylist[maxLength],\r\n });\r\n this.mondayList.push({\r\n isSuccess: false,\r\n isSuccessNext: false,\r\n dot: false,\r\n text: \"Unlocked\",\r\n date: this.ledger.endDate,\r\n });\r\n }\r\n\r\n if (\r\n new Date().setHours(0, 0, 0, 0) >=\r\n new Date(this.ledger.endDate).setHours(0, 0, 0, 0)\r\n ) {\r\n let index = -1;\r\n let flag = false;\r\n if (this.mondayList[this.mondayList.length - 1].text === \"Unlocked\") {\r\n index = this.mondayList.length - 1;\r\n flag = true;\r\n } else {\r\n index = this.mondayList.length - 2;\r\n }\r\n if (flag) {\r\n this.mondayList[index - 1].isSuccess = true;\r\n this.mondayList[index - 1].isSuccessNext = true;\r\n this.mondayList[index - 1].dot = false;\r\n this.mondayList[index].isSuccess = true;\r\n this.mondayList[index].isSuccessNext = false;\r\n this.mondayList[index].dot = true;\r\n } else {\r\n this.mondayList[index + 1].isSuccess = true;\r\n this.mondayList[index + 1].isSuccessNext = false;\r\n this.mondayList[index + 1].dot = false;\r\n this.mondayList[index].isSuccess = true;\r\n this.mondayList[index].isSuccessNext = true;\r\n this.mondayList[index].dot = true;\r\n }\r\n } else if (\r\n new Date().setHours(0, 0, 0, 0) >=\r\n new Date(res.mondaylist[maxLength]).setHours(0, 0, 0, 0)\r\n ) {\r\n let index = -1;\r\n if (this.mondayList[this.mondayList.length - 1].text === \"Unlocked\") {\r\n index = this.mondayList.length - 2;\r\n } else {\r\n index = this.mondayList.length - 1;\r\n }\r\n this.mondayList[index].isSuccess = true;\r\n this.mondayList[index].isSuccessNext = false;\r\n this.mondayList[index].dot = true;\r\n } else if (this.mondayList.length > 3) {\r\n this.mondayList[this.mondayList.length - 3].isSuccessNext = false;\r\n this.mondayList[this.mondayList.length - 3].dot = true;\r\n }\r\n\r\n this.mondayList.push({ text: \"no\", date: this.ledger.endDate });\r\n this.isLoading = false;\r\n\r\n this.mondayList.forEach((item) => {\r\n if (item.dot) {\r\n this.isDotEnable = true;\r\n }\r\n });\r\n }\r\n\r\n isSuccessClass(step) {\r\n if (step === 4) {\r\n if (this.ledger.islocked) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

Stake & Earn Timeline

\r\n
\r\n
\r\n\r\n

Congratulations!

\r\n
You have successfully staked, you will be awarded with a 30%\r\n APR.
\r\n
You have successfully staked 10,000 CAS, you will be awarded with a 30% APR.\r\n
\r\n
Bonus rewards will be paid out weekly, every Monday for the 6 month staking period.
\r\n
Complete KYC to stake and receive the bonus rewards.\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
","import { IUpgradeSubscriptionRequest } from \"./../../core/models/account-upgrade/upgrade-subscription-request\";\r\nimport { ValidatorUtility } from \"./../../core/utility/validator.utility\";\r\nimport { AccountUpgradeService } from \"./../services/account-upgrade.service\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cashaa-upgrade-account-premier-staking\",\r\n templateUrl: \"./upgrade-account-premier-staking.component.html\",\r\n styleUrls: [\"./upgrade-account-premier-staking.component.scss\"],\r\n})\r\nexport class UpgradeAccountPremierStakingComponent implements OnInit {\r\n upgradeSubscriptionForm: FormGroup;\r\n\r\n subscriptionPlanId: string;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private upgardeService: AccountUpgradeService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n this.getUpgradedSubscriptionData();\r\n }\r\n\r\n createForm(): void {\r\n this.upgradeSubscriptionForm = this.fb.group({\r\n lockingAmount: [\r\n \"\",\r\n [ValidatorUtility.Required],\r\n ValidatorUtility.OnlyNumberRequired,\r\n ],\r\n lockingPeriod: [\r\n \"\",\r\n [ValidatorUtility.Required],\r\n ValidatorUtility.OnlyNumberRequired,\r\n ],\r\n password: [\r\n \"\",\r\n [ValidatorUtility.Required, ValidatorUtility.PasswordValidator],\r\n ],\r\n });\r\n }\r\n\r\n getUpgradedSubscriptionData(): void {\r\n // this.upgardeService.getreservePrimierDataEmitter().subscribe((planId) => {\r\n // this.subscriptionPlanId = planId;\r\n // });\r\n }\r\n // tslint:disable-next-line: typedef\r\n onSignupSubmit() {\r\n // const data = this.upgradeSubscriptionForm.value;\r\n // const requestData = new IUpgradeSubscriptionRequest(\r\n // data.lockingAmount,\r\n // data.lockingPeriod,\r\n // data.password\r\n // );\r\n // // Send a request to upgrade table\r\n // this.upgardeService.upgradeSubscriptionPlan(requestData).subscribe((res) => {\r\n // if (res) {\r\n // }\r\n // }\r\n // );\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

Select Subscription Plan to be reserved

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { AccountService } from \"../sevices/account.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { APP_ROUTES, UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\n@Component({\r\n selector: \"cashaa-account-forget-password\",\r\n templateUrl: \"./account-forget-password.component.html\",\r\n styleUrls: [\"./account-forget-password.component.scss\"],\r\n})\r\nexport class AccountForgetPasswordComponent implements OnInit {\r\n /** Form group */\r\n form: FormGroup;\r\n\r\n /** Whether to show loading indicator or not */\r\n showLoadingIndicator = false;\r\n\r\n /** Erorr message if any */\r\n errorMessage: string;\r\n\r\n /**Sucessfull email sent */\r\n islinkSent: boolean;\r\n\r\n /** new user reset password */\r\n isrestnew: string;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private accountService: AccountService,\r\n private router: Router,\r\n private toastrService: ToastrService,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.islinkSent = false;\r\n this.accountService.setDisableCross(false);\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.isrestnew = params['c'];\r\n\r\n });\r\n }\r\n\r\n /**\r\n * Create Forget password form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n email: [\"\", [ValidatorUtility.Required]],\r\n });\r\n }\r\n\r\n /**\r\n * On Forget password form submit\r\n */\r\n onForgetPasswordSubmit(): void {\r\n this.showLoadingIndicator = true;\r\n this.errorMessage = undefined;\r\n this.accountService.forgetPassword(this.form.value.email).subscribe(\r\n (res) => {\r\n this.showLoadingIndicator = false;\r\n this.islinkSent = true;\r\n //this.router.navigateByUrl(APP_ROUTES.SIGN_IN);\r\n },\r\n (err) => {\r\n this.showLoadingIndicator = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n}","
\r\n

Forget Password?

\r\n

\r\n Don't worry, just enter the email address you registered with and we will\r\n send you a link to reset your password.\r\n

\r\n\r\n

\r\n You need to reset your password because this is the first time you are signing in.\r\n

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ errorMessage }}\r\n
\r\n\r\n\r\n \r\n
\r\n\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n

\r\n We have sent you the password reset link on your registered email address. Please login to your email and click on the given link to reset the password\r\n

\r\n

\r\n Already signed up? Log in\r\n

\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { KYC_STATUS, USER_EMAIL_PATH } from 'src/app/app.constants';\r\nimport { KycService } from 'src/app/kyc/services/kyc.service';\r\n\r\n@Component({\r\n selector: 'cashaa-account-mesg-box',\r\n templateUrl: './account-mesg-box.component.html',\r\n styleUrls: ['./account-mesg-box.component.scss']\r\n})\r\nexport class AccountMesgBoxComponent implements OnInit {\r\n\r\n mesg: string;\r\n maskedEmailId;;\r\n kycStatus;\r\n imgUrl;\r\n desc: string;\r\n isLoginOption = false;\r\n params;\r\n constructor(private activatedRoute: ActivatedRoute, private router: Router,\r\n private kycService: KycService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.kycStatus = Number(sessionStorage.getItem(KYC_STATUS));\r\n let emailId = sessionStorage.getItem(USER_EMAIL_PATH);\r\n if(emailId) {\r\n this.maskedEmailId = this.kycService.getMaskedEmail(emailId);\r\n }\r\n \r\n this.activatedRoute.queryParamMap.subscribe((val) => {\r\n this.params = val.get(\"source\");\r\n if (this.params === 'reset-password') {\r\n this.mesg = \"Congratulations! Your password has been changed successfully.\";\r\n }\r\n if (this.params === 'sign-up') {\r\n // this.updateScreen(this.kycStatus);\r\n this.mesg = \"Congratulations! Your Account has been registered successfully.\";\r\n }\r\n })\r\n }\r\n updateScreen(status) {\r\n switch (status) {\r\n case 1:\r\n // Pending\r\n this.imgUrl = '../../../assets/images/account/pending.svg'\r\n this.mesg = \"Your KYC has not been approved yet kindly wait a while.\"\r\n break;\r\n case 4:\r\n // Inititated\r\n this.mesg = `We’ve sent a KYC link to your registered email address: ${this.maskedEmailId}. Please complete your KYC verification to enjoy all our services with enhanced security and convenience.`\r\n this.imgUrl = '../../../assets/images/account/mail.svg';\r\n break;\r\n \r\n case 5:\r\n // Approved\r\n this.isLoginOption = true;\r\n this.mesg = \"Your KYC verification has been approved!\"\r\n this.imgUrl = '../../../assets/images/account/verified.svg';\r\n this.desc = `You're all set to enjoy our services with enhanced security and convenience.`\r\n break;\r\n \r\n case 6:\r\n // Rejected\r\n this.isLoginOption = false;\r\n this.mesg = `We have rejected you KYC and send a reason of rejection to your registered email ${this.maskedEmailId}.`\r\n this.imgUrl = '../../../assets/images/account/cancel.svg';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n signUp() {\r\n this.router.navigateByUrl('/account/signup');\r\n }\r\n}\r\n","
\r\n \r\n \"\"\r\n
{{mesg}}\r\n Please click here to Log in\r\n
\r\n
{{desc}}
\r\n\r\n

\r\n Already sign up? Log in\r\n

\r\n
\r\n By continuing you accept our  Terms\r\n of Use  and Privacy\r\n Policy\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
{{mesg}}
\r\n

\r\n Please click here to Log in\r\n

\r\n
\r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { ResetPassword } from \"src/app/core/models/reset-password\";\r\nimport { AccountService } from \"../sevices/account.service\";\r\nimport { APP_ROUTES, RegisterType, UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\n@Component({\r\n selector: \"cashaa-account-reset-password\",\r\n templateUrl: \"./account-reset-password.component.html\",\r\n styleUrls: [\"./account-reset-password.component.scss\"],\r\n})\r\nexport class AccountResetPasswordComponent implements OnInit {\r\n /** Form group */\r\n form: FormGroup;\r\n\r\n /** token from URL */\r\n token: string;\r\n\r\n /** email from URL */\r\n email: string;\r\n\r\n /** Whether to show loading indicator or not */\r\n showLoadingIndicator = false;\r\n\r\n /** Erorr message if any */\r\n errorMessage: string;\r\n\r\n passwordInvalid: boolean;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private accountService: AccountService,\r\n private toastrService: ToastrService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getEmailAndTokenFromURL();\r\n this.accountService.setDisableCross(false);\r\n }\r\n\r\n /**\r\n * Get Email and token from URL\r\n */\r\n getEmailAndTokenFromURL(): void {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.token = params[\"token\"];\r\n this.email = params[\"email\"];\r\n });\r\n }\r\n\r\n /**\r\n * Create new form for\r\n * reset password\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group(\r\n {\r\n password: [\"\", [ValidatorUtility.Required]],\r\n confirmPassword: [\"\", [ValidatorUtility.Required]],\r\n },\r\n {\r\n validator: ValidatorUtility.confirmPasswordValidator(\r\n \"password\",\r\n \"confirmPassword\"\r\n ),\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * On Reset password form submit\r\n */\r\n onResetPasswordSubmit(): void {\r\n this.showLoadingIndicator = true;\r\n this.errorMessage = undefined;\r\n const data = this.form.value;\r\n const refineToken = this.token.replace(/ /g, \"+\");\r\n\r\n const resetPasswordData = new ResetPassword(\r\n this.email,\r\n refineToken,\r\n data.password,\r\n RegisterType.web\r\n );\r\n\r\n this.accountService.resetPassword(resetPasswordData).subscribe(\r\n () => {\r\n this.showLoadingIndicator = false;\r\n this.router.navigateByUrl(APP_ROUTES.MESG_BOX+\"?source=reset-password\");\r\n },\r\n (err) => {\r\n this.showLoadingIndicator = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n\r\n this.errorMessage = err.Message;\r\n }\r\n );\r\n }\r\n passwordValid(event) {\r\n this.passwordInvalid = event;\r\n }\r\n}\r\n","
\r\n

Reset Password?

\r\n

\r\n Enter the new password.\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ errorMessage }}\r\n
\r\n \r\n
\r\n \r\n
","import { PaymentSuccessComponent } from './../deposit/payment-success/payment-success.component';\r\nimport { PaymentFailureComponent } from './../deposit/payment-failure/payment-failure.component';\r\nimport { WithdrawConfirmationComponent } from './../send/withdraw-confirmation/withdraw-confirmation.component';\r\nimport { NgModule, Component } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AccountSigninComponent } from \"./account-signin/account-signin.component\";\r\nimport { AccountSignupComponent } from \"./account-signup/account-signup.component\";\r\nimport { AccountWrapperComponent } from \"./account-wrapper/account-wrapper.component\";\r\nimport { AccountForgetPasswordComponent } from \"./account-forget-password/account-forget-password.component\";\r\nimport { AccountTwoFactorAuthenticationComponent } from \"./account-two-factor-authentication/account-two-factor-authentication.component\";\r\nimport { AccountWhitelistDeviceComponent } from \"./account-whitelist-device/account-whitelist-device.component\";\r\nimport { AccountResetPasswordComponent } from \"./account-reset-password/account-reset-password.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nimport { AccountMesgBoxComponent } from './account-mesg-box/account-mesg-box.component';\r\nconst routes: Routes = [\r\n {\r\n path: \"account\",\r\n component: AccountWrapperComponent,\r\n children: [\r\n {\r\n path: \"signin\",\r\n component: AccountSigninComponent,\r\n },\r\n {\r\n path: \"signup\",\r\n component: AccountSignupComponent,\r\n },\r\n {\r\n path: \"forget-password\",\r\n component: AccountForgetPasswordComponent,\r\n },\r\n {\r\n path: \"2fa\",\r\n component: AccountTwoFactorAuthenticationComponent,\r\n // canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"whitelist/:id\",\r\n component: AccountWhitelistDeviceComponent,\r\n },\r\n {\r\n path: \"reset-password\",\r\n component: AccountResetPasswordComponent,\r\n \r\n },\r\n {\r\n path: \"withdraw-confirmation\",\r\n component: WithdrawConfirmationComponent,\r\n \r\n }\r\n ,\r\n\r\n {\r\n path: \"payment-fail\",\r\n component: PaymentFailureComponent,\r\n },\r\n {\r\n path: \"payment-success\",\r\n component: PaymentSuccessComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n\r\n {\r\n path: \"payment-success\",\r\n component: PaymentSuccessComponent,\r\n\r\n },\r\n\r\n {\r\n path: \"mesg-box\",\r\n component: AccountMesgBoxComponent,\r\n\r\n }\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AccountRoutingModule { }\r\n","import {\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { ISignin, Signin } from \"src/app/core/models/signin\";\r\nimport { AccountService } from \"../sevices/account.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { APP_ROUTES, RegisterType } from \"src/app/app.constants\";\r\nimport { AuthStatus } from \"src/app/core/enums/authStatus\";\r\nimport { IpInfo } from \"src/app/core/models/ipinfo\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: \"cashaa-account-signin\",\r\n templateUrl: \"./account-signin.component.html\",\r\n styleUrls: [\"./account-signin.component.scss\"],\r\n})\r\nexport class AccountSigninComponent implements OnInit {\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n whitelistCode: string = \"\";\r\n showOtpBox: boolean;\r\n ipInfo: IpInfo;\r\n allCodeEntered;\r\n /** is Signingin in progress */\r\n isSigningIn = false;\r\n\r\n /** Form Group */\r\n form: FormGroup;\r\n\r\n /** error message when failed */\r\n errorMessage: string;\r\n redirectUrl;\r\n\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n\r\n /**\r\n * Inject services\r\n * @param fb form builder\r\n */\r\n constructor(\r\n private accountService: AccountService,\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private userService: UserService,\r\n private modalService: ModalService,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n this.form = this.fb.group({\r\n email: [\"\", [ValidatorUtility.Required, ValidatorUtility.EmailValidator]],\r\n password: [\"\", [ValidatorUtility.Required]],\r\n });\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.restrictSpecificCountry();\r\n this.onChanges();\r\n this.accountService.setDisableCross(true);\r\n this.redirectUrl = this.activatedRoute.snapshot.queryParamMap.get('returnUrl');\r\n if (this.redirectUrl) {\r\n sessionStorage.setItem('isRedirect', \"true\");\r\n }\r\n }\r\n\r\n onChanges(): void {\r\n this.form.valueChanges.subscribe((val) => {\r\n if (val !== undefined) {\r\n this.errorMessage = undefined;\r\n }\r\n });\r\n }\r\n /**\r\n * on Form submit\r\n */\r\n onFormSubmit(): void {\r\n this.isSigningIn = true;\r\n this.errorMessage = undefined;\r\n const data = this.form.value;\r\n let signinData: ISignin = {\r\n email: data.email,\r\n password: data.password,\r\n otp: \" \",\r\n registerType: RegisterType.web\r\n };\r\n\r\n if (this.showOtpBox) {\r\n signinData.WhiteListOtp = this.whitelistCode;\r\n }\r\n\r\n this.signInUser(signinData);\r\n }\r\n\r\n /**\r\n * Signin user\r\n * @param data signin data\r\n */\r\n signInUser(signinData: Signin): void {\r\n this.accountService.signinAccount(signinData).subscribe(\r\n (res) => {\r\n this.isSigningIn = false;\r\n this.checkNextStep(res.authStatus, signinData);\r\n },\r\n (err: HttpErrorResponse) => {\r\n this.code = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n this.isSigningIn = false;\r\n if (err.status === 400) {\r\n if (err.error.message == \"resetpassword\") {\r\n this.router.navigateByUrl(APP_ROUTES.FORGET_PASSWORD + \"?c=reset\");\r\n } else {\r\n this.errorMessage = err.error.message;\r\n }\r\n } else {\r\n throw err;\r\n }\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Check next step for user\r\n * @param authStatus check next step for user\r\n */\r\n checkNextStep(authStatus: AuthStatus, signinData: Signin): void {\r\n switch (authStatus) {\r\n case AuthStatus.Success:\r\n if (this.redirectUrl) {\r\n this.router.navigateByUrl(this.redirectUrl);\r\n } else {\r\n this.router.navigateByUrl(APP_ROUTES.ACTIVITY_LIST);\r\n }\r\n break;\r\n case AuthStatus.OtpAndTwoFactorAuthRequired:\r\n this.accountService.emitSigninData(signinData);\r\n this.router.navigateByUrl(APP_ROUTES.TWO_FACTOR_AUTH);\r\n break;\r\n case AuthStatus.NewSignInDevice:\r\n this.showOtpBox = true;\r\n this.errorMessage = \"OTP has been sent to your email.\"\r\n this.isSigningIn = false;\r\n break;\r\n case AuthStatus.EmailNotConfirmed:\r\n case AuthStatus.OtpRequired:\r\n this.accountService.emitSigninData(signinData);\r\n this.router.navigateByUrl(APP_ROUTES.TWO_FACTOR_AUTH, {\r\n state: { data: signinData },\r\n });\r\n break;\r\n }\r\n }\r\n\r\n removeError(): void {\r\n if (this.errorMessage !== undefined) {\r\n this.errorMessage = undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfCodeIsFilled(idx: number): void {\r\n if (idx >= 0 && idx < 5 && this.code[idx]) {\r\n this.inputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n this.allCodeEntered = true;\r\n this.code.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allCodeEntered = false;\r\n }\r\n });\r\n if (this.code[5] && idx === -1) {\r\n this.inputs.toArray()[5].nativeElement.focus();\r\n }\r\n this.whitelistCode = this.code.join(\"\");\r\n }\r\n\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onCodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.code = pastedText.split(\"\");\r\n this.checkIfCodeIsFilled(-1);\r\n }\r\n this.whitelistCode = this.code.join(\"\");\r\n }\r\n\r\n removeBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.inputs.toArray()[index].nativeElement.focus();\r\n }\r\n this.whitelistCode = this.code.join(\"\");\r\n }\r\n\r\n restrictSpecificCountry() {\r\n this.accountService.getUserCountry().subscribe(\r\n (data) => {\r\n const userCountry = data.country; // Country code from the API\r\n\r\n if (userCountry === 'UK') {\r\n // Optionally, redirect or show a block message\r\n this.router.navigateByUrl('access-restricted');\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

Welcome Back!

\r\n

\r\n New to Cashaa? Signup\r\n \r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Verification Code\r\n \r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ errorMessage }}\r\n \r\n \r\n

\r\n Forgot password?\r\n

\r\n \r\n \r\n

Remember this device

\r\n
\r\n

\r\n By continuing you accept our Terms of Use and\r\n Privacy Policy\r\n

\r\n\r\n \r\n \r\n \r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators, FormControl } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { KycSignupData, Signup } from \"src/app/core/models/signup\";\r\nimport { AccountService } from \"../sevices/account.service\";\r\nimport {\r\n APP_ROUTES,\r\n KYC_STATUS,\r\n RegisterType,\r\n UNABLE_TO_PERFORM_ERROR,\r\n USER_EMAIL_PATH,\r\n} from \"src/app/app.constants\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { Title, Meta } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: \"cashaa-account-signup\",\r\n templateUrl: \"./account-signup.component.html\",\r\n styleUrls: [\"./account-signup.component.scss\"],\r\n})\r\nexport class AccountSignupComponent implements OnInit {\r\n /** Signup form */\r\n form: FormGroup;\r\n\r\n /** isSigningIn */\r\n isSigningUp = false;\r\n\r\n isCountryDisable = false;\r\n\r\n /** error message when failed */\r\n errorMessage: string;\r\n\r\n passwordInvalid: boolean;\r\n kycStatus: number;\r\n isSignUpDone: boolean;\r\n initialValue;\r\n /**\r\n * Inject services\r\n * @param domainService for domain values\r\n * @param fb form builder\r\n */\r\n constructor(\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private accountService: AccountService,\r\n private toastrService: ToastrService,\r\n private activatedRoute: ActivatedRoute,\r\n private titleService: Title,\r\n private metaTagService: Meta\r\n\r\n ) {\r\n this.kycStatus = Number(sessionStorage.getItem(KYC_STATUS));\r\n this.createForm();\r\n }\r\n\r\n /**\r\n * Call http services\r\n */\r\n ngOnInit(): void {\r\n this.accountService.setDisableCross(false);\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params.referralCode) {\r\n this.form.get('referralId').setValue(params.referralCode);\r\n this.form.get('referralId').disable();\r\n }\r\n if (params.id) {\r\n this.getTemporaryAccountDetails(params.id);\r\n } else {\r\n this.addPassWordOption();\r\n }\r\n })\r\n\r\n this.titleService.setTitle(\"CASHAA SIGN UP\");\r\n this.metaTagService.addTag({ name: 'description', content: 'Welcome to one account with old and new money' });\r\n this.metaTagService.addTag({ name: 'image', content: `${location.origin}/assets/media/logo.svg` });\r\n }\r\n\r\n /** create signup form */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n email: [\"\", [ValidatorUtility.Required]],\r\n password: [\"\", [ValidatorUtility.Required]],\r\n country: [\"\", ValidatorUtility.Required],\r\n // accountType: [\"\", ValidatorUtility.Required],\r\n referralId: [\"\"]\r\n });\r\n }\r\n\r\n getTemporaryAccountDetails(id) {\r\n let observable$: Observable;\r\n observable$ = this.accountService.getTemporaryAccountDetails(id);\r\n\r\n observable$.subscribe(\r\n (res) => {\r\n console.log(res)\r\n this.kycStatus = res.kycStatus;\r\n this.isSignUpDone = res.isSignUpDone;\r\n if (this.kycStatus === 5 && this.isSignUpDone) {\r\n this.router.navigateByUrl(APP_ROUTES.SIGN_IN);\r\n } else {\r\n this.addPassWordOption();\r\n this.form.controls.email.setValue(res.email);\r\n this.initialValue = res.countryId;\r\n this.form.controls.country.disable();\r\n this.form.controls.email.disable();\r\n if (res.referralCode) {\r\n this.form.controls.referralId.setValue(res.referralCode);\r\n this.form.controls.referralId.disable();\r\n }\r\n }\r\n }, (err) => {\r\n if (err.error.message) {\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n })\r\n }\r\n\r\n\r\n addPassWordOption() {\r\n // if (this.kycStatus === 5) {\r\n this.form.addControl('password', new FormControl(\"\", [ValidatorUtility.Required]))\r\n // }\r\n }\r\n\r\n /**\r\n * On Signup form submit\r\n */\r\n onSignupSubmit(): void {\r\n this.isSigningUp = true;\r\n this.errorMessage = undefined;\r\n const data = this.form.value;\r\n // const control = this.form.controls;\r\n const signupData = new Signup(\r\n data.email,\r\n data.password,\r\n data.country.value === \"-1\" ? null : data.country.value,\r\n RegisterType.web,\r\n this.form.controls.referralId.value\r\n );\r\n // if (this.kycStatus === 5) {\r\n // signupData = {\r\n // email: control.email.value,\r\n // countryId: control.country.value.value === \"-1\" ? null : control.country.value.value,\r\n // registerType: RegisterType.web,\r\n // password: control.password.value,\r\n // referralCode: control.referralId.value\r\n // }\r\n // } else {\r\n // signupData = {\r\n // email: control.email.value,\r\n // countryId: control.country.value.value === \"-1\" ? null : control.country.value.value,\r\n // referralCode: control.referralId.value\r\n // }\r\n // }\r\n\r\n let observable$: Observable<{ statusCode: number; message: string }>;\r\n observable$ = this.accountService.createPersonalAccount(signupData);\r\n\r\n observable$.subscribe(\r\n (res) => {\r\n // this.kycStatus = res.kycStatus;\r\n // sessionStorage.setItem(KYC_STATUS, this.kycStatus.toString());\r\n // sessionStorage.setItem(USER_EMAIL_PATH, res.email);\r\n // this.isSignUpDone = res.isSignUpDone;\r\n this.isSigningUp = false;\r\n this.router.navigateByUrl(APP_ROUTES.MESG_BOX + \"?source=sign-up\")\r\n // if (this.kycStatus === 5 && this.isSignUpDone) {\r\n // this.router.navigateByUrl(APP_ROUTES.SIGN_IN);\r\n // } else {\r\n // this.router.navigateByUrl(APP_ROUTES.MESG_BOX + \"?source=sign-up\");\r\n // }\r\n\r\n },\r\n (err) => {\r\n this.isSigningUp = false;\r\n if (err.error.message) {\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n passwordValid(event) {\r\n this.passwordInvalid = event;\r\n }\r\n\r\n}\r\n","
\r\n

\r\n Welcome to one account with old and new money\r\n

\r\n

\r\n Already signed up? Log in\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n

\r\n By continuing you accept our Terms of Use and\r\n Privacy Policy\r\n

\r\n
\r\n {{ errorMessage }}\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
","import { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cashaa-account-social-signin\",\r\n templateUrl: \"./account-social-signin.component.html\",\r\n styleUrls: [\"./account-social-signin.component.scss\"],\r\n})\r\nexport class AccountSocialSigninComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n ViewChildren,\r\n QueryList,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { AccountService } from \"../sevices/account.service\";\r\nimport { Signin } from \"src/app/core/models/signin\";\r\nimport { Signin2fa } from \"src/app/core/models/signin-2fa\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport * as Bowser from \"bowser\";\r\nimport { IpInfo } from \"src/app/core/models/ipinfo\";\r\nimport { AuthStatus } from \"src/app/core/enums/authStatus\";\r\nimport { APP_ROUTES } from \"src/app/app.constants\";\r\nimport { Router } from \"@angular/router\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { SubSink } from \"subsink\";\r\n\r\n@Component({\r\n selector: \"cashaa-account-two-factor-authentication\",\r\n templateUrl: \"./account-two-factor-authentication.component.html\",\r\n styleUrls: [\"./account-two-factor-authentication.component.scss\"],\r\n})\r\nexport class AccountTwoFactorAuthenticationComponent\r\n implements OnInit, OnDestroy {\r\n /** google authentication code */\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n\r\n /** is checking operation in progress */\r\n isInProgress = false;\r\n\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n\r\n /** singin data */\r\n singinData?: Signin;\r\n /** error message when failed */\r\n errorMessage: string;\r\n subSink = new SubSink();\r\n constructor(\r\n private userService: UserService,\r\n private accountService: AccountService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.accountService.setDisableCross(false);\r\n this.subSink.add(\r\n this.accountService.getSigninDataEmitter().subscribe((singinData) => {\r\n if (singinData) {\r\n this.singinData = singinData;\r\n } else {\r\n this.router.navigateByUrl(APP_ROUTES.SIGN_IN);\r\n }\r\n })\r\n );\r\n }\r\n\r\n removeError(): void {\r\n if (this.errorMessage !== undefined) {\r\n this.errorMessage = undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfCodeIsFilled(idx: number): void {\r\n if (idx >= 0 && idx < 5 && this.code[idx] != null) {\r\n this.inputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n let allCodeEntered = true;\r\n this.code.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n allCodeEntered = false;\r\n }\r\n });\r\n\r\n if (allCodeEntered) {\r\n this.isInProgress = true;\r\n this.errorMessage = \"\";\r\n const code = this.code.join(\"\");\r\n this.authenticateCode(code);\r\n }\r\n }\r\n\r\n /**\r\n * Authenticate 2fa code\r\n */\r\n authenticateCode(code: string): void {\r\n this.singinData.otp = code;\r\n\r\n this.accountService.signinAccount(this.singinData).subscribe(\r\n (res) => {\r\n if (res.authStatus === AuthStatus.Success) {\r\n this.router.navigateByUrl(APP_ROUTES.ACTIVITY_LIST);\r\n }\r\n },\r\n (err: HttpErrorResponse) => {\r\n this.isInProgress = false;\r\n this.errorMessage = err.error.message;\r\n this.code = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n this.singinData.otp = \" \";\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onCodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.code = pastedText.split(\"\");\r\n this.checkIfCodeIsFilled(-1);\r\n }\r\n }\r\n\r\n removeBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.inputs.toArray()[index].nativeElement.focus();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subSink.unsubscribe();\r\n }\r\n}\r\n","","import { Component, OnInit } from \"@angular/core\";\r\nimport { AccountService } from \"../sevices/account.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { WhitelistDevice } from \"src/app/core/models/whitelist-device\";\r\nimport { APP_ROUTES, UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\n@Component({\r\n selector: \"cashaa-account-whitelist-device\",\r\n templateUrl: \"./account-whitelist-device.component.html\",\r\n styleUrls: [\"./account-whitelist-device.component.scss\"],\r\n})\r\nexport class AccountWhitelistDeviceComponent implements OnInit {\r\n /** Is whitelisting device in progresss */\r\n isInProgress = true;\r\n\r\n /** Error message if any */\r\n errorMessage?: string;\r\n\r\n constructor(\r\n private accountService: AccountService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const deviceId = this.route.snapshot.paramMap.get(\"id\");\r\n this.checkDeviceIsWhitelisted(deviceId);\r\n }\r\n\r\n /**\r\n * Check device is whitelisted or not\r\n */\r\n checkDeviceIsWhitelisted(deviceId: string): void {\r\n this.accountService\r\n .whitelistDevice(new WhitelistDevice(deviceId))\r\n .subscribe(\r\n () => {\r\n this.isInProgress = false;\r\n this.router.navigateByUrl(APP_ROUTES.SIGN_IN);\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","\r\n \r\n

{{ errorMessage }}

\r\n

Whitelisting device...

\r\n\r\n \r\n \r\n \r\n \r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AccountService } from \"../sevices/account.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-account-wrapper\",\r\n templateUrl: \"./account-wrapper.component.html\",\r\n styleUrls: [\"./account-wrapper.component.scss\"],\r\n})\r\nexport class AccountWrapperComponent implements OnInit {\r\n disableCross: boolean;\r\n constructor(private accountService: AccountService) {}\r\n\r\n ngOnInit(): void {\r\n this.accountService.disableCrossEmitter().subscribe((data) => {\r\n setTimeout(() => {\r\n this.disableCross = data;\r\n });\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AccountSigninComponent } from \"./account-signin/account-signin.component\";\r\nimport { AccountSignupComponent } from \"./account-signup/account-signup.component\";\r\nimport { AccountForgetPasswordComponent } from \"./account-forget-password/account-forget-password.component\";\r\nimport { AccountResetPasswordComponent } from \"./account-reset-password/account-reset-password.component\";\r\nimport { AccountTwoFactorAuthenticationComponent } from \"./account-two-factor-authentication/account-two-factor-authentication.component\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { AccountRoutingModule } from \"./account-routing.module\";\r\nimport { AccountWrapperComponent } from \"./account-wrapper/account-wrapper.component\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { AccountSocialSigninComponent } from \"./account-social-signin/account-social-signin.component\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { AccountWhitelistDeviceComponent } from \"./account-whitelist-device/account-whitelist-device.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { AccountMesgBoxComponent } from './account-mesg-box/account-mesg-box.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AccountSigninComponent,\r\n AccountSignupComponent,\r\n AccountForgetPasswordComponent,\r\n AccountResetPasswordComponent,\r\n AccountTwoFactorAuthenticationComponent,\r\n AccountWrapperComponent,\r\n AccountSocialSigninComponent,\r\n AccountWhitelistDeviceComponent,\r\n AccountMesgBoxComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n AccountRoutingModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ToastrModule.forRoot(),\r\n ],\r\n})\r\nexport class AccountModule {}\r\n","import {\r\n USER_ID,\r\n USER_TYPE,\r\n USER_NAME_ID,\r\n USER_FEE_MODE,\r\n USER_FEE_PERCENT,\r\n USER_TWO_FACTOR_CODE,\r\n SEESION_OBJECT,\r\n SEESION_FLAG,\r\n USER_INTEREST_MODE,\r\n USER_COUNTRY_CODE,\r\n USER_REFERRAL_CODE,\r\n IS_CAS_SWAP_Enabled,\r\n USER_COUNTRY_ID,\r\n} from \"./../../app.constants\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { KycSignupData, Signup } from \"src/app/core/models/signup\";\r\nimport { Observable, BehaviorSubject } from \"rxjs\";\r\nimport { ITokenResponse } from \"src/app/core/models/token\";\r\nimport { Signin2fa } from \"src/app/core/models/signin-2fa\";\r\nimport { Signin } from \"src/app/core/models/signin\";\r\nimport { WhitelistDevice } from \"src/app/core/models/whitelist-device\";\r\nimport { ResetPassword } from \"src/app/core/models/reset-password\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport {\r\n AUTH_TOKEN_PATH,\r\n USER_NAME_PATH,\r\n USER_EMAIL_PATH,\r\n} from \"src/app/app.constants\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AccountService {\r\n /** api url */\r\n private apiUrl = environment.api;\r\n\r\n /** Signin data emitter */\r\n private signinDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n /** Signin data emitter */\r\n private disableCrossFlag = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n /**\r\n * Create new personal account\r\n * @param signupData personal signup data\r\n */\r\n createPersonalAccount(\r\n signupData: Signup\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/account/createpersonal`,\r\n signupData\r\n );\r\n }\r\n\r\n /**\r\n * Create Business account\r\n */\r\n createBusinessAccount(\r\n signupData: Signup\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/account/createbusiness`,\r\n signupData\r\n );\r\n }\r\n\r\n /**\r\n * Send forget password email\r\n * @param email email address\r\n */\r\n forgetPassword(\r\n email: \"string\"\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/account/forgetpassword`,\r\n {\r\n email,\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Reset user password\r\n * @param resetPasswordData data for reset password\r\n */\r\n resetPassword(\r\n resetPasswordData: ResetPassword\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/account/resetpassword`,\r\n resetPasswordData\r\n );\r\n }\r\n\r\n /**\r\n * Sign in to user\r\n * @param signinData signin user data\r\n */\r\n signinAccount(signinData: Signin): Observable {\r\n return this.http\r\n .post(`${this.apiUrl}/account/token`, signinData)\r\n .pipe(\r\n tap((res) => {\r\n if (res.token) {\r\n if(res.isConsent === false){\r\n sessionStorage.setItem('isConsent', 'false');\r\n } else {\r\n sessionStorage.setItem('isConsent', 'true');\r\n }\r\n if(res.isCASSWAPEnabled === false){\r\n sessionStorage.setItem(IS_CAS_SWAP_Enabled, 'false');\r\n } else {\r\n sessionStorage.setItem(IS_CAS_SWAP_Enabled, 'true');\r\n }\r\n sessionStorage.setItem(AUTH_TOKEN_PATH, res.token);\r\n sessionStorage.setItem(USER_NAME_PATH, res.name);\r\n sessionStorage.setItem(USER_EMAIL_PATH, res.email);\r\n sessionStorage.setItem(USER_ID, res.cashaaUserId);\r\n sessionStorage.setItem(USER_TYPE, res.userType.toString());\r\n sessionStorage.setItem(USER_NAME_ID, res.userName);\r\n sessionStorage.setItem(USER_FEE_MODE, res.userFeeMode);\r\n sessionStorage.setItem(USER_INTEREST_MODE, res.userInterestMode);\r\n sessionStorage.setItem(USER_FEE_PERCENT, res.conversionFee);\r\n sessionStorage.setItem(USER_COUNTRY_CODE, res.userCountryCode);\r\n sessionStorage.setItem(USER_COUNTRY_ID, res.countryId);\r\n sessionStorage.setItem(USER_REFERRAL_CODE, res.referalCode);\r\n\r\n let tempObj: any = {};\r\n tempObj.token = res.token;\r\n tempObj.name = res.name;\r\n tempObj.email = res.email;\r\n tempObj.cashaaUserId = res.cashaaUserId;\r\n tempObj.userType = res.userType.toString();\r\n tempObj.userName = res.userName;\r\n tempObj.userFeeMode = res.userFeeMode;\r\n tempObj.conversionFee = res.conversionFee;\r\n tempObj.userCountryCode = res.userCountryCode;\r\n tempObj.referralCode = res.referalCode;\r\n localStorage.setItem(SEESION_OBJECT, JSON.stringify(tempObj));\r\n localStorage.setItem(SEESION_FLAG, \"true\");\r\n sessionStorage.setItem(\r\n USER_TWO_FACTOR_CODE,\r\n res.twoFactorCode.toString()\r\n );\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * authenticate 2fa code\r\n * @param signinData signin 2fa user data\r\n */\r\n authenticate2faCode(signinData: Signin2fa): Observable {\r\n return this.http.post(\r\n `${this.apiUrl}/account/token`,\r\n signinData\r\n );\r\n }\r\n\r\n /**\r\n * Get Signin data emitter\r\n */\r\n getSigninDataEmitter(): Observable {\r\n return this.signinDataEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit signin data\r\n */\r\n emitSigninData(data: Signin): void {\r\n this.signinDataEmitter.next(data);\r\n }\r\n /**\r\n * Get Signin data emitter\r\n */\r\n disableCrossEmitter(): Observable {\r\n return this.disableCrossFlag.asObservable();\r\n }\r\n\r\n /**\r\n * Emit signin data\r\n */\r\n setDisableCross(flag: boolean): void {\r\n this.disableCrossFlag.next(flag);\r\n }\r\n\r\n /**\r\n * white list a device\r\n * @param whitelistData whitelistdata\r\n */\r\n whitelistDevice(\r\n whitelistData: WhitelistDevice\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.get<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/account/whitelist?whitelistId=${whitelistData.deviceId}`\r\n );\r\n }\r\n\r\n isAgreementApproved(): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/account/isagreementapproved`,\r\n {isAgreementApproved : true}\r\n )\r\n }\r\n isTwoFactorEnabled(): any {\r\n return this.http.get(`${this.apiUrl}/account/getusertwofa`);\r\n }\r\n\r\n createTemporaryAccount(\r\n signupData: Signup\r\n ): Observable {\r\n return this.http.post(\r\n `${this.apiUrl}/account/createtemporaryaccount`,\r\n signupData\r\n );\r\n }\r\n\r\n getTemporaryAccountDetails(id) {\r\n return this.http.get(\r\n `${this.apiUrl}/account/gettemporaryaccountdetails?id=${id}`,\r\n );\r\n }\r\n\r\n getUserCountry(): Observable {\r\n return this.http.get(environment.ipInfo);\r\n }\r\n}\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\n\r\n@Component({\r\n selector: 'cashaa-activity-balance-attention-cancel-trasnfer',\r\n templateUrl: './activity-balance-attention-cancel-transfer.component.html',\r\n styleUrls: ['./activity-balance-attention-cancel-transfer.component.scss']\r\n})\r\nexport class ActivityBalanceAttentionCancelTrasnferComponent implements OnInit {\r\n\r\n constructor(public modalRef: MDBModalRef) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n \r\n ×\r\n \r\n \r\n Cancel transfer #5464645\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n Download\r\n \r\n
\r\n
\r\n\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\n\r\n@Component({\r\n selector: 'cashaa-activity-balance-attention',\r\n templateUrl: './activity-balance-attention.component.html',\r\n styleUrls: ['./activity-balance-attention.component.scss']\r\n})\r\nexport class ActivityBalanceAttentionComponent implements OnInit {\r\n\r\n @Input() ledger: ILedgerList;\r\n\r\n constructor(private modalService: ModalService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n cancelTransfer(): void {\r\n this.modalService.attentionCancelTransfer();\r\n }\r\n\r\n}\r\n","{{ledger | json }}\r\n
\r\n
\r\n Need your attention\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n To Cashaa Technologies\r\n
\r\n \r\n Sending Paused\r\n \r\n
\r\n
\r\n 99.56 EUR
\r\n \r\n 100EUR\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Ready to pay?
\r\n \r\n Next, Send your morning to your GBP account. We'll get started on your transfer\r\n
\r\n the moment we recieve your money.\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\n\r\n@Component({\r\n selector: 'cashaa-activity-balance-cancelled',\r\n templateUrl: './activity-balance-cancelled.component.html',\r\n styleUrls: ['./activity-balance-cancelled.component.scss']\r\n})\r\nexport class ActivityBalanceCancelledComponent implements OnInit {\r\n\r\n @Input() ledger: ILedgerList;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n Thursday, 12th\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n To Janina Lowisz\r\n
\r\n Cancelled\r\n
\r\n
\r\n 99.56 EUR
\r\n \r\n 100EUR\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n To
Your USD account\r\n
\r\n\r\n
\r\n Reference
Invoice 21\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Transfer Number
653654\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { ILedgerList } from \"src/app/core/models/activity/recent-transaction-list\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-activity-balance-converted\",\r\n templateUrl: \"./activity-balance-converted.component.html\",\r\n styleUrls: [\"./activity-balance-converted.component.scss\"],\r\n})\r\nexport class ActivityBalanceConvertedComponent implements OnInit {\r\n @Input() ledger: ILedgerList;\r\n constructor(private modalService: ModalService) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n openDetailBox(): void {\r\n this.modalService.openActivityTransferDetail(this.ledger);\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n getCurrencyAccName(curr): string {\r\n if (curr === \"AUSD\") return \"USD Account\";\r\n else if (curr === \"USD\") return \"USD Wallet\";\r\n else return curr;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n To\r\n your {{ getCurrencyAccName(ledger?.convertTocurrency) }}\r\n balance\r\n
\r\n Exchanged\r\n
\r\n
\r\n {{ ledger?.convertToamount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.convertTocurrency) }}
\r\n \r\n {{ ledger?.convertFromamount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.convertfromcurrency) }}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Moved From
\r\n Your {{ getCurrencyName(ledger?.convertfromcurrency) }} balance\r\n
\r\n\r\n
\r\n Amount exchanged
\r\n {{ ledger?.convertFromamount }} {{ getCurrencyName(ledger?.convertfromcurrency)\r\n }}\r\n
\r\n
\r\n
\r\n
\r\n Exchanged to
\r\n {{ ledger?.convertToamount | number: \"0.0-4\" }} {{\r\n getCurrencyName(ledger?.convertTocurrency)\r\n }}\r\n
\r\n\r\n
\r\n Completed
\r\n {{ ledger?.created | date:'longDate'}}\r\n
\r\n
\r\n
\r\n
\r\n Exchange Rate
\r\n {{ ledger?.exchangeRate }} {{\r\n getCurrencyName(ledger?.convertfromcurrency) }}/\r\n {{ getCurrencyName(ledger?.convertTocurrency) }}\r\n
\r\n
\r\n Fee
\r\n {{ ledger?.convertfee }} {{ getCurrencyName(ledger?.feeCurrency) }}\r\n\r\n
\r\n
\r\n
\r\n
\r\n Transaction Number
\r\n {{ ledger?.transactionId }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnDestroy, OnInit, ViewChild, EventEmitter, Output } from \"@angular/core\";\r\nimport { ActivityService } from \"../services/activity.service\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { CarouselComponent } from \"ng-uikit-pro-standard\";\r\nimport { SubSink } from \"subsink\";\r\n\r\n@Component({\r\n selector: \"cashaa-activity-balance-list\",\r\n templateUrl: \"./activity-balance-list.component.html\",\r\n styleUrls: [\"./activity-balance-list.component.scss\"],\r\n})\r\nexport class ActivityBalanceListComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"slide\", { static: true }) slideController: CarouselComponent;\r\n\r\n /** Balance data */\r\n balanceData?: IUserBalance[];\r\n\r\n slides: any = [[]];\r\n\r\n loading = false;\r\n\r\n subSink = new SubSink();\r\n @Output() selectedCurrency = new EventEmitter();\r\n creditInterest;\r\n currencyInfo;\r\n constructor(\r\n private activityService: ActivityService,\r\n private userService: UserService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getCurrencyInfo();\r\n // this.getUserPlanDetails();\r\n this.subSink.add(\r\n this.activityService.getBalanceStatus().subscribe((data) => {\r\n if (data) {\r\n this.getBalance();\r\n }\r\n }));\r\n }\r\n\r\n // getUserPlanDetails() {\r\n // this.userService.getUserPlanDetail().subscribe(res => {\r\n // console.log(res);\r\n // this.creditInterest = res.borrowInterest;\r\n // }, err => {\r\n\r\n // })\r\n // }\r\n\r\n /**\r\n * Get balance data\r\n */\r\n getBalance(): void {\r\n this.loading = true;\r\n this.userService.getUserBalance().subscribe((balanceData) => {\r\n this.loading = false;\r\n if (balanceData) {\r\n this.balanceData = balanceData;\r\n // this.currencyInfo.filter(item => item.currencyId == this.currencyId);\r\n for(let i = 0; i < this.currencyInfo.length; i++) {\r\n for(let j = 0; j < this.balanceData.length; j++)\r\n if(this.balanceData[j]['currencyId'] == this.currencyInfo[i].currencyId) {\r\n this.balanceData[j]['borrowAt'] = this.currencyInfo[i].borrowAt;\r\n this.balanceData[j]['loyaltyPlanName'] = this.currencyInfo[i].loyaltyPlanName;\r\n this.balanceData[j]['upgradeTo'] = this.currencyInfo[i].upgradeTo;\r\n this.balanceData[j]['fLexTerm'] = this.currencyInfo[i].fLexTerm;\r\n this.balanceData[j]['fixedTerm'] = this.currencyInfo[i].fixedTerm;\r\n this.balanceData[j]['earnUpTo'] = this.currencyInfo[i].earnUpTo;\r\n this.balanceData[j]['longEarnUpTo'] = this.currencyInfo[i].longEarnUpTo;\r\n this.balanceData[j]['isFlexSubscribed'] = this.currencyInfo[i].isFlexSubscribed;\r\n this.balanceData[j]['casBonus'] = this.currencyInfo[i].casBonus;\r\n \r\n // console.log('this.balanceData:', this.balanceData);\r\n break;\r\n }\r\n \r\n }\r\n \r\n // let otherArr = this.balanceData.filter(a => a.currencyType !== 'CAS');\r\n // const CASDetails = this.balanceData.filter(a => a.currencyType === 'CAS');\r\n // for (let i = 1; i < otherArr.length; i++) {\r\n // for (let j = 0; j < i; j++) {\r\n // if ((otherArr[i].available + (otherArr[i].onhold || 0)) > (otherArr[j].available + (otherArr[j].onhold || 0))) {\r\n // let x = otherArr[i];\r\n // otherArr[i] = otherArr[j];\r\n // otherArr[j] = x;\r\n // }\r\n // }\r\n // }\r\n // this.balanceData = [...CASDetails, ...otherArr];\r\n if (window.matchMedia(\"(min-width: 1199px)\").matches) {\r\n this.slides = this.chunk(this.balanceData, 4);\r\n } else if (window.matchMedia(\"(min-width: 991px)\").matches) {\r\n this.slides = this.chunk(this.balanceData, 3);\r\n } else if (window.matchMedia(\"(min-width: 767px)\").matches) {\r\n this.slides = this.chunk(this.balanceData, 2);\r\n } else {\r\n this.slides = this.chunk(this.balanceData, 1);\r\n }\r\n }\r\n });\r\n }\r\n\r\n // getCurrencyInfo() {\r\n // this.userService.getFlexAndFdDetail().subscribe((res) => {\r\n // console.log('res: ', res);\r\n // this.currencyInfo = res;\r\n \r\n // }, err => {\r\n // this.loading = false;\r\n // });\r\n // }\r\n\r\n\r\n chunk(arr, chunkSize): any {\r\n let R = [];\r\n for (let i = 0, len = arr.length; i < len; i += chunkSize) {\r\n R.push(arr.slice(i, i + chunkSize));\r\n }\r\n return R;\r\n }\r\n\r\n next(): void {\r\n this.slideController.nextSlide();\r\n }\r\n\r\n previous(): void {\r\n this.slideController.previousSlide();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subSink.unsubscribe();\r\n }\r\n updateLedgerList(event) {\r\n this.selectedCurrency.emit(event);\r\n }\r\n\r\n getCurrencyInfo() {\r\n this.userService.getFlexAndFdDetail().subscribe((res) => {\r\n this.currencyInfo = res;\r\n this.getBalance();\r\n }, err => {\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
Trending Coins
\r\n
\r\n View Statement\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
","import { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { ILedgerList } from \"src/app/core/models/activity/recent-transaction-list\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n TRANSACTION_SUCCESS_CANCELLED,\r\n UNABLE_TO_PERFORM_ERROR,\r\n VERIFICATION_MESG,\r\n} from \"src/app/app.constants\";\r\nimport { FiatService } from \"src/app/fiat/services/fiat.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-activity-balance-onboarding-fee\",\r\n templateUrl: \"./activity-balance-onboarding-fee.component.html\",\r\n styleUrls: [\"./activity-balance-onboarding-fee.component.scss\"],\r\n})\r\nexport class ActivityBalanceOnboardingFeeComponent implements OnInit {\r\n @Input() ledger: ILedgerList;\r\n\r\n constructor(\r\n private modalService: ModalService\r\n ) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n openDetailBox(): void {\r\n this.modalService.openActivityTransferDetail(this.ledger);\r\n }\r\n\r\n getName(): string {\r\n if (this.ledger.ledgerType === 13) {\r\n return 'USD Account Onboarding Fee';\r\n } else if (this.ledger.ledgerType === 15) {\r\n return 'Broker Fee';\r\n } else if (this.ledger.ledgerType === 18) {\r\n return 'NFT Fee';\r\n } else if (this.ledger.ledgerType === 17) {\r\n return 'KYC Fee';\r\n } else if (this.ledger.ledgerType === 21) {\r\n return 'Service Charge';\r\n } else if (this.ledger.ledgerType === 24) {\r\n return 'Upgrade Fee';\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{getName()}}
\r\n
\r\n {{ ledger.amount | number: \"0.0-4\" }} {{ ledger.currency }}
\r\n {{ ledger.amount + ledger.networkFee | number: \"0.0-4\" }}\r\n {{ ledger.currency }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n To
\r\n Cashaa\r\n
\r\n
\r\n Memo
\r\n {{ledger.transactionData}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { ILedgerList } from \"src/app/core/models/activity/recent-transaction-list\";\r\nimport { LedgerType } from \"src/app/core/enums/ledgerType\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Component({\r\n selector: \"cashaa-activity-balance-recieved\",\r\n templateUrl: \"./activity-balance-recieved.component.html\",\r\n styleUrls: [\"./activity-balance-recieved.component.scss\"],\r\n})\r\nexport class ActivityBalanceRecievedComponent implements OnInit {\r\n @Input() ledger: ILedgerList;\r\n\r\n constructor(private modalService: ModalService) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n openDetailBox(): void {\r\n this.modalService.openActivityTransferDetail(this.ledger);\r\n }\r\n\r\n getType(id: number): any {\r\n return LedgerType[id];\r\n }\r\n\r\n isTransactionIdExistMigration(): boolean {\r\n return (\r\n this.ledger.transactionId?.toLowerCase().includes(\"migration\") ||\r\n this.ledger.transactionId?.toLowerCase().includes(\"-\")\r\n );\r\n }\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n isCrypto(): boolean {\r\n return this.ledger.currency === \"ETH\" ||\r\n this.ledger.currency == \"BTC\" ||\r\n this.ledger.currency == \"CAS\" ||\r\n this.ledger.currency == \"BNB\" ||\r\n this.ledger.currency == \"USDT\" ||\r\n this.ledger.currency == \"DOG\" ||\r\n this.ledger.currency == \"XRP\" ||\r\n this.ledger.currency == \"LTC\" ||\r\n this.ledger.currency == \"ADA\" ||\r\n this.ledger.currency == \"BCH\" ||\r\n this.ledger.currency == \"BNB\" ||\r\n this.ledger.currency == \"BNB20\" ||\r\n this.ledger.currency == \"LINK\" ||\r\n this.ledger.currency == \"UNI\" ||\r\n this.ledger.currency == \"USDC\" ||\r\n this.ledger.currency == \"TON\" ||\r\n this.ledger.currency == \"SOL\"\r\n\r\n }\r\n\r\n isFiatAndAccount(): boolean {\r\n return this.ledger.currency == \"GBP\" ||\r\n this.ledger.currency == \"EUR\" ||\r\n this.ledger.currency == \"AUSD\" ||\r\n this.ledger.currency == \"USD\" ||\r\n this.ledger.currency == \"SGD\" ||\r\n this.ledger.currency == \"AUD\" ||\r\n this.ledger.currency == \"CNH\" ||\r\n this.ledger.currency == \"CAD\" ||\r\n this.ledger.currency == \"CHF\" ||\r\n this.ledger.currency == \"NZD\" ||\r\n this.ledger.currency == \"JPY\" ||\r\n this.ledger.currency == \"MXN\" ||\r\n this.ledger.currency == \"SHIB\"\r\n }\r\n\r\n getRef(): string {\r\n if (this.ledger.currency === 'CAS') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.CAS + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'BNB') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.BNB + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'BCH') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.BCH + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'XRP') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.XRP + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'LTC') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.LTC + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'DOG') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.DOG + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'ETH') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.ETH + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'USDT') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.USDT + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'BTC') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.BTC + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'UNI') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.UNI + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'LINK') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.LINK + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'USDC') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.USDC + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'TON') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.USDC + this.ledger.transactionId;\r\n }\r\n else if (this.ledger.currency === 'SOL') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.USDC + this.ledger.transactionId;\r\n }\r\n }\r\n\r\n getRefValue(currency: string): string {\r\n if (currency === 'LINK' || currency === 'USDC' || currency === 'UNI' || currency === 'USDT' || currency === 'CAS') {\r\n if (this.ledger.networkType == 1) {\r\n return environment.NETWORK_ERC20 + this.ledger.transactionId;\r\n } else if (this.ledger.networkType == 2) {\r\n return environment.NETWORK_BEP20 + this.ledger.transactionId;\r\n } else if (this.ledger.networkType == 4 && currency === 'USDT') {\r\n return environment.NETWORK_TRC20 + this.ledger.transactionId;\r\n }\r\n }\r\n\r\n if ((currency === 'LTC' || currency === 'BNB' || currency === 'ETH' || currency === 'BCH' || currency === 'XRP' || currency === 'DOG') &&\r\n this.ledger.networkType == 2) {\r\n return environment.NETWORK_BEP20 + this.ledger.transactionId;\r\n }\r\n\r\n if (currency === 'CAS' && this.ledger.networkType == 3) {\r\n return environment.NETWORK_POLYGON + this.ledger.transactionId;\r\n }\r\n\r\n }\r\n }","
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n From\r\n \r\n {{ledger.fromAddress}}\r\n \r\n \r\n \r\n {{ledger.fromAddress}}\r\n \r\n
\r\n {{ getType(ledger.ledgerType) }}\r\n
\r\n
\r\n \r\n {{ ledger.amount | number: \"0.0-8\" }} {{ ledger.currency }}\r\n
\r\n \r\n {{ ledger.amount + ledger.networkFee | number: \"0.0-8\" }}\r\n {{ getCurrencyName(ledger.currency) }}\r\n \r\n
\r\n \r\n \r\n {{ ledger.amount | number: \"0.0-6\" }} {{ ledger.currency }}\r\n
\r\n \r\n {{ ledger.amount + ledger.networkFee | number: \"0.0-6\" }}\r\n {{ getCurrencyName(ledger.currency) }}\r\n \r\n
\r\n
\r\n \r\n \r\n {{ ledger.amount | number: \"0.0-5\" }} {{ ledger.currency }}\r\n
\r\n \r\n {{ ledger.amount + ledger.networkFee | number: \"0.0-5\" }}\r\n {{ getCurrencyName(ledger.currency) }}\r\n \r\n
\r\n
\r\n \r\n {{ ledger.amount | number: \"0.0-4\" }} {{ ledger.currency }}\r\n
\r\n \r\n {{ ledger.amount + ledger.networkFee | number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger.currency) }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n To
\r\n \r\n {{\r\n ledger.toAddress\r\n }}\r\n \r\n \r\n {{\r\n\"Your\r\n \"+ledger.currency+\" account\"\r\n }}\r\n \r\n
\r\n
\r\n Transaction Hash
\r\n
\r\n {{ledger.transactionId}}\r\n {{ledger.transactionId}}\r\n
\r\n
\r\n\r\n
\r\n {{isFiatAndAccount() ?'Reference':'Memo'}}
\r\n {{ ledger.transactionData }}\r\n
\r\n
\r\n
\r\n
\r\n Transfer Number
\r\n {{ ledger.transactionId }}\r\n
\r\n
0\" class=\"col-sm\">\r\n Fee
\r\n {{ledger.convertfee}} {{ ledger.feeCurrency}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\n\r\n@Component({\r\n selector: 'cashaa-activity-balance-spent',\r\n templateUrl: './activity-balance-spent.component.html',\r\n styleUrls: ['./activity-balance-spent.component.scss']\r\n})\r\nexport class ActivityBalanceSpentComponent implements OnInit {\r\n\r\n @Input() ledger: ILedgerList;\r\n\r\n constructor(private modalService: ModalService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n help(): void {\r\n this.modalService.openTicketCreateModal();\r\n }\r\n}\r\n","
\r\n
\r\n Thursday, 12th\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n To Janina Lowisz\r\n
\r\n Spent\r\n
\r\n
\r\n 99.56 EUR
\r\n \r\n 100EUR\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Transaction Details :\r\n
\r\n\r\n
\r\n Date
14th May 2020, 5:30 PM\r\n
\r\n
\r\n Transaction Type
E-Commerce purchase\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Status
Complete\r\n
\r\n
\r\n Transaction ID
6545646545\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { ILedgerList } from \"src/app/core/models/activity/recent-transaction-list\";\r\nimport { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { environment } from \"src/environments/environment\";\r\n// import jsPDF from \"jspdf\";\r\n\r\n@Component({\r\n selector: \"cashaa-activity-balance-transfer-detail\",\r\n templateUrl: \"./activity-balance-transfer-detail.component.html\",\r\n styleUrls: [\"./activity-balance-transfer-detail.component.scss\"],\r\n})\r\nexport class ActivityBalanceTransferDetailComponent implements OnInit {\r\n detail: ILedgerList;\r\n copied: boolean = false;\r\n // @ViewChild('pdfTable', { static: false }) pdfTable: ElementRef;\r\n constructor(\r\n public modalRef: MDBModalRef,\r\n private toastrService: ToastrService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n // amount: 1\r\n // cashaaFee: 0\r\n // cashaaFeeMode: 0\r\n // cashaaUserId: \"1ec66ca5-7e47-443c-8113-44342b3abd83\"\r\n // convertFromamount: 2\r\n // convertToamount: 1\r\n // convertTocurrency: \"GBP\"\r\n // convertfee: 1\r\n // convertfromcurrency: \"GBP\"\r\n // created: \"2020-08-12T12:06:53.794004\"\r\n // currency: \"GBP\"\r\n // exchangeRate: 0\r\n // fromAddress: null\r\n // fullName: \"Anwar Haque\"\r\n // id: \"f8913d22-7eeb-4657-9594-476375c68f42\"\r\n // ledgerRecipient: \"Amjad Khan\"\r\n // ledgerType: 8\r\n // networkFee: 0\r\n // sendCurrency: 0\r\n // status: 1\r\n // toAddress: null\r\n // transactionData: \"UserTransaction-1.00\"\r\n // transactionId: \"539355c0-019c-4cfd-a4d4-4d71576b2cd1\"\r\n // transferType: 1\r\n }\r\n\r\n convert(): void {\r\n // const doc = new jsPDF({\r\n // orientation: \"portrait\",\r\n // unit: \"in\",\r\n // format: [4, 2]\r\n // });\r\n // //doc.autoTable({html:”#invoice”});\r\n // doc.text(\"Hello world!\", 1, 1);\r\n // doc.save(\"two-by-four.pdf\");\r\n // const doc = new jsPDF();\r\n // const specialElementHandlers = {\r\n // '#editor': function (element, renderer) {\r\n // return true;\r\n // }\r\n // };\r\n // const pdfTable = this.pdfTable.nativeElement;\r\n // doc.addHTML(pdfTable.innerHTML,15,15);\r\n // doc.fromHTML(pdfTable.innerHTML, 15, 15, {\r\n // width: 190,\r\n // 'elementHandlers': specialElementHandlers\r\n // });\r\n // doc.save('tableToPdf.pdf');\r\n // const doc = new jsPDF();\r\n // const col = [\"Details\", \"Values\"];\r\n // const rows = [];\r\n // const itemNew = this.detail;\r\n // itemNew.forEach(element => {\r\n // const temp = [element.id, element.name];\r\n // rows.push(temp);\r\n // });\r\n //doc.autoTa(col, rows);\r\n //doc.save('Test.pdf');\r\n }\r\n\r\n copyAddress(): void {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.detail.id);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n\r\n getAmountSend(): number {\r\n if (this.detail.ledgerType === 8 || this.detail.ledgerType === 9) {\r\n return this.detail.convertFromamount;\r\n } else if (this.detail.ledgerType === 1 || this.detail.ledgerType === 34 || this.detail.ledgerType === 35 || this.detail.ledgerType === 36) {\r\n return this.detail.amount;\r\n }\r\n }\r\n\r\n getCurrency() {\r\n if (this.detail.ledgerType === 8 || this.detail.ledgerType === 9) {\r\n if(this.detail.convertfromcurrency === 'DOG') {\r\n this.detail.convertfromcurrency = 'DOGE';\r\n }\r\n return `${this.detail.convertfromcurrency}`;\r\n } else if (this.detail.ledgerType === 1 || this.detail.ledgerType === 34 || this.detail.ledgerType === 35 || this.detail.ledgerType === 36) {\r\n if(this.detail.currency === 'DOG') {\r\n this.detail.currency = 'DOGE';\r\n }\r\n return `${this.detail.currency}`;\r\n }\r\n }\r\n\r\n isInvalidTransaction(): boolean {\r\n return this.detail.transactionId?.toLowerCase().includes(\"-\");\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n isCrypto(): boolean {\r\n return this.detail.currency === \"ETH\" ||\r\n this.detail.currency == \"BTC\" ||\r\n this.detail.currency == \"CAS\" ||\r\n this.detail.currency == \"BNB\" ||\r\n this.detail.currency == \"USDT\" ||\r\n this.detail.currency == \"DOG\" ||\r\n this.detail.currency == \"XRP\" ||\r\n this.detail.currency == \"LTC\" ||\r\n this.detail.currency == \"ADA\" ||\r\n this.detail.currency == \"BCH\" ||\r\n this.detail.currency == \"BNB\" ||\r\n this.detail.currency == \"BNB20\" ||\r\n this.detail.currency == \"LINK\" ||\r\n this.detail.currency == \"UNI\" ||\r\n this.detail.currency == \"USDC\"\r\n }\r\n\r\n isFiatAndAccount(): boolean {\r\n return this.detail.currency == \"GBP\" ||\r\n this.detail.currency == \"EUR\" ||\r\n this.detail.currency == \"AUSD\" ||\r\n this.detail.currency == \"USD\" ||\r\n this.detail.currency == \"SGD\" ||\r\n this.detail.currency == \"AUD\" ||\r\n this.detail.currency == \"CNH\" ||\r\n this.detail.currency == \"CAD\" ||\r\n this.detail.currency == \"CHF\" ||\r\n this.detail.currency == \"NZD\" ||\r\n this.detail.currency == \"JPY\" ||\r\n this.detail.currency == \"MXN\" ||\r\n this.detail.currency == \"SHIB\"\r\n\r\n }\r\n\r\n getRef(): string {\r\n if (this.detail.currency === 'CAS') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.CAS + this.detail.transactionId;\r\n } else if (this.detail.currency === 'BNB') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.BNB + this.detail.transactionId;\r\n } else if (this.detail.currency === 'BCH') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.BCH + this.detail.transactionId;\r\n } else if (this.detail.currency === 'XRP') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.XRP + this.detail.transactionId;\r\n } else if (this.detail.currency === 'LTC') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.LTC + this.detail.transactionId;\r\n } else if (this.detail.currency === 'DOG') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.DOG + this.detail.transactionId;\r\n } else if (this.detail.currency === 'ETH') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.ETH + this.detail.transactionId;\r\n } else if (this.detail.currency === 'USDT') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.USDT + this.detail.transactionId;\r\n } else if (this.detail.currency === 'BTC') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.BTC + this.detail.transactionId;\r\n } else if (this.detail.currency === 'UNI') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.UNI + this.detail.transactionId;\r\n } else if (this.detail.currency === 'LINK') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.LINK + this.detail.transactionId;\r\n } else if (this.detail.currency === 'USDC') {\r\n return this.detail.networkType ? this.getRefValue(this.detail.currency) : environment.USDC + this.detail.transactionId;\r\n }\r\n }\r\n\r\n getRefValue(currency: string): string {\r\n if (currency === 'LINK' || currency === 'USDC' || currency === 'UNI' || currency === 'USDT' || currency === 'CAS') {\r\n if (this.detail.networkType == 1) {\r\n return environment.NETWORK_ERC20 + this.detail.transactionId;\r\n } else if (this.detail.networkType == 2) {\r\n return environment.NETWORK_BEP20 + this.detail.transactionId;\r\n }\r\n }\r\n\r\n if ((currency === 'LTC' || currency === 'BNB' || currency === 'ETH' || currency === 'BCH' || currency === 'XRP' || currency === 'DOG') &&\r\n this.detail.networkType == 2) {\r\n return environment.NETWORK_BEP20 + this.detail.transactionId;\r\n }\r\n\r\n if (currency === 'CAS' && this.detail.networkType == 3) {\r\n return environment.NETWORK_POLYGON + this.detail.transactionId;\r\n }\r\n \r\n }\r\n}\r\n\r\n\r\n","
\r\n \r\n\r\n
\r\n Transfer #{{ detail.id | slice: -12 | uppercase }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Transfer Overview\r\n
\r\n
\r\n

From

\r\n
\r\n {{\r\n detail?.fromAddress\r\n ? detail.ledgerType == 1\r\n ? (detail?.fromAddress | slice: 0:10) +\r\n \"...\" +\r\n (detail.fromAddress\r\n | slice\r\n : detail.fromAddress.length - 10\r\n : detail.fromAddress.length)\r\n : detail?.fromAddress\r\n : detail?.fromAddress\r\n }}\r\n
\r\n\r\n \r\n {{ detail?.fromAddress}}\r\n \r\n
\r\n\r\n
\r\n

To

\r\n
\r\n {{\r\n detail.ledgerType === 1 || detail.ledgerType === 34 || detail.ledgerType === 35 || detail.ledgerType === 36\r\n ? (detail?.toAddress | slice: 0:6) +\r\n \"...\" +\r\n (detail.toAddress\r\n | slice: detail.toAddress.length - 10:detail.toAddress.length)\r\n : detail?.fullName\r\n }}\r\n
\r\n\r\n \r\n {{ \"Your \" + getCurrencyName(detail.currency) + \" account\" }}\r\n \r\n
\r\n\r\n
\r\n

Amount sent

\r\n\r\n
\r\n {{ getAmountSend() | number: \"0.0-4\" }} {{getCurrency()}}\r\n
\r\n
\r\n
\r\n

Fee

\r\n
\r\n {{detail.convertfee | number: \"0.0-4\" }} {{getCurrency()}}\r\n
\r\n
\r\n\r\n \r\n

Convert to

\r\n\r\n
\r\n {{ detail.convertToamount }} {{ getCurrencyName(detail.convertTocurrency) }}\r\n
\r\n
\r\n\r\n
\r\n

Fees

\r\n\r\n \r\n
\r\n {{ detail.convertfee | number: \"0.0-4\"}} {{ getCurrencyName(detail.feeCurrency) }}\r\n
\r\n
\r\n\r\n
\r\n

Exchange rate

\r\n\r\n
\r\n {{ detail.exchangeRate }}\r\n
\r\n
\r\n\r\n
\r\n

\r\n Transaction Hash\r\n

\r\n\r\n

\r\n Transfer Number\r\n

\r\n\r\n
\r\n {{\r\n (detail?.transactionId | slice: 0:6) +\r\n \"......\" +\r\n (detail.transactionId\r\n | slice\r\n : detail.transactionId.length - 10\r\n : detail.transactionId.length)\r\n }}\r\n N/A\r\n {{\r\n (detail?.transactionId | slice: 0:6) +\r\n \"......\" +\r\n (detail.transactionId\r\n | slice\r\n : detail.transactionId.length - 10\r\n : detail.transactionId.length)\r\n }}\r\n
\r\n
\r\n {{ detail?.transactionId ? detail?.transactionId : \"N/A\" }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n Recipient Details\r\n
\r\n\r\n
\r\n

To

\r\n
\r\n {{ detail?.ledgerRecipient }}\r\n
\r\n
\r\n\r\n
\r\n

Address

\r\n
\r\n {{\r\n detail?.toAddress ? (detail?.toAddress | slice: 0:6) + \"......\" + (detail.toAddress | slice :\r\n detail.toAddress.length - 10 : detail.toAddress.length)\r\n : detail?.ledgerRecipient\r\n }}\r\n
\r\n
\r\n
","import { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { ILedgerList } from \"src/app/core/models/activity/recent-transaction-list\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n TRANSACTION_SUCCESS_CANCELLED,\r\n UNABLE_TO_PERFORM_ERROR,\r\n VERIFICATION_MESG,\r\n} from \"src/app/app.constants\";\r\nimport { FiatService } from \"src/app/fiat/services/fiat.service\";\r\nimport { ActivityService } from \"../services/activity.service\";\r\nimport { CommonSavedData } from \"src/app/shared/services/commonSavedData.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Component({\r\n selector: \"cashaa-activity-balance-transfer\",\r\n templateUrl: \"./activity-balance-transfer.component.html\",\r\n styleUrls: [\"./activity-balance-transfer.component.scss\"],\r\n})\r\nexport class ActivityBalanceTransferComponent implements OnInit {\r\n @Input() ledger: ILedgerList;\r\n timerFlag;\r\n timerStart;\r\n timerTime;\r\n disableBtn;\r\n verificationClickCount = 0;\r\n isCancelFlag: boolean = false;\r\n isCancelLoading: boolean = false;\r\n isStackingLocked: boolean = false;\r\n sub: Subscription\r\n constructor(\r\n private modalService: ModalService,\r\n private router: Router,\r\n private toastrService: ToastrService,\r\n private fiatService: FiatService,\r\n private activityService: ActivityService,\r\n private commonSavedData: CommonSavedData\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.isCancelFlag =\r\n this.ledger.status === 9 && this.ledger.withdrawConfirm === false;\r\n this.isStackingLocked =\r\n this.ledger.status === 11 && this.ledger.islocked === true;\r\n }\r\n\r\n openDetailBox(): void {\r\n this.modalService.openActivityTransferDetail(this.ledger);\r\n }\r\n\r\n help(): void {\r\n this.modalService.openTicketCreateModal(this.ledger.ledgerType);\r\n }\r\n\r\n cancel(id?): void {\r\n this.modalService.openConfirmationModal(\"Do you want to cancel the transaction?\");\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n if (status) {\r\n this.isCancelLoading = true;\r\n this.fiatService.cancelTransaction(id).subscribe(\r\n (res) => {\r\n if (res.message === \"success\") {\r\n this.isCancelFlag = true;\r\n this.isCancelLoading = false;\r\n this.activityService.emitBalanceRefreshStatus(true);\r\n this.toastrService.success(TRANSACTION_SUCCESS_CANCELLED);\r\n }\r\n },\r\n (err) => {\r\n this.isCancelLoading = false;\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n );\r\n }\r\n this.sub.unsubscribe();\r\n });\r\n }\r\n\r\n isCancel(): boolean {\r\n return this.isCancelFlag;\r\n }\r\n\r\n isCancelStacking(): boolean {\r\n return this.isStackingLocked;\r\n }\r\n\r\n isSuccessClass(step): boolean {\r\n if (this.ledger.ledgerType === 11) {\r\n if (step === 4) {\r\n if (this.ledger.islocked) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n return true;\r\n } else if (this.isFiatAndAccount() || this.isCrypto()) {\r\n switch (step) {\r\n case 2:\r\n if (this.ledger.status === 1 && !this.ledger.withdrawConfirm) {\r\n return true;\r\n } else if (this.ledger.status === 2 && this.ledger.withdrawConfirm) {\r\n return true;\r\n } else if (this.ledger.withdrawConfirm && this.ledger.status === 1) {\r\n return true;\r\n } else if (this.isCancelFlag) {\r\n return true;\r\n }\r\n return false;\r\n case 3:\r\n if (this.ledger.status === 1 && this.ledger.withdrawConfirm) {\r\n return true;\r\n } else if (this.ledger.status === 2 && this.ledger.withdrawConfirm) {\r\n return true;\r\n } else if (this.isCancelFlag) {\r\n return true;\r\n }\r\n return false;\r\n case 4:\r\n if (this.ledger.status === 2 && this.ledger.withdrawConfirm) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n timerExpire() {\r\n if (this.verificationClickCount < 3) {\r\n this.timerFlag = false;\r\n this.timerStart = false;\r\n } else {\r\n this.disableBtn = true;\r\n this.timerStart = false;\r\n }\r\n }\r\n\r\n getVerificaionLink() {\r\n this.fiatService.isCryptoReSendVerification(this.ledger.id).subscribe(\r\n (flag) => {\r\n if (flag.message) {\r\n this.timerTime = 60;\r\n this.timerFlag = true;\r\n this.timerStart = true;\r\n this.verificationClickCount++;\r\n this.toastrService.success(VERIFICATION_MESG);\r\n }\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n isCrypto(): boolean {\r\n return this.ledger.currency === \"ETH\" ||\r\n this.ledger.currency == \"BTC\" ||\r\n this.ledger.currency == \"CAS\" ||\r\n this.ledger.currency == \"BNB\" ||\r\n this.ledger.currency == \"USDT\" ||\r\n this.ledger.currency == \"DOG\" ||\r\n this.ledger.currency == \"XRP\" ||\r\n this.ledger.currency == \"LTC\" ||\r\n this.ledger.currency == \"ADA\" ||\r\n this.ledger.currency == \"BCH\" ||\r\n this.ledger.currency == \"BNB\" ||\r\n this.ledger.currency == \"BNB20\" ||\r\n this.ledger.currency == \"LINK\" ||\r\n this.ledger.currency == \"UNI\" ||\r\n this.ledger.currency == \"USDC\"\r\n }\r\n\r\n isFiatAndAccount(): boolean {\r\n return this.ledger.currency == \"GBP\" ||\r\n this.ledger.currency == \"EUR\" ||\r\n this.ledger.currency == \"AUSD\" ||\r\n this.ledger.currency == \"USD\" ||\r\n this.ledger.currency == \"SGD\" ||\r\n this.ledger.currency == \"AUD\" ||\r\n this.ledger.currency == \"CNH\" ||\r\n this.ledger.currency == \"CAD\" ||\r\n this.ledger.currency == \"CHF\" ||\r\n this.ledger.currency == \"NZD\" ||\r\n this.ledger.currency == \"JPY\" ||\r\n this.ledger.currency == \"MXN\" ||\r\n this.ledger.currency == \"SHIB\"\r\n\r\n }\r\n\r\n getRef(): string {\r\n if (this.ledger.currency === 'CAS') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.CAS + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'BNB') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.BNB + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'BCH') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.BCH + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'XRP') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.XRP + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'LTC') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.LTC + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'DOG') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.DOG + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'ETH') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.ETH + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'USDT') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.USDT + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'BTC') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.BTC + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'UNI') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.UNI + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'LINK') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.LINK + this.ledger.transactionId;\r\n } else if (this.ledger.currency === 'USDC') {\r\n return this.ledger.networkType ? this.getRefValue(this.ledger.currency) : environment.USDC + this.ledger.transactionId;\r\n }\r\n }\r\n\r\n getRefValue(currency: string): string {\r\n if (currency === 'LINK' || currency === 'USDC' || currency === 'UNI' || currency === 'USDT') {\r\n if (this.ledger.networkType == 1) {\r\n return environment.NETWORK_ERC20 + this.ledger.transactionId;\r\n } else if (this.ledger.networkType == 2) {\r\n return environment.NETWORK_BEP20 + this.ledger.transactionId;\r\n }\r\n }\r\n\r\n if ((currency === 'CAS' || currency === 'BNB' || currency === 'ETH' || currency === 'BCH' || currency === 'XRP' || currency === 'DOG') &&\r\n this.ledger.networkType == 2) {\r\n return environment.NETWORK_BEP20 + this.ledger.transactionId;\r\n }\r\n\r\n if (currency === 'CAS' && this.ledger.networkType == 3) {\r\n return environment.NETWORK_POLYGON + this.ledger.transactionId;\r\n }\r\n \r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n To\r\n {{\r\n ledger?.ledgerRecipient\r\n }}\r\n Locked\r\n
\r\n \r\n Pending\r\n Processing\r\n Cancelled\r\n \r\n Sent\r\n
\r\n
\r\n {{ ledger?.convertToamount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.convertTocurrency) }}
\r\n {{ ledger?.convertFromamount | number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.convertfromcurrency) }}\r\n
\r\n
\r\n {{ ledger?.convertFromamount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.currency) }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { ILedgerList } from \"src/app/core/models/activity/recent-transaction-list\";\r\n\r\n@Component({\r\n selector: \"cashaa-activity-balance-usd-staking\",\r\n templateUrl: \"./activity-balance-usd-staking.component.html\",\r\n styleUrls: [\"./activity-balance-usd-staking.component.scss\"],\r\n})\r\nexport class ActivityBalanceUsdStakingComponent implements OnInit {\r\n @Input() ledger: ILedgerList;\r\n disableBtn;\r\n verificationClickCount = 0;\r\n isStackingLocked: boolean = false;\r\n constructor(\r\n private modalService: ModalService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.isStackingLocked =\r\n this.ledger.status === 11 && this.ledger.islocked === true;\r\n }\r\n\r\n openDetailBox(): void {\r\n this.modalService.openActivityTransferDetail(this.ledger);\r\n }\r\n\r\n help(): void {\r\n this.modalService.openTicketCreateModal(this.ledger.ledgerType);\r\n }\r\n\r\n isSuccessClass(step): boolean {\r\n if (this.ledger.ledgerType === 12) {\r\n if (step === 4) {\r\n if (this.ledger.islocked) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n return true;\r\n } else if (\r\n this.ledger.currency === \"ETH\" ||\r\n this.ledger.currency == \"BTC\" ||\r\n this.ledger.currency == \"CAS\" ||\r\n this.ledger.currency == \"USDT\" ||\r\n this.ledger.currency == \"GBP\" ||\r\n this.ledger.currency == \"EUR\" ||\r\n this.ledger.currency == \"USD\"\r\n ) {\r\n switch (step) {\r\n case 2:\r\n if (this.ledger.status === 1 && !this.ledger.withdrawConfirm) {\r\n return true;\r\n } else if (this.ledger.status === 2 && this.ledger.withdrawConfirm) {\r\n return true;\r\n } else if (this.ledger.withdrawConfirm && this.ledger.status === 1) {\r\n return true;\r\n }\r\n return false;\r\n case 3:\r\n if (this.ledger.status === 1 && this.ledger.withdrawConfirm) {\r\n return true;\r\n } else if (this.ledger.status === 2 && this.ledger.withdrawConfirm) {\r\n return true;\r\n }\r\n return false;\r\n case 4:\r\n if (this.ledger.status === 2 && this.ledger.withdrawConfirm) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n To\r\n USD Account Staking\r\n
\r\n \r\n Pending\r\n Processing\r\n \r\n Sent\r\n
\r\n
\r\n {{ ledger?.convertFromamount |number: \"0.0-4\" }}\r\n {{ ledger?.currency }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { ILedgerList } from \"src/app/core/models/activity/recent-transaction-list\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n TRANSACTION_SUCCESS_CANCELLED,\r\n UNABLE_TO_PERFORM_ERROR,\r\n VERIFICATION_MESG,\r\n} from \"src/app/app.constants\";\r\nimport { FiatService } from \"src/app/fiat/services/fiat.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-activity-balance-weekly-reward\",\r\n templateUrl: \"./activity-balance-weekly-reward.component.html\",\r\n styleUrls: [\"./activity-balance-weekly-reward.component.scss\"],\r\n})\r\nexport class ActivityBalanceWeeklyRewardComponent implements OnInit {\r\n @Input() ledger: ILedgerList;\r\n\r\n constructor(private modalService: ModalService) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n openDetailBox(): void {\r\n this.modalService.openActivityTransferDetail(this.ledger);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
Staked for 30% APR
\r\n
\r\n {{ ledger.amount | number: \"0.0-4\" }} {{ ledger.currency }}
\r\n {{ ledger.amount + ledger.networkFee | number: \"0.0-4\" }}\r\n {{ ledger.currency }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n To
\r\n Cashaa\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LedgerType } from 'src/app/core/enums/ledgerType';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\n\r\n@Component({\r\n selector: 'cashaa-activity-balance-withdrawn',\r\n templateUrl: './activity-balance-withdrawn.component.html',\r\n styleUrls: ['./activity-balance-withdrawn.component.scss']\r\n})\r\nexport class ActivityBalanceWithdrawnComponent implements OnInit {\r\n\r\n @Input() ledger: ILedgerList;\r\n constructor(private modalService: ModalService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openDetailBox(): void {\r\n this.modalService.openActivityTransferDetail(this.ledger);\r\n }\r\n\r\n help(): void {\r\n this.modalService.openTicketCreateModal(this.ledger.ledgerType);\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n Thursday, 12th\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n To {{ledger.fullName}}\r\n
\r\n Spent\r\n
\r\n
\r\n {{ledger.amount}}
\r\n \r\n 100EUR\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Transaction Details :\r\n
\r\n\r\n
\r\n Conversion Fee
0.12 EUR\r\n
\r\n
\r\n Exchange Rate
4.5875\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n Date
{{ledger.created}}\r\n
\r\n
\r\n Transaction Type
ATM withdrawal\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Status
Complete\r\n
\r\n
\r\n Transaction ID
{{ledger.id}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input } from '@angular/core';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\n\r\n\r\n@Component({\r\n selector: 'cashaa-activity-credit-availed',\r\n templateUrl: './activity-credit-availed.component.html',\r\n styleUrls: ['./activity-credit-availed.component.scss']\r\n})\r\nexport class ActivityCreditAvailedComponent {\r\n @Input() ledger: ILedgerList;\r\n\r\n getCurrencyName(curr: string): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === 'DOG') return 'DOGE';\r\n else return curr;\r\n }\r\n getApproxDailyInterest(annualInterest) {\r\n return annualInterest/365;\r\n }\r\n\r\n}","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ getCurrencyName(ledger?.currency) }}\r\n {{ ledger.transactionData\r\n }} {{ledger.loanNumber}}\r\n
\r\n
\r\n {{ ledger.amount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.currency) }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Loan Currency
\r\n \"currency\"\r\n\r\n {{ledger?.currency}}\r\n
\r\n
\r\n Loan Amount
\r\n {{ ledger.amount |number: \"0.0-4\"\r\n }} {{ ledger?.feeCurrency}}\r\n
\r\n
\r\n
\r\n
\r\n Date
\r\n {{ ledger.created| date:'longDate'}}\r\n
\r\n
\r\n Loan Number
\r\n {{ ledger.loanNumber}}\r\n
\r\n
\r\n
\r\n
\r\n Annual Interest Rate
\r\n {{ ledger.dailyInterest\r\n }}% ~({{getApproxDailyInterest(ledger?.dailyInterest) | number:\r\n '0.0-3'}}% Daily)\r\n
\r\n
\r\n Transaction Number
\r\n {{ ledger?.transactionId }}\r\n
\r\n
\r\n
\r\n
\r\n Status
\r\n Open\r\n Closed\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\n\r\n\r\n@Component({\r\n selector: 'cashaa-activity-credit-interest',\r\n templateUrl: './activity-credit-interest.component.html',\r\n styleUrls: ['./activity-credit-interest.component.scss']\r\n})\r\nexport class ActivityCreditInterestComponent {\r\n @Input() ledger: ILedgerList;\r\n\r\n constructor(private modalService: ModalService) { }\r\n\r\n getCurrencyName(curr: string): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === 'DOG') return 'DOGE';\r\n else return curr;\r\n }\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ ledger.transactionData }} {{ledger.loanNumber}}\r\n
\r\n
\r\n {{ ledger.amount | number: \"0.0-6\" }}\r\n {{ getCurrencyName(ledger?.currency) }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Interest Debit Currency
\r\n \"currency\"\r\n {{ledger?.currency}}\r\n
\r\n
\r\n Interest Debit Amount
\r\n {{ ledger.amount |number: \"0.0-6\" }} {{ ledger?.feeCurrency}}\r\n
\r\n
\r\n
\r\n
\r\n Date
\r\n {{ ledger.created| date:'longDate'}}\r\n
\r\n
\r\n Loan Number
\r\n {{ ledger.loanNumber}}\r\n
\r\n
\r\n
\r\n
\r\n Daily Interest Rate
\r\n {{ ledger?.dailyInterest }}%\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input } from '@angular/core';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\n\r\n@Component({\r\n selector: 'cashaa-activity-credit-locked-released',\r\n templateUrl: './activity-credit-locked-released.component.html',\r\n styleUrls: ['./activity-credit-locked-released.component.scss']\r\n})\r\nexport class ActivityCreditLockedReleasedComponent {\r\n @Input() ledger: ILedgerList;\r\n\r\n getCurrencyName(curr: string): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === 'DOG') return 'DOGE';\r\n else return curr;\r\n }\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ getCurrencyName(ledger?.currency) }}\r\n {{ ledger.transactionData }}\r\n
\r\n
\r\n {{ ledger.amount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.currency) }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Collateral Currency
\r\n \"currency\"\r\n {{ledger?.currency}}\r\n
\r\n
\r\n Collateral Amount
\r\n {{ ledger.amount |number: \"0.0-4\" }} {{ ledger?.feeCurrency}}\r\n
\r\n
\r\n
\r\n
\r\n Date
\r\n {{ ledger.created| date:'longDate'}}\r\n
\r\n
\r\n Loan Number
\r\n {{ ledger.loanNumber}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input } from '@angular/core';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\n\r\n@Component({\r\n selector: 'cashaa-activity-credit-locked',\r\n templateUrl: './activity-credit-locked.component.html',\r\n styleUrls: ['./activity-credit-locked.component.scss']\r\n})\r\nexport class ActivityCreditLockedComponent {\r\n @Input() ledger: ILedgerList;\r\n\r\n getCurrencyName(curr: string): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === 'DOG') return 'DOGE';\r\n else return curr;\r\n }\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ getCurrencyName(ledger?.currency) }}\r\n {{ ledger.transactionData }}\r\n
\r\n
\r\n {{ ledger.amount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.currency) }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Collateral Currency
\r\n \"currency\"\r\n\r\n {{ledger?.currency}}\r\n
\r\n
\r\n Collateral Amount
\r\n {{ ledger.amount\r\n }} {{ ledger?.feeCurrency}}\r\n
\r\n
\r\n
\r\n
\r\n Date
\r\n {{ ledger.created| date:'longDate'}}\r\n
\r\n
\r\n Loan Number
\r\n {{ ledger.loanNumber}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { RateType } from 'src/app/core/enums/rateTypeEnum';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\n\r\n\r\n@Component({\r\n selector: 'cashaa-activity-credit-repaid',\r\n templateUrl: './activity-credit-repaid.component.html',\r\n styleUrls: ['./activity-credit-repaid.component.scss']\r\n})\r\nexport class ActivityCreditRepaidComponent {\r\n @Input() ledger: ILedgerList;\r\n\r\n getCurrencyName(curr: string): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === 'DOG') return 'DOGE';\r\n else return curr;\r\n }\r\n\r\n getAmountWithFee() {\r\n if(this.ledger?.convertFee) {\r\n return Number(this.ledger.amount) + Number(this.ledger?.convertFee)\r\n } else {\r\n return this.ledger.amount;\r\n }\r\n \r\n }\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ getCurrencyName(ledger?.currency) }}\r\n {{ ledger.transactionData }} {{ledger.loanNumber}}\r\n
\r\n
\r\n {{ getAmountWithFee() }}\r\n {{ getCurrencyName(ledger?.currency) }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Loan Repayment Currency
\r\n \"currency\"\r\n {{ledger?.currency}}\r\n
\r\n
\r\n Loan Repayment Amount
\r\n {{ ledger.amount |number: \"0.0-4\" }} {{ ledger?.feeCurrency}}\r\n
\r\n
\r\n
\r\n
\r\n Date
\r\n {{ ledger.created| date:'longDate'}}\r\n
\r\n
\r\n Loan Number
\r\n {{ ledger?.loanNumber}}\r\n
\r\n
\r\n
\r\n
\r\n Exchange Fee
\r\n {{ ledger?.convertfee}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { CANCEL_AUTO_RENEWAL_SUCCESS, ENABLE_AUTO_RENEWAL_SUCCESS, UNABLE_TO_PERFORM_ERROR } from 'src/app/app.constants';\r\nimport { RateType } from 'src/app/core/enums/rateTypeEnum';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\nimport { ICancelAutoRenewal } from 'src/app/core/models/deposit-interest/deposit-interest';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { UserService } from 'src/app/core/services/user/user.service';\r\nimport { DepositInterestService } from 'src/app/deposit-interest/service/deposit-interest.service';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\n\r\n\r\n@Component({\r\n selector: 'cashaa-activity-deposit-interest',\r\n templateUrl: './activity-deposit-interest.component.html',\r\n styleUrls: ['./activity-deposit-interest.component.scss']\r\n})\r\nexport class ActivityDepositInterestComponent implements OnInit {\r\n @Input() ledger: ILedgerList;\r\n rateType = RateType;\r\n loader: boolean = false;\r\n sub: Subscription;\r\n @Input() isFDPrematureWithdraw: boolean;\r\n\r\n constructor(private modalService: ModalService, private commonSavedData: CommonSavedData,\r\n private toastrService: ToastrService, private depositInterestService: DepositInterestService, private userService: UserService) { }\r\n\r\n ngOnInit(): void {\r\n // this.getUserPlanDetails();\r\n }\r\n\r\n getCurrencyName(curr: string): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === 'DOG') return 'DOGE';\r\n else return curr;\r\n }\r\n\r\n help() {\r\n this.modalService.openTicketCreateModal(this.ledger.ledgerType);\r\n }\r\n\r\n isEndDateReached(): boolean {\r\n return new Date(this.ledger.endDate).setHours(0, 0, 0, 0) <= new Date().getHours();\r\n }\r\n\r\n setAutoRenewal(): void {\r\n if (this.ledger.isAutoRenew) {\r\n this.modalService.openConfirmationModal(\"Do you want to enable the auto renewal?\");\r\n } else {\r\n this.modalService.openConfirmationModal(\"Do you want to cancel the auto renewal?\");\r\n }\r\n\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n if (status) {\r\n // this.loader = true;\r\n const cancel: ICancelAutoRenewal = {\r\n id: this.ledger.depositInterestId\r\n }\r\n this.depositInterestService.cancelAutoRenewal(cancel).subscribe((res) => {\r\n // this.loader = false;\r\n if (res.statusCode === 200) {\r\n\r\n if (this.ledger.isAutoRenew) {\r\n // this.modalService.openConfirmationModal(\"Do you want to enable the auto renewal?\");\r\n this.toastrService.success(ENABLE_AUTO_RENEWAL_SUCCESS)\r\n } else {\r\n //this.modalService.openConfirmationModal(\"Do you want to cancel the auto renewal?\");\r\n this.toastrService.success(CANCEL_AUTO_RENEWAL_SUCCESS)\r\n };\r\n \r\n // this.ledger.isAutoRenew;\r\n } else {\r\n this.toastrService.error(\"Please try again!\");\r\n }\r\n }, (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n // this.loader = false;\r\n });\r\n } else {\r\n this.ledger.isAutoRenew = !this.ledger.isAutoRenew;\r\n }\r\n this.sub.unsubscribe();\r\n });\r\n }\r\n cancelFixedDeposit() {\r\n\r\n // let content = '';\r\n // content = `
Fee for premature withdrawals
\r\n //
\r\n\r\n //
\r\n //
\r\n //
${this.cancelFeeDetails[0]}%
\r\n //
\r\n //
\r\n // ${info}\r\n //
Any interest given will be also adjusted from principle
\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
15%
\r\n //
\r\n //
\r\n // Second Year\r\n //
Any interest given will be also adjusted from principle
\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
10%
\r\n //
\r\n //
\r\n // Third Year\r\n //
Any interest given will be also adjusted from principle
\r\n //
\r\n //
\r\n //
`\r\n // this.modalService.openConfirmationModal(`Do you really want to cancel this fixed-term deposit? \r\n // Please note - ${this.cancelFee.toFixed(2)} ${this.ledger.currency} will be deducted for the premature cancellation.
\r\n // ${content}`);\r\n this.modalService.showCancelFeeInfo(this.ledger.depositInterestId)\r\n // this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n // if (status) {\r\n // this.loader = true;\r\n // const cancel: ICancelAutoRenewal = {\r\n // id: this.ledger.depositInterestId\r\n // }\r\n // this.depositInterestService.cancelFixedDeposit(cancel).subscribe((res) => {\r\n // this.loader = false;\r\n // if (res.statusCode === 200) {\r\n // this.toastrService.success(CANCEL_AUTO_RENEWAL_SUCCESS);\r\n // this.ledger.isActive = false;\r\n // window.location.reload();\r\n // } else {\r\n // this.toastrService.error(\"Please try again!\");\r\n // }\r\n // }, (err) => {\r\n // if (err.error.message) {\r\n // this.toastrService.error(err.error.message);\r\n // } else {\r\n // this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n // }\r\n // this.loader = false;\r\n // });\r\n // }\r\n // this.sub.unsubscribe();\r\n // });\r\n }\r\n\r\n // \r\n\r\n viewStatement(ledger, rateType) {\r\n sessionStorage.setItem('ledger', JSON.stringify(ledger));\r\n sessionStorage.setItem('rateType', JSON.stringify(rateType));\r\n // this.router.navigateByUrl('/statement');\r\n }\r\n\r\n // getUserPlanDetails() {\r\n // this.userService.getUserPlanDetail().subscribe(res => {\r\n // console.log(res);\r\n // this.isFDPrematureWithdraw = res.isFDPrematureWithdraw;\r\n // }, err => {\r\n\r\n // })\r\n // }\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ getCurrencyName(ledger?.currency) }}\r\n Fixed Deposit\r\n \r\n
\r\n
\r\n \r\n {{ ledger.amount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.currency) }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Moved From
\r\n \r\n Your {{ getCurrencyName(ledger?.currency) }}\r\n balance\r\n \r\n
\r\n\r\n
\r\n Deposited
\r\n \r\n {{ ledger?.amount | number: \"0.0-4\" }} {{\r\n getCurrencyName(ledger?.currency)\r\n }}\r\n \r\n
\r\n
\r\n \r\n View Statement\r\n \r\n
\r\n
\r\n
\r\n
\r\n Start Date
\r\n {{ ledger.startDate| date:'longDate'}}\r\n
\r\n\r\n
\r\n End Date
\r\n {{ ledger.endDate| date:'longDate'}}\r\n
\r\n
\r\n
\r\n
\r\n Interest Rate Type
\r\n {{ rateType[ledger.rateType].split('In').join('In ') }}\r\n
\r\n
\r\n Interest Rate
\r\n {{ ledger.interestRate }} %\r\n
\r\n
\r\n
\r\n
\r\n Transaction Number
\r\n {{ ledger?.transactionId }}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Auto Renewal \r\n \r\n On\r\n \r\n \r\n Off\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n ILedgerList,\r\n IRecentTransactionList,\r\n} from \"src/app/core/models/activity/recent-transaction-list\";\r\nimport { ActivityService } from \"../services/activity.service\";\r\nimport { LedgerType } from \"src/app/core/enums/ledgerType\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { SearchFilter } from \"src/app/core/models/activity/search-filter\";\r\nimport { IMyOptions } from \"ng-uikit-pro-standard\";\r\nimport { APP_ROUTES, USER_TYPE } from \"src/app/app.constants\";\r\nimport { UserType } from \"src/app/core/enums/userType\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CommonSavedData } from \"src/app/shared/services/commonSavedData.service\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-activity-home\",\r\n templateUrl: \"./activity-home.component.html\",\r\n styleUrls: [\"./activity-home.component.scss\"],\r\n})\r\nexport class ActivityHomeComponent implements OnInit {\r\n ledgerList: IRecentTransactionList[] = [];\r\n\r\n error = false;\r\n\r\n loading = false;\r\n\r\n showFilter = false;\r\n showStakingBanner: boolean = false;\r\n activityType: string;\r\n fromDate: string;\r\n toDate: string;\r\n searchText: string;\r\n symbol = [];\r\n isPersonal: boolean;\r\n myDatePickerOptions: IMyOptions = {\r\n minYear: 1900,\r\n maxYear: 2099,\r\n closeAfterSelect: true\r\n };\r\n searchForm: FormGroup;\r\n isFDPrematureWithdraw;\r\n isRefreshOptionDisable = false;\r\n isActive = false;\r\n termsAndCondition = `

This notice informs you that Crypto Innovation UAB has acquired the Cashaa brand and the CAS tokens available on the books of Cashaa Holdings O.U., which executed the CAS token I.C.O. in 2017, without any liabilities, to continue the development of the CAS ecosystem.

\r\n

Chain Tech SRL, the company managing current Cashaa crypto account is closing its crypto-asset business and withdrawing any pending applications with the regulators. As such, by no later than May 30, 2022, Chain Tech S.R.L. will no longer offer any crypto-asset business with any client. \r\n

\r\n

These new terms and conditions set out provisions for the one-time migration of Cashaa wallet accounts from Chain Tech SRL., ​​a Romania registered company (Registration No. 42007900) with its registered office at Str. Principala 42, 545200, Ludus, Romania, to Crypto Innovations U.A.B., a licensed virtual currency wallet and exchange operator\r\n (Registration No. 305997087) with its registered office at Svitrigailos st. 11K-109, Vilnius, Lithuania.

\r\n \r\n

However, Crypto Innovations UAB. will not migrate, onboard, or service any accounts domiciled or operating in the N.Y., CT, WA, VT, NV, HI states of U.S.A., China, or sanctioned countries. Any users domiciled in the above countries must withdraw their balance no later than May 30, 2022.

\r\n \r\n

These terms and conditions are an attachment to and form an integral part of the “Cryptocurrency Terms,” “Wallet Terms,” “Earn Terms,” and “Exchange Terms” available on www.cashaa.com. All the above-mentioned “Terms” already agreed to by Cashaa’s account holders will continue to be applicable in full, unless otherwise set out in this document,\r\n and will continue to be a legally binding agreement between the parties, namely “Cashaa- and any holding company, subsidiary or entity belonging to the Cashaa group of companies” and the “Client” or “you.”

\r\n \r\n

With effect from May 30, 2022, all the existing Cashaa “Account” and associated “Balances” and “Interest ” will be owned, serviced, and maintained by Crypto Innovations UAB. No “Liabilities ” will transfer to the books of Crypto Innovations UAB. from Chain Tech S.R.L. or any existing Cashaa subsidiary companies.

\r\n \r\n

It bears specific notice that Crypto Innovations UAB is a new company with a completely different set of directors who have never held any similar position in Cashaa or any of its subsidiaries. Any grievances before 30 may 2022 related to Cashaa services will not be entertained by Crypto Innovations UAB.

`\r\n constructor(\r\n private activityService: ActivityService,\r\n private router: Router,\r\n private commonSavedData: CommonSavedData,\r\n private fb: FormBuilder,\r\n private modalService: ModalService,\r\n private userService: UserService\r\n ) {\r\n const userType = sessionStorage.getItem(USER_TYPE);\r\n if (+userType === UserType.Personal) {\r\n this.isPersonal = true;\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.getTransactionsList();\r\n this.getBonusInfo();\r\n this.checkConsent();\r\n // this.showEventImage();\r\n // if(sessionStorage.getItem('isConsent') === 'false') {\r\n // this.modalService.openTermsConditionPopup(this.termsAndCondition);\r\n // }\r\n // this.checkStakingBanner();\r\n this.getUserPlanDetails();\r\n this.searchForm = this.fb.group({\r\n currency: [\"\"]\r\n });\r\n }\r\n\r\n getUserPlanDetails() {\r\n this.userService.getUserPlanDetail().subscribe(res => {\r\n this.isFDPrematureWithdraw = res.isFDPrematureWithdraw;\r\n }, err => {\r\n\r\n })\r\n }\r\n\r\n \r\n showEventImage() {\r\n // this.modalService.openTermsConditionPopup(\"\", 'https://cashaa.com/wp-content/uploads/2023/01/popup.jpg');\r\n }\r\n\r\n checkConsent() {\r\n this.activityService.checkConsent().subscribe((res:any) => {\r\n if(!res.isConsent) {\r\n this.modalService.openTermsConditionPopup(this.termsAndCondition);\r\n }\r\n })\r\n }\r\n\r\n // checkStakingBanner() {\r\n // let filterData = {\r\n // activityType: \"14\",\r\n // fromDate: \"\",\r\n // toDate: \"\",\r\n // symbol: [],\r\n // searchText: \"\",\r\n // };\r\n // this.activityService.getRecentTransactions(filterData).subscribe(\r\n // (res) => {\r\n // if (res.length !== 0) {\r\n // } else {\r\n // filterData.activityType = \"\";\r\n // this.activityService.getRecentTransactions(filterData).subscribe(\r\n // (res) => {\r\n // let flag = false;\r\n // res.forEach((dateRow) => {\r\n // dateRow.activitylist.forEach((row) => {\r\n // if (row.mondaylist !== null) {\r\n // flag = true;\r\n // }\r\n // });\r\n // });\r\n\r\n // if (!flag && this.isPersonal) {\r\n // this.showStakingBanner = true;\r\n // }\r\n // },\r\n // (err) => { }\r\n // );\r\n // }\r\n // },\r\n // (err) => { }\r\n // );\r\n // }\r\n\r\n getTransactionsList(resetData = false): void {\r\n this.loading = true;\r\n const filterData = new SearchFilter(\"\", \"\", \"\", [],\"\", resetData);\r\n this.activityService.getRecentTransactions(filterData).subscribe(\r\n (res) => {\r\n this.ledgerList = res;\r\n this.loading = false;\r\n },\r\n (err) => {\r\n this.error = true;\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n onActivityTypeChange(activity: IFormSelect) {\r\n this.loading = true;\r\n this.activityType = activity.value;\r\n const filterData = new SearchFilter(\r\n this.activityType,\r\n this.fromDate,\r\n this.toDate,\r\n this.symbol,\r\n this.searchText\r\n );\r\n\r\n this.activityService.getRecentTransactions(filterData).subscribe(\r\n (filterList) => {\r\n this.ledgerList = filterList;\r\n this.loading = false;\r\n },\r\n (err) => {\r\n this.loading = false;\r\n this.error = true;\r\n }\r\n );\r\n }\r\n\r\n onFromDateChange(date: any) {\r\n this.fromDate = date.actualDateFormatted;\r\n\r\n const filterData = new SearchFilter(\r\n this.activityType,\r\n this.fromDate,\r\n this.toDate,\r\n this.symbol,\r\n this.searchText\r\n );\r\n\r\n this.activityService.getRecentTransactions(filterData).subscribe(\r\n (filterList) => {\r\n this.ledgerList = filterList;\r\n },\r\n (err) => {\r\n this.error = true;\r\n }\r\n );\r\n }\r\n\r\n onToDateChange(date: any) {\r\n this.toDate = date.actualDateFormatted;\r\n\r\n const filterData = new SearchFilter(\r\n this.activityType,\r\n this.fromDate,\r\n this.toDate,\r\n this.symbol,\r\n this.searchText\r\n );\r\n this.activityService.getRecentTransactions(filterData).subscribe(\r\n (filterList) => {\r\n this.ledgerList = filterList;\r\n },\r\n (err) => {\r\n this.error = true;\r\n }\r\n );\r\n }\r\n onCurrencyTypeChange(event) {\r\n this.symbol = [event.symbol];\r\n const filterData = new SearchFilter(\r\n this.activityType,\r\n this.fromDate,\r\n this.toDate,\r\n this.symbol,\r\n this.searchText\r\n );\r\n this.activityService.getRecentTransactions(filterData).subscribe(\r\n (filterList) => {\r\n this.ledgerList = filterList;\r\n // this.symbol = [];\r\n },\r\n (err) => {\r\n this.error = true;\r\n }\r\n );\r\n }\r\n\r\n onSearchTextChanged(searchText: string) {\r\n this.searchText = searchText;\r\n const filterData = new SearchFilter(\r\n this.activityType,\r\n this.fromDate,\r\n this.toDate,\r\n this.symbol,\r\n this.searchText\r\n );\r\n this.activityService.getRecentTransactions(filterData).subscribe(\r\n (filterList) => {\r\n this.ledgerList = filterList;\r\n },\r\n (err) => {\r\n this.error = true;\r\n }\r\n );\r\n }\r\n stakingUrl() {\r\n this.router.navigateByUrl(this.commonSavedData.getStakingUrl());\r\n }\r\n\r\n getFeesStatus(item: ILedgerList): boolean {\r\n return item.ledgerType === 13 || item.ledgerType === 15 || item.ledgerType === 17 || \r\n item.ledgerType === 18 || item.ledgerType === 21 || item.ledgerType === 24;\r\n }\r\n\r\n reloadTransaction(): void {\r\n this.showFilter = false;\r\n this.symbol = [];\r\n this.activityType = '';\r\n this.getTransactionsList();\r\n }\r\n updateLedgerList(event){\r\n if(event.isSelected) {\r\n this.symbol.push(event.currency);\r\n } else {\r\n this.symbol = this.symbol.filter(item => item !== event.currency);\r\n }\r\n const filterData = new SearchFilter(\r\n this.activityType,\r\n this.fromDate,\r\n this.toDate,\r\n this.symbol,\r\n this.searchText\r\n );\r\n this.loading = true;\r\n this.activityService.getRecentTransactions(filterData).subscribe(\r\n (filterList) => {\r\n this.loading = false;\r\n this.ledgerList = filterList;\r\n },\r\n (err) => {\r\n this.loading = false;\r\n this.error = true;\r\n }\r\n ); \r\n }\r\n\r\n refreshTransaction() {\r\n this.isRefreshOptionDisable = true;\r\n this.getTransactionsList(true);\r\n setTimeout(() => { \r\n this.isRefreshOptionDisable = false;\r\n }, 30000);\r\n }\r\n\r\n closePopup() {\r\n this.isActive = false;\r\n }\r\n\r\n getBonusInfo() {\r\n this.activityService.getBonusDetails().subscribe(res => {\r\n this.isActive = res.isActive;\r\n })\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n

\r\n Sorry, we couldn't finish loading this page.\r\n

\r\n

\r\n Sorry things aren't as they should be right now - we're working on it, holding tight and check back soon\r\n

\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
 Refresh
\r\n
\r\n
\r\n
\r\n {{ item.date | date: \"EEEE, MMMM d, y\" }}\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input } from '@angular/core';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\n\r\n\r\n@Component({\r\n selector: 'cashaa-activity-rolling-reserve',\r\n templateUrl: './activity-rolling-reserve.component.html',\r\n styleUrls: ['./activity-rolling-reserve.component.scss']\r\n})\r\nexport class ActivityRollingReserveComponent {\r\n @Input() ledger: ILedgerList;\r\n\r\n getCurrencyName(curr: string): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === 'DOG') return 'DOGE';\r\n else return curr;\r\n }\r\n\r\n getSum(a, b): number {\r\n return a+b;\r\n }\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ getCurrencyName(ledger?.currency) }}\r\n {{ ledger.transactionData }}\r\n
\r\n
\r\n {{ ledger.amount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.currency) }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Date of deposit
\r\n {{ ledger.startDate | date:'longDate'}}\r\n
\r\n
\r\n Deposited
\r\n {{getSum(ledger?.convertFromamount, ledger?.rollingReserveAmount) | number: \"0.0-4\"}} {{ ledger?.feeCurrency}}\r\n
\r\n
\r\n
\r\n
\r\n 6-month rolling reserve %
\r\n {{ ledger.interestRate}}\r\n
\r\n
\r\n Rolling reserve amount
\r\n {{ ledger?.rollingReserveAmount}} {{ledger?.currency}}\r\n
\r\n
\r\n
\r\n
\r\n Sender account name
\r\n {{ledger?.transactionId}}\r\n
\r\n
\r\n Transaction number
\r\n {{ledger?.transactionId}}\r\n
\r\n
\r\n Due-date of release
\r\n {{ ledger?.endDate | date:'longDate'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { ActivityHomeComponent } from \"./activity-home/activity-home.component\";\r\nimport { ActivityWelcomeComponent } from \"./activity-welcome/activity-welcome.component\";\r\nimport { ActivityBalanceListComponent } from \"./activity-balance-list/activity-balance-list.component\";\r\nimport { ActivityBalanceRecievedComponent } from \"./activity-balance-recieved/activity-balance-recieved.component\";\r\nimport { ActivityBalanceTransferComponent } from \"./activity-balance-transfer/activity-balance-transfer.component\";\r\nimport { ActivityBalanceAttentionComponent } from \"./activity-balance-attention/activity-balance-attention.component\";\r\nimport { ActivityBalanceAttentionCancelTrasnferComponent } from \"./activity-balance-attention-cancel-transfer/activity-balance-attention-cancel-transfer.component\";\r\nimport { ActivityBalanceCancelledComponent } from \"./activity-balance-cancelled/activity-balance-cancelled.component\";\r\nimport { ActivityBalanceConvertedComponent } from \"./activity-balance-converted/activity-balance-converted.component\";\r\nimport { ActivityBalanceSpentComponent } from \"./activity-balance-spent/activity-balance-spent.component\";\r\nimport { ActivityBalanceWithdrawnComponent } from \"./activity-balance-withdrawn/activity-balance-withdrawn.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nconst routes: Routes = [\r\n {\r\n path: \"activity\",\r\n component: ActivityHomeComponent,\r\n canActivate: [AuthGuardService],\r\n children: [\r\n {\r\n path: \"welcome\",\r\n component: ActivityWelcomeComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"list\",\r\n component: ActivityBalanceListComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"recieved\",\r\n component: ActivityBalanceRecievedComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"transfer\",\r\n component: ActivityBalanceTransferComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"attention\",\r\n component: ActivityBalanceAttentionComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"attention/cancel-transfer\",\r\n component: ActivityBalanceAttentionCancelTrasnferComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"cancelled\",\r\n component: ActivityBalanceCancelledComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"converted\",\r\n component: ActivityBalanceConvertedComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"spent\",\r\n component: ActivityBalanceSpentComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"withdrawn\",\r\n component: ActivityBalanceWithdrawnComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ActivityRoutingModule { }\r\n","import { Component, Input } from '@angular/core';\r\nimport { ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\n\r\n\r\n@Component({\r\n selector: 'cashaa-activity-staking-rolling-reserve',\r\n templateUrl: './activity-staking-rolling-reserve.component.html',\r\n styleUrls: ['./activity-staking-rolling-reserve.component.scss']\r\n})\r\nexport class ActivityStakingRollingReserveComponent {\r\n @Input() ledger: ILedgerList;\r\n\r\n getCurrencyName(curr: string): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === 'DOG') return 'DOGE';\r\n else return curr;\r\n }\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ ledger.transactionData }}\r\n
\r\n
\r\n {{ ledger.amount |number: \"0.0-4\" }}\r\n {{ getCurrencyName(ledger?.currency) }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Date of start staking
\r\n {{ ledger.startDate | date:'longDate'}}\r\n
\r\n
\r\n Date of release staking
\r\n {{ ledger?.endDate | date:'longDate'}}\r\n
\r\n
\r\n
\r\n
\r\n Staking APR %
\r\n {{ ledger.interestRate}}%\r\n
\r\n
\r\n Estimated maturity amount
\r\n {{ ledger?.stackedRollingReserveMatureAmount}} {{ledger?.currency}}\r\n
\r\n
\r\n
\r\n
\r\n Interest type
\r\n InKind\r\n InCas\r\n
\r\n
\r\n Staking duration
\r\n {{ ledger?.interestDuration}} months\r\n
\r\n
\r\n
\r\n
\r\n Status
\r\n {{ledger?.isStackedRollingReleased}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivityService } from '../services/activity.service';\r\nimport { UserService } from 'src/app/core/services/user/user.service';\r\nimport { IRecentTransactionList, ILedgerList } from 'src/app/core/models/activity/recent-transaction-list';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'cashaa-activity-welcome',\r\n templateUrl: './activity-welcome.component.html',\r\n styleUrls: ['./activity-welcome.component.scss']\r\n})\r\nexport class ActivityWelcomeComponent implements OnInit {\r\n\r\n\r\n\r\n constructor(private router: Router) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n goToCrypto(): void {\r\n this.router.navigateByUrl(`/wallet?crypto=true`);\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n\r\n

Welcome to Cashaa

\r\n

Start your crypto journey with a few easy steps.

\r\n
\r\n \"Welcome\"\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ActivityHomeComponent } from \"./activity-home/activity-home.component\";\r\nimport { ActivityRoutingModule } from \"./activity-routing.module\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { ActivityBalanceListComponent } from \"./activity-balance-list/activity-balance-list.component\";\r\nimport { ActivityBalanceRecievedComponent } from \"./activity-balance-recieved/activity-balance-recieved.component\";\r\nimport { ActivityBalanceTransferComponent } from \"./activity-balance-transfer/activity-balance-transfer.component\";\r\nimport { ActivityWelcomeComponent } from \"./activity-welcome/activity-welcome.component\";\r\nimport { ActivityBalanceAttentionComponent } from \"./activity-balance-attention/activity-balance-attention.component\";\r\nimport { ActivityBalanceAttentionCancelTrasnferComponent } from \"./activity-balance-attention-cancel-transfer/activity-balance-attention-cancel-transfer.component\";\r\nimport { ActivityBalanceCancelledComponent } from \"./activity-balance-cancelled/activity-balance-cancelled.component\";\r\nimport { ActivityBalanceConvertedComponent } from \"./activity-balance-converted/activity-balance-converted.component\";\r\nimport { ActivityBalanceSpentComponent } from \"./activity-balance-spent/activity-balance-spent.component\";\r\nimport { ActivityBalanceWithdrawnComponent } from \"./activity-balance-withdrawn/activity-balance-withdrawn.component\";\r\nimport { ActivityBalanceTransferDetailComponent } from \"./activity-balance-transfer-detail/activity-balance-transfer-detail.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { ActivityBalanceUsdStakingComponent } from \"./activity-balance-usd-staking/activity-balance-usd-staking.component\";\r\nimport { ActivityBalanceOnboardingFeeComponent } from \"./activity-balance-onboarding-fee/activity-balance-onboarding-fee.component\";\r\nimport { ActivityBalanceWeeklyRewardComponent } from \"./activity-balance-weekly-reward/activity-balance-weekly-reward.component\";\r\nimport { ActivityDepositInterestComponent } from './activity-deposit-interest/activity-deposit-interest.component';\r\nimport { CancelFeeComponent } from './cancel-fee/cancel-fee.component';\r\nimport { ActivityCreditAvailedComponent } from \"./activity-credit-availed/activity-credit-availed.component\";\r\nimport { ActivityCreditRepaidComponent } from \"./activity-credit-repaid/activity-credit-repaid.component\";\r\nimport { ActivityCreditInterestComponent } from \"./activity-credit-interest/activity-credit-interest.component\";\r\nimport { ActivityCreditLockedComponent } from \"./activity-credit-locked/activity-credit-locked.component\";\r\nimport { ActivityCreditLockedReleasedComponent } from \"./activity-credit-locked-released/activity-credit-locked-released.component\";\r\nimport { ActivityRollingReserveComponent } from \"./activity-rolling-reserve/activity-rolling-reserve.component\";\r\nimport { ActivityStakingRollingReserveComponent } from \"./activity-staking-rolling-reserve/activity-staking-rolling-reserve.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ActivityHomeComponent,\r\n ActivityBalanceListComponent,\r\n ActivityBalanceRecievedComponent,\r\n ActivityWelcomeComponent,\r\n ActivityBalanceTransferComponent,\r\n ActivityBalanceAttentionComponent,\r\n ActivityBalanceAttentionCancelTrasnferComponent,\r\n ActivityBalanceCancelledComponent,\r\n ActivityBalanceConvertedComponent,\r\n ActivityBalanceSpentComponent,\r\n ActivityBalanceWithdrawnComponent,\r\n ActivityBalanceTransferDetailComponent,\r\n ActivityBalanceUsdStakingComponent,\r\n ActivityBalanceOnboardingFeeComponent,\r\n ActivityBalanceWeeklyRewardComponent,\r\n ActivityDepositInterestComponent,\r\n ActivityCreditAvailedComponent,\r\n ActivityCreditRepaidComponent,\r\n CancelFeeComponent,\r\n ActivityCreditInterestComponent,\r\n ActivityCreditLockedComponent,\r\n ActivityCreditLockedReleasedComponent,\r\n ActivityRollingReserveComponent,\r\n ActivityStakingRollingReserveComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ActivityRoutingModule,\r\n SharedModule,\r\n ToastrModule.forRoot(),\r\n MDBBootstrapModulesPro.forRoot(),\r\n FormsModule\r\n ],\r\n})\r\nexport class ActivityModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MDBModalRef } from 'ng-uikit-pro-standard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CANCEL_AUTO_RENEWAL_SUCCESS, UNABLE_TO_PERFORM_ERROR } from 'src/app/app.constants';\r\nimport { ICancelAutoRenewal } from 'src/app/core/models/deposit-interest/deposit-interest';\r\nimport { DepositInterestService } from 'src/app/deposit-interest/service/deposit-interest.service';\r\n\r\n@Component({\r\n selector: 'cashaa-cancel-fee',\r\n templateUrl: './cancel-fee.component.html',\r\n styleUrls: ['./cancel-fee.component.scss']\r\n})\r\nexport class CancelFeeComponent implements OnInit {\r\n cancelFeeDetails;\r\n cancelFee;\r\n depositInterestId;\r\n currency;\r\n isLoading = false;\r\n constructor(public modalRef: MDBModalRef, private depositInterestService: DepositInterestService, private toastrService: ToastrService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isLoading = true;\r\n this.depositInterestService.getCancelFee(this.depositInterestId).subscribe((res: any) => {\r\n this.isLoading = false;\r\n this.cancelFee = res.cancelFee.toFixed(2);\r\n this.currency = res.currency;\r\n // console.log(this.cancelFee)\r\n this.cancelFeeDetails = res.cancelFeeDetails;\r\n }, err => {\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n confirm() {\r\n const cancel: ICancelAutoRenewal = {\r\n id: this.depositInterestId\r\n }\r\n this.isLoading = true;\r\n this.depositInterestService.cancelFixedDeposit(cancel).subscribe((res) => {\r\n this.isLoading = false;\r\n if (res.statusCode === 200) {\r\n this.toastrService.success(CANCEL_AUTO_RENEWAL_SUCCESS);\r\n // this.isActive = false;\r\n window.location.reload();\r\n } else {\r\n this.toastrService.error(\"Please try again!\");\r\n }\r\n }, (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n this.isLoading = false;\r\n \r\n });\r\n}\r\n\r\n}\r\n","
\r\n \r\n

\r\n Cancel Fixed Deposit\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Do you really want to cancel this fixed-term deposit?
\r\n Please note - {{cancelFee}}{{currency}} will be deducted for the premature\r\n cancellation.\r\n
\r\n
\r\n \r\n
\r\n
0;else other \">{{info.feeInPercent}}%{{info.discountFee}}%
\r\n \r\n
{{info.feeInPercent}}%
\r\n
\r\n
{{ info.duration }}
\r\n
\r\n
\r\n
\r\n
\r\n
*Any interest given will be also adjusted from principle.
\r\n","import { Injectable } from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { IRecentTransactionList } from \"src/app/core/models/activity/recent-transaction-list\";\r\nimport { ISearchFilter } from \"src/app/core/models/activity/search-filter\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ActivityService {\r\n /** api url */\r\n private apiUrl = environment.api;\r\n\r\n private balanceRefresh = new BehaviorSubject(undefined);\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getRecentTransactions(filterModel: ISearchFilter): Observable {\r\n return this.http.post(`${this.apiUrl}/transactions/recent`, filterModel);\r\n }\r\n\r\n emitBalanceRefreshStatus(status: boolean) {\r\n this.balanceRefresh.next(status);\r\n }\r\n\r\n getBalanceStatus(): Observable {\r\n return this.balanceRefresh.asObservable();\r\n }\r\n\r\n checkConsent() {\r\n return this.http.get(`${this.apiUrl}/account/get-user-consent`);\r\n }\r\n\r\n refreshToken(cashaaUserId) {\r\n return this.http.post(`${this.apiUrl}/account/refreshtoken`, cashaaUserId);\r\n }\r\n\r\n getLockedAmountByCurrency(currencyId) {\r\n return this.http.get(`${this.apiUrl}/activity/lockedamountbycurrency?currencyId=${currencyId}`);\r\n }\r\n\r\n getBonusDetails(): any {\r\n return this.http.get(`${this.apiUrl}/depositinterest/getbonusdetails?registerType=1`);\r\n }\r\n\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { USER_TYPE } from 'src/app/app.constants';\r\nimport { ValidatorUtility } from 'src/app/core/utility/validator.utility';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\nimport { ApiManagerService } from '../services/api-manager.service';\r\n\r\n@Component({\r\n selector: 'cashaa-add-webhook-url',\r\n templateUrl: './add-webhook-url.component.html',\r\n styleUrls: ['./add-webhook-url.component.scss']\r\n})\r\nexport class AddWebhookURLComponent implements OnInit {\r\n\r\n isInProgress = false;\r\n twoFactor = false;\r\n userEmail?: string;\r\n errorMessageFlag = false;\r\n errorMessage = \"\";\r\n response = \"\";\r\n isLoading = true;\r\n currFlag;\r\n allCodeEntered = false;\r\n reserveBalance;\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n errorMsg: string;\r\n balanceError: boolean;\r\n balanceErrorMsg: string;\r\n isBusiness: boolean;\r\n isStaking: boolean;\r\n stakingHeading: string;\r\n stakingBody: string;\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n apiId: string;\r\n public addWebhookForm: FormGroup;\r\n webhookDetails;\r\n isWebhookURLAdded = false;\r\n constructor(\r\n private fb: FormBuilder,\r\n // public modalRef: MDBModalRef,\r\n private toastrService: ToastrService,\r\n private apiManagerService: ApiManagerService,\r\n private commanData: CommonSavedData,\r\n private location: Location,\r\n private activateRoute: ActivatedRoute\r\n\r\n ) { \r\n this.addWebhookForm = this.fb.group({\r\n callbackURL: [\"\", ValidatorUtility.Required],\r\n sendCallbackURL: [\"\", ValidatorUtility.Required],\r\n sendStatusCallbackURL: [\"\", ValidatorUtility.Required]\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n this.apiId = params[\"id\"];\r\n });\r\n this.getWebhookURL();\r\n \r\n }\r\n\r\n getWebhookURL() {\r\n this.apiManagerService.getWebhookURL(this.apiId).subscribe((data) => {\r\n this.isWebhookURLAdded = true;\r\n this.addWebhookForm.controls.callbackURL.setValue(data?.callbackURL);\r\n this.addWebhookForm.controls.sendCallbackURL.setValue(data?.sendCallBackUrl);\r\n this.addWebhookForm.controls.sendStatusCallbackURL.setValue(data?.sendStatusCallbackUrl); \r\n }, err => {\r\n\r\n });\r\n}\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {\r\n this.isInProgress = true;\r\n const payload = {\r\n \"apiManagerId\" : this.apiId,\r\n \"callbackURL\": this.addWebhookForm.value.callbackURL,\r\n \"sendCallBackUrl\":this.addWebhookForm.value.sendCallbackURL,\r\n \"sendStatusCallbackUrl\":this.addWebhookForm.value.sendStatusCallbackURL\r\n\r\n }\r\n this.apiManagerService.addWebhoolURL(payload).subscribe((data) => {\r\n if (data.statusCode === 200) {\r\n // this.modalRef.hide();\r\n this.webhookDetails = data;\r\n this.toastrService.success('Webhook URL added successfully');\r\n this.commanData.emitConfirmationBoxStatus(true);\r\n }\r\n this.isInProgress = false;\r\n }, (err: HttpErrorResponse) => {\r\n this.isInProgress = false;\r\n this.toastrService.error(err.error.message);\r\n })\r\n }\r\n\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Route } from '@angular/compiler/src/core';\r\nimport { Component, ElementRef, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { MDBModalRef } from 'ng-uikit-pro-standard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { USER_TWO_FACTOR_CODE, USER_TYPE } from 'src/app/app.constants';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\nimport { ApiManagerService } from '../services/api-manager.service';\r\n\r\n@Component({\r\n selector: 'cashaa-ap-manager-delete-api-confirm',\r\n templateUrl: './ap-manager-delete-api-confirm.component.html',\r\n styleUrls: ['./ap-manager-delete-api-confirm.component.scss']\r\n})\r\nexport class ApManagerDeleteApiConfirmComponent implements OnInit {\r\n\r\n isInProgress = false;\r\n twoFactor = false;\r\n userEmail?: string;\r\n errorMessageFlag = false;\r\n errorMessage = \"\";\r\n response = \"\";\r\n isLoading = true;\r\n currFlag;\r\n allCodeEntered = false;\r\n reserveBalance;\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n errorMsg: string;\r\n balanceError: boolean;\r\n balanceErrorMsg: string;\r\n isBusiness: boolean;\r\n isStaking: boolean;\r\n stakingHeading: string;\r\n stakingBody: string;\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n apiId: string;\r\n public form: FormGroup;\r\n constructor(\r\n private fb: FormBuilder,\r\n public modalRef: MDBModalRef,\r\n private toastrService: ToastrService,\r\n private router: Router, private apiManagerService: ApiManagerService,\r\n private commanData: CommonSavedData\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n const idToken = sessionStorage.getItem(USER_TWO_FACTOR_CODE);\r\n if (idToken === \"true\") {\r\n this.twoFactor = true;\r\n }\r\n }\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {\r\n this.isInProgress = true;\r\n this.apiManagerService.deleteAPI(this.apiId, this.code.join(\"\")).subscribe((data) => {\r\n if (data.statusCode === 200) {\r\n this.modalRef.hide();\r\n this.toastrService.success('API delete successfully');\r\n this.commanData.emitConfirmationBoxStatus(true);\r\n }\r\n this.isInProgress = false;\r\n }, (err: HttpErrorResponse) => {\r\n this.isInProgress = false;\r\n this.toastrService.error(err.error.message);\r\n })\r\n }\r\n\r\n removeError(): void {\r\n if (this.errorMessage !== undefined) {\r\n this.errorMessage = undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfCodeIsFilled(idx: number): void {\r\n this.errorMsg = \"\";\r\n if (idx >= 0 && idx < 5 && this.code[idx]) {\r\n this.inputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n this.allCodeEntered = true;\r\n this.code.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allCodeEntered = false;\r\n }\r\n });\r\n if (this.code[5] && idx === -1) {\r\n this.inputs.toArray()[5].nativeElement.focus();\r\n }\r\n }\r\n\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onCodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.code = pastedText.split(\"\");\r\n this.checkIfCodeIsFilled(-1);\r\n }\r\n }\r\n\r\n removeBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.inputs.toArray()[index].nativeElement.focus();\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n

\r\n Confirmation Delete API\r\n

\r\n
\r\n
\r\n
\r\n

Authentication Code

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ errorMsg }}\r\n {{ balanceErrorMsg }}\r\n
\r\n\r\n
\r\n \r\n Your google 2FA is not enabled\r\n click here to\r\n enable.\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { APP_ROUTES } from 'src/app/app.constants';\r\nimport { IApiListRespose, ICreate } from 'src/app/core/models/api-manager/api-manager';\r\nimport { IFeature } from 'src/app/core/models/api-manager/feature';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\nimport { ApiManagerService } from '../services/api-manager.service';\r\n\r\n@Component({\r\n selector: 'cashaa-api-manager-confirm',\r\n templateUrl: './api-manager-confirm.component.html',\r\n styleUrls: ['./api-manager-confirm.component.scss']\r\n})\r\nexport class ApiManagerConfirmComponent implements OnInit {\r\n\r\n @Input()\r\n resposeData: IApiListRespose;\r\n conditionsAccepted: boolean = false;\r\n loading: boolean = false;\r\n copied: boolean = false;\r\n sub: Subscription;\r\n constructor(private apiManager: ApiManagerService, private toastrService: ToastrService, private router: Router,\r\n private modalService: ModalService, private commonSavedData: CommonSavedData) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onFormSubmit(): void {\r\n this.modalService.openConfirmationModal(\"Have you copy the secret key for future reference?\");\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n if (status) {\r\n this.router.navigateByUrl(\"/api-manager\");\r\n }\r\n this.sub.unsubscribe();\r\n });\r\n }\r\n\r\n copyAddress(): void {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.resposeData.secretKey);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n}\r\n","
\r\n

\r\n Review details of your API Manager\r\n

\r\n
\r\n
\r\n
API Name
\r\n
\r\n {{resposeData.apiName}}\r\n
\r\n
\r\n
\r\n
API Key
\r\n
\r\n {{resposeData.apiKey}}\r\n
\r\n
\r\n
\r\n
Secret Key
\r\n
\r\n {{resposeData.secretKey}}\r\n \r\n
\r\n
\r\n
\r\n
API Restrictions
\r\n
\r\n
\r\n General\r\n
\r\n
\r\n
\r\n
\r\n {{item.name}}\r\n
\r\n
\r\n
\r\n
\r\n
IP Address
\r\n
\r\n
\r\n {{item.ip}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n I accept the\r\n Terms of\r\n Use\r\n \r\n
\r\n\r\n \r\n
","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { of } from 'rxjs';\r\nimport { APIData, IAPIData, IApiListRespose, IIPList } from 'src/app/core/models/api-manager/api-manager';\r\nimport { IFeature } from 'src/app/core/models/api-manager/feature';\r\nimport { ValidatorUtility } from 'src/app/core/utility/validator.utility';\r\nimport { ApiManagerService } from '../services/api-manager.service';\r\n\r\n@Component({\r\n selector: 'cashaa-api-manager-create',\r\n templateUrl: './api-manager-create.component.html',\r\n styleUrls: ['./api-manager-create.component.scss']\r\n})\r\nexport class ApiManagerCreateComponent implements OnInit {\r\n\r\n form: FormGroup;\r\n featureList: IFeature[];\r\n loading: boolean = false;\r\n @Output()\r\n continue = new EventEmitter();\r\n @Output()\r\n featureData = new EventEmitter();\r\n updatedData: IApiListRespose;\r\n\r\n constructor(private fb: FormBuilder, private apiManagerService: ApiManagerService,\r\n private activateRoute: ActivatedRoute, private toasterService: ToastrService) {\r\n this.form = this.fb.group({\r\n apiName: [\"\", ValidatorUtility.Required],\r\n features: this.fb.array([]),\r\n ipAddress: this.fb.array([])\r\n });\r\n\r\n this.loading = true;\r\n\r\n // of(this.apiManagerService.getFeatureList().subscribe((data: IFeature[]) => {\r\n // this.loading = false;\r\n // this.featureList = data;\r\n // this.addCheckboxData();\r\n // }));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n let id = params[\"id\"];\r\n if (id) {\r\n this.apiManagerService.getAPIData().subscribe((data: IApiListRespose) => {\r\n if (data) {\r\n this.updatedData = data;\r\n this.loadData();\r\n this.loadFeatureData(true);\r\n } else {\r\n this.apiManagerService.getAPIDataById(id).subscribe((data) => {\r\n if (data) {\r\n this.updatedData = data;\r\n this.loadData();\r\n this.loadFeatureData(true);\r\n }\r\n }, (err: HttpErrorResponse) => {\r\n this.toasterService.error(err.error.message);\r\n });\r\n }\r\n });\r\n } else {\r\n this.addItem();\r\n this.loadFeatureData(false);\r\n }\r\n });\r\n }\r\n\r\n get ipAddressFormArray(): FormArray {\r\n return this.form.controls.ipAddress as FormArray;\r\n }\r\n\r\n get featuresFormArray(): FormArray {\r\n return this.form.controls.features as FormArray;\r\n }\r\n\r\n addCheckboxData(): void {\r\n this.featureList.forEach(() => this.featuresFormArray.push(new FormControl(false)));\r\n }\r\n\r\n addIPAddressData(data?: IIPList): FormGroup {\r\n return this.fb.group({\r\n ip: [data?.ip ? data.ip : \"\", [ValidatorUtility.Required, ValidatorUtility.validateIPAddress]],\r\n label: [data?.label ? data.label : \"\", ValidatorUtility.Required]\r\n });\r\n }\r\n\r\n addItem(data?: IIPList): void {\r\n this.ipAddressFormArray.push(this.addIPAddressData(data));\r\n }\r\n\r\n removeItem(index: number) {\r\n this.ipAddressFormArray.removeAt(index);\r\n }\r\n\r\n onFormSubmit(): void {\r\n let formData = this.form.value;\r\n let feature: [] = formData.features;\r\n let index = 0;\r\n let features: string[] = [];\r\n feature.forEach((data) => {\r\n if (data) {\r\n features.push(this.featureList[index].id);\r\n }\r\n index++;\r\n });\r\n let apiData: IAPIData = new APIData(formData.apiName, formData.ipAddress as IIPList[], features, this.updatedData?.id);\r\n this.continue.next(apiData);\r\n this.featureData.next(this.featureList);\r\n }\r\n\r\n loadData(): void {\r\n this.form.controls.apiName.setValue(this.updatedData.apiName);\r\n this.updatedData.ipList.forEach(data => {\r\n this.addItem(data);\r\n });\r\n }\r\n\r\n loadFeatureData(isEdit: boolean): void {\r\n this.loading = true;\r\n this.apiManagerService.getFeatureList().subscribe((data: IFeature[]) => {\r\n this.loading = false;\r\n this.featureList = data;\r\n if (!isEdit) {\r\n this.addCheckboxData();\r\n } else {\r\n this.featureList.forEach(data => {\r\n let searchData = this.updatedData.apiFeatureTypeList.filter((feature) => feature.id.toLocaleLowerCase() === data.id)[0];\r\n if (searchData) {\r\n this.featuresFormArray.push(new FormControl(true));\r\n } else {\r\n this.featuresFormArray.push(new FormControl(false));\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Cashaa offers robust API services. You can create API according to your needs and therefore access or trade\r\n in\r\n the\r\n market of cashaa.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Api Restrictions
\r\n
\r\n
\r\n
\r\n \r\n \r\n
General
\r\n
\r\n

Users can only carry out read-only operations such as checking\r\n the account information, account statement and order information, etc. Users cannot place orders,\r\n withdraw, etc.

\r\n
\r\n
\r\n
\r\n \r\n
{{featureList[i].name}}
\r\n
\r\n

{{featureList[i].description}}

\r\n
\r\n
\r\n
\r\n
\r\n
IP Addess
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ID IP Address CIDR Label Service Action
{{i+1}}\r\n \r\n \r\n \r\n \r\n /32\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Rest API\r\n
\r\n
\r\n
0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

9 || this.form.invalid}\"\r\n class=\"pointer font-weight-bolder text-primary-dark \" style=\"width: fit-content;\">\r\n Add another +\r\n

\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { IApiListRespose } from 'src/app/core/models/api-manager/api-manager';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { ApiManagerService } from '../services/api-manager.service';\r\n\r\n@Component({\r\n selector: 'cashaa-api-manager-data',\r\n templateUrl: './api-manager-data.component.html',\r\n styleUrls: ['./api-manager-data.component.scss']\r\n})\r\nexport class ApiManagerDataComponent implements OnInit {\r\n loader;\r\n @Input()\r\n data: IApiListRespose;\r\n webhookUrlDetails = [];\r\n constructor(private modalService: ModalService, private router: Router, private apiManagerService: ApiManagerService) { }\r\n\r\n ngOnInit(): void {\r\n this.getWebhookURL();\r\n }\r\n\r\n deleteAPI(): void {\r\n this.modalService.confirmDeleteAPI(this.data.id);\r\n }\r\n editAPI() {\r\n this.apiManagerService.emitAPIData(this.data);\r\n this.router.navigateByUrl(`api-manager/edit?id=${this.data.id}`);\r\n }\r\n\r\n editWebhookURL(){\r\n this.apiManagerService.emitAPIData(this.data);\r\n this.router.navigateByUrl(`api-manager/edit?id=${this.data.id}`);\r\n }\r\n addWebhookURL() {\r\n this.router.navigateByUrl(`api-manager/add-webhook?id=${this.data.id}`);\r\n }\r\n\r\n getWebhookURL() {\r\n this.apiManagerService.getWebhookURL(this.data.id).subscribe((data) => {\r\n this.webhookUrlDetails.push(data);\r\n }, err => {\r\n \r\n });\r\n }\r\n\r\n updateDomain() {\r\n this.router.navigateByUrl(`api-manager/update-domain?id=${this.data.id}`);\r\n }\r\n\r\n verifyDomain() {\r\n this.router.navigateByUrl(`api-manager/verify-domain`);\r\n }\r\n\r\n getDomainStatus() {\r\n this.router.navigateByUrl(`api-manager/domain-status`);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {{data.apiName}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Key
\r\n {{data.apiKey}}\r\n \r\n
\r\n
\r\n API Restrictions
\r\n General \r\n
\r\n {{item.name}} \r\n
\r\n
\r\n
\r\n
\r\n
\r\n IP Restriction
\r\n
\r\n {{item.ip}} \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Domain
\r\n
\r\n {{data.webHookList?.domainUrl}} \r\n
\r\n
\r\n
\r\n
\r\n
Domain Code\r\n {{data.webHookList?.domainVerificatioinCode}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Download Link\r\n {{data.webHookList?.domainVerificatioinCode}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Location } from '@angular/common';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MdbStepperComponent } from 'ng-uikit-pro-standard';\r\nimport { IAPIData, IApiListRespose, ICreate } from 'src/app/core/models/api-manager/api-manager';\r\nimport { IFeature } from 'src/app/core/models/api-manager/feature';\r\nimport { NavigationService } from 'src/app/core/services/navigation/navigation.service';\r\n\r\n@Component({\r\n selector: 'cashaa-api-manager-home',\r\n templateUrl: './api-manager-home.component.html',\r\n styleUrls: ['./api-manager-home.component.scss']\r\n})\r\nexport class ApiManagerHomeComponent implements OnInit {\r\n @ViewChild(\"stepper\", { static: true }) stepper: MdbStepperComponent;\r\n\r\n constructor(private navigationService: NavigationService, private activateRoute: ActivatedRoute, private location: Location) { }\r\n apiData: IAPIData;\r\n respose: IApiListRespose;\r\n createData: ICreate;\r\n features: IFeature[];\r\n isUpdated = false;\r\n ngOnInit(): void {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n let id = params[\"id\"];\r\n if (id) {\r\n this.isUpdated = true;\r\n }\r\n });\r\n }\r\n\r\n onCreate(event: IAPIData): void {\r\n this.apiData = event;\r\n this.stepper.next();\r\n }\r\n\r\n onSecurity(event: IApiListRespose): void {\r\n this.respose = event;\r\n this.stepper.next();\r\n }\r\n\r\n featureData(event: IFeature[]): void {\r\n this.features = event;\r\n }\r\n\r\n backRoute(): void {\r\n this.navigationService.back();\r\n }\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { IApiListRespose } from 'src/app/core/models/api-manager/api-manager';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\nimport { ApiManagerService } from '../services/api-manager.service';\r\n\r\n@Component({\r\n selector: 'cashaa-api-manager-operations',\r\n templateUrl: './api-manager-operations.component.html',\r\n styleUrls: ['./api-manager-operations.component.scss']\r\n})\r\nexport class ApiManagerOperationsComponent implements OnInit, OnDestroy {\r\n\r\n apiData: IApiListRespose[] = [];\r\n sub: Subscription;\r\n loader: boolean;\r\n constructor(private apiManagerService: ApiManagerService, private commonSavedData: CommonSavedData, private toastrService: ToastrService) { }\r\n\r\n ngOnInit(): void {\r\n this.loadApiData();\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n if (status) {\r\n this.loadApiData();\r\n }\r\n });\r\n }\r\n\r\n loadApiData(): void {\r\n this.loader = true;\r\n this.apiManagerService.getAllApiList().subscribe((data: IApiListRespose[]) => {\r\n this.loader = false;\r\n this.apiData = data;\r\n }, err => {\r\n this.toastrService.error(err.error.message);\r\n this.loader = false;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Your API({{ apiData?.length }})
\r\n
\r\n
\r\n \r\n
\r\n

Add API details

\r\n

\r\n Click the 'Create API' button above\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuardService } from '../core/services/auth-guard/auth-guard.service';\r\nimport { AddWebhookURLComponent } from './add-webhook-url/add-webhook-url.component';\r\nimport { ApiManagerHomeComponent } from './api-manager-home/api-manager-home.component';\r\nimport { ApiManagerOperationsComponent } from './api-manager-operations/api-manager-operations.component';\r\nimport { UpdateDomainComponent } from './update-domain/update-domain.component';\r\n\r\n\r\nconst routes: Routes = [{\r\n path: \"api-manager/create\",\r\n component: ApiManagerHomeComponent,\r\n canActivate: [AuthGuardService],\r\n}, {\r\n path: \"api-manager\",\r\n component: ApiManagerOperationsComponent,\r\n canActivate: [AuthGuardService],\r\n}, {\r\n path: \"api-manager/edit\",\r\n component: ApiManagerHomeComponent,\r\n canActivate: [AuthGuardService],\r\n}, {\r\n path: \"api-manager/add-webhook\",\r\n component: AddWebhookURLComponent,\r\n canActivate: [AuthGuardService],\r\n},\r\n{\r\n path: \"api-manager/verify-domain\",\r\n component: ApiManagerHomeComponent,\r\n canActivate: [AuthGuardService],\r\n},\r\n{\r\n path: \"api-manager/update-domain\",\r\n component: UpdateDomainComponent,\r\n canActivate: [AuthGuardService],\r\n},\r\n{\r\n path: \"api-manager/domain-status\",\r\n component: ApiManagerHomeComponent,\r\n canActivate: [AuthGuardService],\r\n}];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ApiManagerRoutingModule { }\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { API_MANAGER_SEND_CODE, APP_ROUTES, USER_TWO_FACTOR_CODE } from 'src/app/app.constants';\r\nimport { Create, EmailCode, IAPIData, IApiListRespose, ICreate, IEmailCode, ISecurity, Security } from 'src/app/core/models/api-manager/api-manager';\r\nimport { ApiManagerService } from '../services/api-manager.service';\r\n\r\n@Component({\r\n selector: 'cashaa-api-manager-security-verification',\r\n templateUrl: './api-manager-security-verification.component.html',\r\n styleUrls: ['./api-manager-security-verification.component.scss']\r\n})\r\nexport class ApiManagerSecurityVerificationComponent implements OnInit {\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n twoFAcode: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n\r\n /** is checking operation in progress */\r\n isInProgress = false;\r\n\r\n @Input()\r\n apiData: IAPIData;\r\n\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n\r\n @ViewChildren(\"twoFAInputs\") twoFAInputs: QueryList;\r\n\r\n allCodeEntered: boolean = false;\r\n allCodeEnteredTwoFA: boolean = false;\r\n @Output()\r\n continue = new EventEmitter();\r\n\r\n twoFactor: boolean = false;\r\n codeLoading: boolean = false;\r\n\r\n timerFlag = {};\r\n timerStart = {};\r\n timerTime = {};\r\n disableBtn = {};\r\n verificationClickCount = {};\r\n loading = false;\r\n isUpdated = false;\r\n\r\n constructor(private apiManagerService: ApiManagerService, private toastorService: ToastrService, \r\n private activateRoute: ActivatedRoute, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n const idToken = sessionStorage.getItem(USER_TWO_FACTOR_CODE);\r\n if (idToken === \"true\") {\r\n this.twoFactor = true;\r\n }\r\n\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n let id = params[\"id\"];\r\n if (id) {\r\n this.isUpdated = true;\r\n }\r\n });\r\n }\r\n\r\n checkIfCodeIsFilledTwoFA(idx: number): void {\r\n if (idx >= 0 && idx < 5 && this.twoFAcode[idx]) {\r\n this.twoFAInputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n this.allCodeEnteredTwoFA = true;\r\n this.twoFAcode.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allCodeEnteredTwoFA = false;\r\n }\r\n });\r\n if (this.twoFAcode[5] && idx === -1) {\r\n this.twoFAInputs.toArray()[5].nativeElement.focus();\r\n }\r\n }\r\n\r\n\r\n\r\n onCodePasteTwoFA(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.twoFAcode = pastedText.split(\"\");\r\n this.checkIfCodeIsFilledTwoFA(-1);\r\n }\r\n }\r\n\r\n removeBackTwoFA(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.twoFAInputs.toArray()[index].nativeElement.focus();\r\n }\r\n }\r\n\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfCodeIsFilled(idx: number): void {\r\n if (idx >= 0 && idx < 5 && this.code[idx]) {\r\n this.inputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n this.allCodeEntered = true;\r\n this.code.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allCodeEntered = false;\r\n }\r\n });\r\n if (this.code[5] && idx === -1) {\r\n this.inputs.toArray()[5].nativeElement.focus();\r\n }\r\n }\r\n\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onCodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.code = pastedText.split(\"\");\r\n this.checkIfCodeIsFilled(-1);\r\n }\r\n }\r\n\r\n removeBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.inputs.toArray()[index].nativeElement.focus();\r\n }\r\n }\r\n\r\n sendCode(): void {\r\n let data: IEmailCode = new EmailCode(this.apiData.apiName);\r\n this.codeLoading = true;\r\n this.apiManagerService.getEmailOTP(data).subscribe((data: { statusCode: number, message: string }) => {\r\n if (data.statusCode === 200) {\r\n this.timerTime[0] = 60;\r\n this.timerFlag[0] = true;\r\n this.timerStart[0] = true;\r\n if (isNaN(this.verificationClickCount[0])) {\r\n this.verificationClickCount[0] = 1;\r\n } else {\r\n this.verificationClickCount[0]++;\r\n }\r\n this.toastorService.success(API_MANAGER_SEND_CODE)\r\n }\r\n this.codeLoading = false;\r\n }, (err: HttpErrorResponse) => {\r\n this.codeLoading = false;\r\n this.toastorService.error(err.error.message);\r\n })\r\n }\r\n\r\n timerExpire(i): void {\r\n if (this.verificationClickCount[i] < 3) {\r\n this.timerFlag[i] = false;\r\n this.timerStart[i] = false;\r\n } else {\r\n this.disableBtn[i] = true;\r\n this.timerStart[i] = false;\r\n }\r\n }\r\n\r\n onFormSubmit(): void {\r\n this.loading = true;\r\n let apiData: ICreate = new Create(this.apiData.apiFeatureTypeList, this.apiData.apiName, this.apiData.iplist, this.code.join(\"\"),\r\n this.twoFAcode.join(\"\"), \"https://www.cashaa.com/\", \"https://www.cashaa.com/\", this.apiData.id);\r\n if (this.isUpdated) {\r\n this.apiManagerService.updateApi(apiData).subscribe(() => {\r\n this.loading = false;\r\n this.toastorService.success('API successfully updated');\r\n this.router.navigateByUrl('api-manager');\r\n }, (err: HttpErrorResponse) => {\r\n this.loading = false;\r\n this.toastorService.error(err.error.message);\r\n });\r\n } else {\r\n this.apiManagerService.createApi(apiData).subscribe((response: IApiListRespose) => {\r\n this.loading = false;\r\n this.toastorService.success('API register successfully');\r\n this.continue.next(response);\r\n }, (err: HttpErrorResponse) => {\r\n this.loading = false;\r\n this.toastorService.error(err.error.message);\r\n });\r\n }\r\n\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
Email Verification Code
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
2FA Code
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n Your google 2FA is not enabled\r\n click here to\r\n enable.\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ApiManagerRoutingModule } from './api-manager-routing.module';\r\nimport { ApiManagerHomeComponent } from './api-manager-home/api-manager-home.component';\r\nimport { ApiManagerCreateComponent } from './api-manager-create/api-manager-create.component';\r\nimport { ApiManagerSecurityVerificationComponent } from './api-manager-security-verification/api-manager-security-verification.component';\r\nimport { ApiManagerConfirmComponent } from './api-manager-confirm/api-manager-confirm.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { MDBBootstrapModulesPro } from 'ng-uikit-pro-standard';\r\nimport { ApiManagerOperationsComponent } from './api-manager-operations/api-manager-operations.component';\r\nimport { ApiManagerDataComponent } from './api-manager-data/api-manager-data.component';\r\nimport { ApManagerDeleteApiConfirmComponent } from './ap-manager-delete-api-confirm/ap-manager-delete-api-confirm.component';\r\nimport { AddWebhookURLComponent } from './add-webhook-url/add-webhook-url.component';\r\nimport { UpdateDomainComponent } from './update-domain/update-domain.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ApiManagerHomeComponent, ApiManagerCreateComponent, ApiManagerSecurityVerificationComponent, ApiManagerConfirmComponent, ApiManagerOperationsComponent, ApiManagerDataComponent, ApManagerDeleteApiConfirmComponent,\r\n AddWebhookURLComponent, UpdateDomainComponent],\r\n imports: [\r\n CommonModule,\r\n ApiManagerRoutingModule,\r\n ReactiveFormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n SharedModule,\r\n FormsModule\r\n ]\r\n})\r\nexport class ApiManagerModule { }\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { IApiListRespose, ICreate, IEmailCode } from 'src/app/core/models/api-manager/api-manager';\r\nimport { IFeature } from 'src/app/core/models/api-manager/feature';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiManagerService {\r\n\r\n private apiUrl = environment.api;\r\n\r\n private updateData = new BehaviorSubject(undefined);\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getFeatureList(): Observable {\r\n return this.http.get(`${this.apiUrl}/b2bservice/getfeaturelist`)\r\n }\r\n\r\n createApi(data: ICreate): Observable {\r\n return this.http.post(`${this.apiUrl}/b2bservice/create`, data);\r\n }\r\n\r\n getEmailOTP(apiName: IEmailCode): Observable<{ statusCode: number, message: string }> {\r\n return this.http.post<{ statusCode: number, message: string }>(`${this.apiUrl}/b2bservice/apiotp`, apiName);\r\n }\r\n\r\n updateApi(data: ICreate): Observable<{ statusCode: number, message: string }> {\r\n return this.http.post<{ statusCode: number, message: string }>(`${this.apiUrl}/b2bservice/updateapiservice`, data);\r\n }\r\n\r\n getAllApiList(): Observable {\r\n return this.http.get(`${this.apiUrl}/b2bservice/getapilist`);\r\n }\r\n\r\n deleteAPI(id: string, twoFACode: string) {\r\n return this.http.post<{ statusCode: number, message: string }>(`${this.apiUrl}/b2bservice/deleteapiservice?serviceId=${id}&twoFaAuthCode=${twoFACode}`, null);\r\n }\r\n\r\n emitAPIData(data: IApiListRespose) {\r\n this.updateData.next(data);\r\n }\r\n\r\n getAPIData(): Observable {\r\n return this.updateData.asObservable();\r\n }\r\n\r\n getAPIDataById(id: string): Observable {\r\n return this.http.get(`${this.apiUrl}/b2bservice/getapidetails?apiId=${id}`);\r\n }\r\n\r\n getWebhookURL(apiManagerId: string): Observable {\r\n return this.http.get(`${this.apiUrl}/b2bservice/getwebhookurl?apiManagerId=${apiManagerId}`);\r\n }\r\n\r\n addWebhoolURL(payload): Observable<{ statusCode: number, message: string }> {\r\n return this.http.post<{ statusCode: number, message: string }>(`${this.apiUrl}/b2bservice/addwebhookurl`, payload);\r\n }\r\n\r\n generateDomainCode(payload): Observable<{ statusCode: number, message: string }> {\r\n return this.http.post<{ statusCode: number, message: string }>(`${this.apiUrl}/b2bservice/generatedomaincode`, payload);\r\n }\r\n\r\n updateDomain(payload): Observable<{ statusCode: number, message: string }> {\r\n return this.http.post<{ statusCode: number, message: string }>(`${this.apiUrl}/b2bservice/updatewebhookdomain`, payload);\r\n }\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { USER_TYPE } from 'src/app/app.constants';\r\nimport { ValidatorUtility } from 'src/app/core/utility/validator.utility';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\nimport { ApiManagerService } from '../services/api-manager.service';\r\n\r\n@Component({\r\n selector: 'cashaa-update-domain',\r\n templateUrl: './update-domain.component.html',\r\n styleUrls: ['./update-domain.component.scss']\r\n})\r\nexport class UpdateDomainComponent implements OnInit {\r\n\r\n isInProgress = false;\r\n twoFactor = false;\r\n userEmail?: string;\r\n errorMessageFlag = false;\r\n errorMessage = \"\";\r\n response = \"\";\r\n isLoading = true;\r\n currFlag;\r\n allCodeEntered = false;\r\n reserveBalance;\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n errorMsg: string;\r\n balanceError: boolean;\r\n balanceErrorMsg: string;\r\n isBusiness: boolean;\r\n isStaking: boolean;\r\n stakingHeading: string;\r\n stakingBody: string;\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n apiId: string;\r\n public updateDomainForm: FormGroup;\r\n webhookDetails;\r\n isWebhookURLAdded = false;\r\n // sourcePath = \r\n fileName = \"\";\r\n isChecked;\r\n isDownloaded = false;\r\n constructor(\r\n private fb: FormBuilder,\r\n private toastrService: ToastrService,\r\n private apiManagerService: ApiManagerService,\r\n private commanData: CommonSavedData,\r\n private location: Location,\r\n private activateRoute: ActivatedRoute\r\n\r\n ) {\r\n this.updateDomainForm = this.fb.group({\r\n domainURL: [\"\", ValidatorUtility.Required],\r\n domainVerificationCode: [\"\", ValidatorUtility.Required],\r\n makeSureCheck: [\"\", ValidatorUtility.Required]\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n this.apiId = params[\"id\"];\r\n });\r\n this.updateDomainForm.controls.makeSureCheck.valueChanges.subscribe(res => {\r\n this.isChecked = res;\r\n })\r\n }\r\n\r\n generateCode() {\r\n const payload = {\r\n apiManagerId: this.apiId\r\n }\r\n this.apiManagerService.generateDomainCode(payload).subscribe(res => {\r\n this.updateDomainForm.controls.domainVerificationCode.setValue(res.message);\r\n this.fileName = `${res.message}.txt`;\r\n }, err => {\r\n\r\n })\r\n }\r\n\r\n download() {\r\n let newVariable: any = window.navigator;\r\n let file = new Blob([this.updateDomainForm.controls.domainVerificationCode.value], { type: '.txt' });\r\n if (newVariable.msSaveOrOpenBlob) {\r\n newVariable.msSaveOrOpenBlob(file, this.fileName);\r\n } else {\r\n\r\n let a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = this.fileName;\r\n document.body.appendChild(a);\r\n a.click();\r\n this.isDownloaded = true;\r\n setTimeout(function () {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n }\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {\r\n if (this.isDownloaded) {\r\n this.isInProgress = true;\r\n const payload = {\r\n \"apiManagerId\": this.apiId,\r\n \"domainURL\": this.updateDomainForm.value.domainURL,\r\n \"domainVerificatioinCode\": this.updateDomainForm.value.domainVerificationCode,\r\n \"domainVerificationUrl\": this.updateDomainForm.value.domainURL + \"/\" + this.fileName\r\n }\r\n this.apiManagerService.updateDomain(payload).subscribe((data) => {\r\n if (data.statusCode === 200) {\r\n this.webhookDetails = data;\r\n this.toastrService.success('Domain updated successfully');\r\n this.commanData.emitConfirmationBoxStatus(true);\r\n }\r\n this.isInProgress = false;\r\n }, (err: HttpErrorResponse) => {\r\n this.isInProgress = false;\r\n this.toastrService.error(err.error.message);\r\n })\r\n } else {\r\n this.toastrService.error('Please download the file from link before submit')\r\n }\r\n\r\n }\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n

Make sure you have downloaded file from above download link.

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
","import { UnauthorizedComponent } from \"./shared/components/unauthorized/unauthorized.component\";\r\nimport { NotFoundComponent } from \"./shared/components/not-found/not-found.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AccessRestrictedComponent } from \"./shared/components/access-restricted/access-restricted.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n redirectTo: \"account/signin\",\r\n },\r\n {\r\n path: \"unauthorized\",\r\n component: UnauthorizedComponent,\r\n },\r\n {\r\n path: \"access-restricted\",\r\n component: AccessRestrictedComponent,\r\n },\r\n {\r\n path: \"**\",\r\n component: NotFoundComponent,\r\n },\r\n {\r\n path: \"notauthorized\",\r\n component: NotFoundComponent,\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {useHash: true})],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n NavigationEnd,\r\n NavigationStart,\r\n} from \"@angular/router\";\r\nimport { APP_ROUTES } from \"./app.constants\";\r\nimport { RateWebsocketService } from \"./core/services/rate-websocket/rate-websocket.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.scss\"],\r\n})\r\nexport class AppComponent implements OnInit {\r\n /** Show header or not */\r\n showHeader = false;\r\n showSocailMediaIcon = false;\r\n constructor(\r\n private router: Router,\r\n private rateWebsocketService: RateWebsocketService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.listenToRouteChange();\r\n // this.rateWebsocketService.initiateConnection();\r\n }\r\n\r\n /**\r\n * Listen to route change and\r\n * do some action accordingaly\r\n */\r\n listenToRouteChange(): void {\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n if (\r\n event.url.startsWith(APP_ROUTES.ACCOUNT_BASE) ||\r\n event.urlAfterRedirects.startsWith(APP_ROUTES.ACCOUNT_BASE)\r\n || event.url.startsWith(APP_ROUTES.ACTIVITY_BASE) || event.urlAfterRedirects.startsWith(APP_ROUTES.ACTIVITY_BASE)\r\n ) {\r\n // this.showHeader = false;\r\n this.showSocailMediaIcon = false;\r\n } else {\r\n // this.showHeader = false;\r\n this.showSocailMediaIcon = true;\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
","import { expressionType } from \"@angular/compiler/src/output/output_ast\";\r\n\r\nexport const CONTROLS = {\r\n TEXT: \"text\",\r\n NUMBER: \"number\",\r\n EMAIL: \"email\",\r\n PASSWORD: \"password\",\r\n};\r\n\r\nexport const APP_ROUTES = {\r\n ACCOUNT_BASE: \"/account\",\r\n SIGN_IN: \"/account/signin\",\r\n MESG_BOX: \"/account/mesg-box\",\r\n SETTING_BASE: \"/settings\",\r\n SETTING_HOME: \"/setting/home\",\r\n SIGN_UP: \"/account/signup\",\r\n FORGET_PASSWORD: \"/account/forget-password\",\r\n TWO_FACTOR_AUTH: \"/account/2fa\",\r\n UNAUTHORIZED: \"/unauthorized\",\r\n FIAT_BASE: \"/fiat\",\r\n ACTIVITY_BASE: \"/activity\",\r\n RECIPIENT_BASE: \"/recipient\",\r\n ACTIVITY_LIST: \"/activity/list\",\r\n DIRECTOR_VERIFICATION: \"kyc/director-verification\",\r\n BUSINESS_ONBOARDING: \"kyc/business-onboarding\",\r\n BUSINESS_APPLICATION_STATUS: \"kyc/application-status\",\r\n WALLET_READY_TO_GO: \"/wallet/ready\",\r\n WALLET_CREDIT_LINE: \"/credit-line\",\r\n ACCOUNT_OPEN: \"wallet/open\",\r\n WALLET_HOME: \"wallet\",\r\n PREMIER_STACKING: \"subscription/premier-staking\",\r\n WITHDRAW_CONFIRMATION: \"/withdraw-confirmation\",\r\n PAYMENT_SUCCESS: \"/payment-success\",\r\n PAYMENT_FAIL: \"/payment-fail\",\r\n STAKING: \"/subscription/staking\",\r\n STAKING_TIMELINE: \"/subscription/staking/timeline\",\r\n};\r\n\r\nexport const CRYPTO_CURRENCY = {\r\n BTC: \"BTC\",\r\n ETH: \"ETH\",\r\n USDT: \"USDT\",\r\n CAS: \"CAS\",\r\n BNB: \"BNB\",\r\n BCH: \"BCH\",\r\n LTC: \"LTC\",\r\n XRP: \"XRP\",\r\n ADA: \"ADA\",\r\n DOG: \"DOG\",\r\n EOS: \"EOS\",\r\n\r\n};\r\n\r\nexport const CRYPTO_CURRENCY_NAMES = {\r\n BTC: \"Bitcoin\",\r\n CAS: \"Cashaa\",\r\n ETH: \"Ethereum\",\r\n USDT: \"Tether\",\r\n};\r\n\r\nexport const CRYPTO_CURRENCY_MAX_VALUES = {\r\n BTC: 100,\r\n ETH: 4000,\r\n USDT: 100000,\r\n CAS: 10000000,\r\n};\r\n\r\nexport const CRYPTO_CURRENCY_MIN_VALUES = {\r\n BTC: 0.01,\r\n ETH: 0.1,\r\n USDT: 100,\r\n CAS: 5000,\r\n};\r\n\r\nexport const WALLET_CURRENCY = {\r\n INR: \"INR\",\r\n GBP: \"GBP\",\r\n EUR: \"EUR\",\r\n USD: \"USD\",\r\n AUSD: \"AUSD\",\r\n};\r\n\r\nexport const ACCOUNT_TYPE = {\r\n BUSINESS: \"b\",\r\n PERSONAL: \"p\",\r\n};\r\n\r\nexport const RATE_HUB = {\r\n HUB_NAME: \"myHub\",\r\n DATA_PATH: \"sendMarketExchangeData\",\r\n};\r\n\r\nexport const CURRENCY_TYPE = {\r\n CRYPTO: \"crypto\",\r\n WALLET: \"wallet\",\r\n ALL: \"all\",\r\n};\r\n\r\nexport const TRADE_MODE = {\r\n BUY: \"buy\",\r\n SELL: \"sell\",\r\n};\r\n\r\nexport const TRANSFER_TYPE = {\r\n SEND: \"send\",\r\n RECEIVE: \"receive\",\r\n};\r\n\r\nexport const NEW_RECIPIENT_TYPE = {\r\n MYSELF: \"myself\",\r\n SOMEONE: \"someone\",\r\n BUSINESS: \"business\",\r\n};\r\n\r\nexport const SUBSCRIPTION_PERSONAL_PLAN = {\r\n BASIC: \"Basic\",\r\n PREMIUM: \"Premium\"\r\n}\r\n\r\nexport const SUBSCRIPTION_BUSINESS_PLAN = {\r\n BASIC: \"Business Basic\",\r\n PREMIUM: \"Business Premium\"\r\n}\r\n\r\nexport const WALLET_CURRENCY_NUM = {\r\n INR: 1,\r\n GBP: 2,\r\n EUR: 3,\r\n USD: 4,\r\n AUSD: 5,\r\n SGD: 18,//Singapore dollars\r\n AUD: 19,//Australian dollars\r\n CNH: 20,//Chinese Yuan Renminbi\r\n CAD: 21,//Canadian dollars\r\n CHF: 22,//Swiss francs\r\n NZD: 23,//New Zealand dollars\r\n JPY: 24,//Japanese yen\r\n MXN: 25,//Mexican pesos\r\n SHIB: 26//SHIBA INU\r\n};\r\n\r\nexport const CRYPTO_CURRENCY_NUM = {\r\n BTC: 2,\r\n ETH: 3,\r\n BNB: 4,\r\n CAS: 5,\r\n USDT: 6,\r\n BCH: 7,\r\n LTC: 8,\r\n XRP: 9,\r\n ADA: 10,\r\n DOG: 11,\r\n EOS: 12,\r\n LINK: 16,\r\n UNI: 17,\r\n USDC: 18,\r\n BNB20: 14\r\n};\r\n\r\nexport const RegisterType = {\r\n web: 1,\r\n android: 2,\r\n iOS: 3\r\n}\r\n\r\nexport const UNABLE_TO_PERFORM_ERROR =\r\n \"Unable to perform the operation because of some error.\";\r\nexport const AUTH_TOKEN_PATH = \"cashaa/authtoken\";\r\nexport const USER_NAME_PATH = \"cashaa/username\";\r\nexport const USER_EMAIL_PATH = \"cashaa/useremail\";\r\nexport const IS_KYC_DONE_PERSONAL = \"cashaa/iskycdonepersonal\";\r\nexport const SYMBOL_FOR_MEMO = \"CAS\";\r\nexport const USER_ID = \"cashaa/userid\";\r\nexport const USER_TYPE = \"cashaa/usertype\";\r\nexport const USER_NAME_ID = \"cashaa/usernameid\";\r\nexport const USER_FEE_MODE = \"cashaa/userfeemode\";\r\nexport const USER_INTEREST_MODE = \"cashaa/userinterestmode\";\r\nexport const USER_FEE_PERCENT = \"cashaa/userfeepercent\";\r\nexport const USER_CAS_FEE_PERCENT = \"cashaa/usercasfeepercent\";\r\nexport const USER_PLAN = \"cashaa/userplan\";\r\nexport const USER_CAS_FEE_RATE = \"cashaa/usercasfeerate\";\r\nexport const USER_TWO_FACTOR_CODE = \"cashaa/twofactorcode\";\r\nexport const USER_COUNTRY_CODE = \"cashaa/userCountryCode\";\r\nexport const USER_COUNTRY_ID = \"cashaa/userCountryId\"\r\nexport const USER_REFERRAL_CODE = \"cashaa/referralCode\";\r\nexport const IS_CAS_SWAP_Enabled = \"cashaa/isCASSWAPEnabled\";\r\nexport const KYC_STATUS = \"cashaa/kycStatus\";\r\nexport const GET_ALL_HELPDESK_TICKETS =\r\n \"helpdesktickets​/getallhelpdesktickets\";\r\nexport const SEESION_FLAG = \"cashaa/sessionFlag\";\r\nexport const SEESION_OBJECT = \"cashaa/sessionObject\";\r\nexport const ENABLE_2FA = \"2FA is successfully enabled.\";\r\nexport const PASSWORD_MESG = \"Password changed successfully.\";\r\nexport const VERIFICATION_MESG =\r\n \"Verification link sent successfully. Please check your email.\";\r\nexport const RECIPIENT_MESG = \"Recipient added successfully.\";\r\nexport const RECIPIENT_EMAIL_MESG =\r\n \"Recipient added successfully. Please verify address in your email.\";\r\nexport const PROFILE_MESG = \"Profile updated successfully.\";\r\nexport const DATA_SUCCESS_MESG = \"Data saved successfully.\";\r\nexport const FILE_SUCCESS_MESG = \"File uploaded successfully.\";\r\nexport const FILE_DELETE_MESG = \"File deleted successfully.\";\r\nexport const FEE_SUCCESS_MESG = \"Fee payment successful.\";\r\nexport const FEE_ALREADY_PAID = \"Fee already paid.\";\r\nexport const TICKET_CREATED_SUCCESS =\r\n \"New ticket created successfully. Please check your email.\";\r\nexport const KYC_VERIFACTION_MESG = \"KYC verification link sent successfully.\";\r\nexport const CUSTOMER_ADDED_SUCCESS = \"Customer added successfully.\";\r\nexport const CUSTOMER_UPDATED_SUCCESS = \"Customer updated successfully.\";\r\nexport const FEE_MODE_UPDATED = \"Fee mode successfully updated.\";\r\nexport const INTEREST_MODE_CREATED = \"Interest Mode successfully updated\";\r\nexport const BUSINESS_UPGRADE_SUBSCRIPTION =\r\n \"You have successfully staked for the USD account.\";\r\nexport const PERSONAL_UPGRADE_SUBSCRIPTION =\r\n \"You have successfully staked for the worldwide staking\";\r\nexport const TRANSACTION_SUCCESS_CANCELLED =\r\n \"Transaction successfully cancelled\";\r\nexport const RECIPIENT_DELETED_SUCCESS = \"Recipient delete successfully\";\r\nexport const CUSTOMER_DELETED_SUCCESS = \"Beneficiary delete successfully\";\r\nexport const CANCEL_AUTO_RENEWAL_SUCCESS = \"Auto Renewal Canceled Successfully\";\r\nexport const ENABLE_AUTO_RENEWAL_SUCCESS = \"Auto Renewal Enabled Successfully\";\r\nexport const APPLICATION_FORM_CORPORATE_ACCOUNT_GBP_EUR = \"https://cashaa-cdn.cashaa.com/KYC_Business/GBP-EUR-Cashaa-Corporate-Account-opening.pdf\";\r\nexport const APPLICATION_FORM_NDA_GBP_EUR = \"https://cashaa-cdn.cashaa.com/KYC_Business/Mutual-non-disclosure-agreement-template.pdf\";\r\nexport const APPLICATION_FORM_ACCOUNT_OPPENING_USD = \"https://cashaa-cdn.cashaa.com/KYC_Business/USD-Cashaa-Account-Opening-Form-with-CDD.pdf\";\r\nexport const DEPOSIT_INTEREST_SUCCESS = \"Fixed Deposit Successfully Created\";\r\nexport const DELETE_REFERRAL_SUCCESS = \"Referral deleted successfully\";\r\nexport const RESEND_REFERRAL_SUCCESS = \"Resend referral successfully\"\r\nexport const API_MANAGER_SEND_CODE = \"Code sent successfully. Please check your email.\";\r\nexport const SILVER_PLAN = \"Silver\";\r\nexport const GOLD_PLAN = \"Gold\";\r\nexport const DIAMOND_PLAN = \"Diamond\";\r\nexport const BASE_PLAN = 'Base';\r\nexport const MEMO_UPDATED = 'Memo updated successfully';\r\nexport const DEPOSIT_TIMING = \"00:29\";\r\nexport const TICKET_CREATED_TIME = \"cashaa/ticketCreatedTime\";\r\nexport const ALGOLIA_APP_ID = \"MVH22CK1WU\";\r\nexport const ALGOLIA_API_KEY = \"a25da424ff2afec40e9c4b52befa6ed6\";\r\nexport const ALGOLIA_INDEX_NAME = \"authorized-addresses-cashaa\";\r\n\r\n","import { DepositModule } from \"./deposit/deposit.module\";\r\nimport { AccountUpgradeModule } from \"./account-upgrade/account-upgrade.module\";\r\nimport { InviteModule } from \"./invite/invite.module\";\r\nimport { ConvertModule } from \"./convert/convert.module\";\r\nimport { WalletModule } from \"./wallet/wallet.module\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MDBBootstrapModulesPro, TooltipModule } from \"ng-uikit-pro-standard\";\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { SharedModule } from \"./shared/shared.module\";\r\nimport { BusinessModule } from \"./business/business.module\";\r\nimport { AccountModule } from \"./account/account.module\";\r\nimport { KycModule } from \"./kyc/kyc.module\";\r\nimport { HelpdeskModule } from \"./helpdesk/helpdesk.module\";\r\nimport { HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\nimport { HttpInterceptorService } from \"./core/services/interceptor/http-interceptor.service\";\r\nimport { WithdrawModule } from \"./withdraw/withdraw.module\";\r\nimport { TradeModule } from \"./trade/trade.module\";\r\nimport { MessageBoxComponent } from \"./shared/components/message-box/message-box.component\";\r\nimport { FiatModule } from \"./fiat/fiat.module\";\r\nimport { RecipientModule } from \"./recipient/recipient.module\";\r\nimport { ReceiveModule } from \"./receive/receive.module\";\r\nimport { ProfileModule } from \"./profile/profile.module\";\r\nimport { SettingsModule } from \"./settings/settings.module\";\r\nimport { ActivityModule } from \"./activity/activity.module\";\r\nimport { CustomerModule } from \"./customer/customer.module\";\r\nimport { DatePipe, DecimalPipe } from \"@angular/common\";\r\nimport { QRCodeModule } from \"angular2-qrcode\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { SwapModule } from \"./swap/swap.module\";\r\nimport { DepositInterestModule } from \"./deposit-interest/deposit-interest.module\";\r\nimport { ApiManagerModule } from \"./api-manager/api-manager.module\";\r\nimport { UserPlanModule } from \"./user-plan/user-plan.module\";\r\nimport { ReferralRoutingModule } from \"./referral/referral-routing.module\";\r\nimport { ReferralModule } from \"./referral/referral.module\";\r\nimport { StatementModule } from \"./statement/statement.module\";\r\nimport { EventFeeModule } from \"./event-fee/event-fee.module\";\r\n\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ToastrModule.forRoot(),\r\n RecipientModule,\r\n ReferralModule,\r\n StatementModule,\r\n BusinessModule,\r\n AccountModule,\r\n SharedModule,\r\n KycModule,\r\n HelpdeskModule,\r\n WithdrawModule,\r\n TradeModule,\r\n FiatModule,\r\n WithdrawModule,\r\n ReceiveModule,\r\n ProfileModule,\r\n SettingsModule,\r\n ActivityModule,\r\n WalletModule,\r\n ConvertModule,\r\n InviteModule,\r\n AccountUpgradeModule,\r\n DepositModule,\r\n CustomerModule,\r\n SwapModule,\r\n EventFeeModule,\r\n DepositInterestModule,\r\n ApiManagerModule,\r\n UserPlanModule,\r\n AppRoutingModule,\r\n QRCodeModule,\r\n TooltipModule\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpInterceptorService,\r\n multi: true,\r\n },\r\n DatePipe,\r\n DecimalPipe,\r\n ],\r\n entryComponents: [MessageBoxComponent],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cashaa-business-home',\r\n templateUrl: './business-home.component.html',\r\n styleUrls: ['./business-home.component.scss']\r\n})\r\nexport class BusinessHomeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n

business-home works!

\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { BusinessHomeComponent } from \"./business-home/business-home.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nconst routes: Routes = [\r\n {\r\n path: \"business\",\r\n canActivate: [AuthGuardService],\r\n children: [\r\n {\r\n path: \"\",\r\n component: BusinessHomeComponent,\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class BusinessRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { BusinessHomeComponent } from \"./business-home/business-home.component\";\r\nimport { BusinessRoutingModule } from \"./business-routing.module\";\r\n\r\n@NgModule({\r\n declarations: [BusinessHomeComponent],\r\n imports: [CommonModule, BusinessRoutingModule],\r\n})\r\nexport class BusinessModule {}\r\n","import { UserService } from \"./../../core/services/user/user.service\";\r\nimport { CurrencyType } from \"./../../core/enums/currencyType\";\r\nimport {\r\n WALLET_CURRENCY,\r\n WALLET_CURRENCY_NUM,\r\n CRYPTO_CURRENCY_NUM,\r\n USER_FEE_MODE,\r\n USER_FEE_PERCENT,\r\n USER_CAS_FEE_RATE,\r\n CRYPTO_CURRENCY,\r\n USER_TYPE,\r\n SUBSCRIPTION_PERSONAL_PLAN,\r\n} from \"./../../app.constants\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { IConvert } from \"./../../core/models/convert\";\r\nimport { ConvertService } from \"./../services/convert.service\";\r\nimport { ICurrency } from \"src/app/core/models/currency\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { SubSink } from \"subsink\";\r\nimport { DecimalPipe } from \"@angular/common\";\r\nimport { IBrokerFees } from \"src/app/core/models/quote\";\r\nimport { AccountUpgradeService } from \"src/app/account-upgrade/services/account-upgrade.service\";\r\nimport { UserSubscriptionPlan } from \"src/app/core/models/account-upgrade/subscription-plan-response\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { WalletService } from \"src/app/wallet/services/wallet.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-convert-amount\",\r\n templateUrl: \"./convert-amount.component.html\",\r\n styleUrls: [\"./convert-amount.component.scss\"],\r\n})\r\nexport class ConvertAmountComponent implements OnInit, OnDestroy {\r\n /*** in view */\r\n @Input() inView = false;\r\n\r\n /** on continue click, emit event */\r\n @Output() continue = new EventEmitter();\r\n\r\n /** input form */\r\n form: FormGroup;\r\n\r\n /** rate varibale */\r\n rate: number;\r\n\r\n rateSymbol: string;\r\n\r\n /** casrate varibale */\r\n casrate: number = 0;\r\n\r\n /** sendCurrencySymbol varibale */\r\n sendCurrencySymbol: string;\r\n\r\n /** casSymbol varibale */\r\n casSymbol: string;\r\n\r\n receiveCurrencySymbol: string;\r\n\r\n /** actulaconvertedamount varibale */\r\n actulaconvertedamount: number;\r\n\r\n /** selectedfeeamount varibale */\r\n selectedfeeamount: number;\r\n\r\n /** feemode variable */\r\n userFeeMode = sessionStorage.getItem(USER_FEE_MODE);\r\n\r\n /** conversionfeepercent variable */\r\n\r\n conversionFeePercent = sessionStorage.getItem(USER_FEE_PERCENT);\r\n\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n\r\n /** cas fee check varibale */\r\n casFeeCheckBalance: number;\r\n\r\n isInvalid = false;\r\n\r\n disableCryptoInFrom = false;\r\n\r\n disableFiatInFrom = false;\r\n\r\n disableCryptoInTo = false;\r\n\r\n disableFiatInTo = true;\r\n\r\n iscasfee = false;\r\n\r\n defaultFromCurrency: ICurrency;\r\n\r\n defaultToCurrency: ICurrency;\r\n\r\n fiatCurrencies = [\"INR\", \"EUR\"];\r\n\r\n subsink = new SubSink();\r\n\r\n currencyMap = new Map();\r\n\r\n multiplyCryptoMap = new Map();\r\n\r\n usdRate: number;\r\n\r\n brokerFees: IBrokerFees;\r\n\r\n currentUserPlanDetail: UserSubscriptionPlan;\r\n minAmount: number;\r\n minAmountSymbol: string;\r\n minCASAmount: number;\r\n minCASAmountSymbol: string;\r\n isMinSendValueError: boolean = false;\r\n isMinReceiveValueError: boolean = false;\r\n exchangeFeeDiscount;\r\n networkTypeOptions = [];\r\n networkForm: FormGroup;\r\n merchantRecognitionId;\r\n appId;\r\n isAddressGenerated = false;\r\n thirdPartyConditionsAccepted = false;\r\n termsAndConditionsAccepted = false;\r\n isKYCRedoWithDigiLocker = false;\r\n walletAddress;\r\n hideMainPage = false;\r\n srcUrl;\r\n loader = false;\r\n addressTag;\r\n memo;\r\n isOnRamp = true;\r\n onRampPairedCurrencyInfo;\r\n receiveCurrencyInfo;\r\n receivedAndSelectedPair;\r\n networkToPassOnRamp;\r\n setInitialCurrencyValue;\r\n sendCurrencyData;\r\n netValueAsName;\r\n allCurrenciesInfo;\r\n constructor(\r\n private fb: FormBuilder,\r\n private convertService: ConvertService,\r\n private domainService: DomainService,\r\n private activatedRoute: ActivatedRoute,\r\n private userService: UserService,\r\n private decimalNumber: DecimalPipe,\r\n private upgardeService: AccountUpgradeService,\r\n private walletService: WalletService,\r\n private router: Router\r\n ) {\r\n this.createForm();\r\n this.rate = 1;\r\n this.sendCurrencySymbol = \"EUR\";\r\n this.selectedfeeamount = 0;\r\n this.actulaconvertedamount = 0;\r\n this.receiveCurrencySymbol = \"CAS\";\r\n this.casSymbol = \"CAS\";\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sendAmountChangeEvent();\r\n this.reciveAmountChangeEvent();\r\n this.getUserBalance();\r\n this.getGivenCurrency();\r\n\r\n\r\n if (\r\n this.form.controls[\"sendercurrencyId\"].value !==\r\n this.form.controls[\"receivercurrencyId\"].value\r\n ) {\r\n this.domainService\r\n .getRate(\r\n this.form.controls[\"sendercurrencyId\"].value,\r\n this.form.controls[\"receivercurrencyId\"].value\r\n )\r\n .subscribe((rateobj) => {\r\n this.rate = rateobj.rate\r\n this.minAmount = rateobj.minAmount;\r\n this.minAmountSymbol = rateobj.minAmountSymbol;\r\n this.minCASAmount = rateobj.minCASAmount;\r\n this.minCASAmountSymbol = rateobj.minCASAmountSymbol;\r\n this.rateSymbol = rateobj.rateSymbol;\r\n this.casrate = rateobj.casRate;\r\n this.usdRate = rateobj.usdRate;\r\n });\r\n }\r\n this.subsink.add(this.upgardeService.getUserActionSubscriptionPlan().subscribe((data: UserSubscriptionPlan) => {\r\n this.currentUserPlanDetail = data;\r\n }));\r\n this.getUserPlanDetails();\r\n }\r\n\r\n getGivenCurrency(): void {\r\n const pathName = window.location.hash;\r\n this.subsink.add(\r\n this.activatedRoute.queryParamMap.subscribe((val) => {\r\n const currency = val.get(\"c\");\r\n // if (currency === 'INR') {\r\n // this.setINRMapValues();\r\n // } else {\r\n // this.setMapValues();\r\n // }\r\n this.domainService\r\n .getCurrenciesList(CurrencyType.all)\r\n .subscribe((list) => {\r\n if (currency) { \r\n const found = list.currencies.filter(\r\n (c) => c.symbol === currency && (c.tradeSide == 1 || c.tradeSide == 3)\r\n );\r\n this.allCurrenciesInfo = list.currencies;\r\n if (found.length > 0) {\r\n this.defaultFromCurrency = found[0];\r\n if (pathName.includes(\"buy\")) {\r\n this.form.controls.receivercurrencyId.setValue(\r\n this.defaultFromCurrency.id);\r\n } else {\r\n this.form.controls.sendercurrencyId.setValue(\r\n this.defaultFromCurrency.id);\r\n }\r\n // if crypto else fiat : added buy only for fiat now\r\n if (this.defaultFromCurrency.currencyType === 1) {\r\n this.defaultToCurrency = list.currencies.filter(\r\n (c) => c.symbol === WALLET_CURRENCY.EUR\r\n )[0];\r\n if (pathName.includes(\"buy\")) {\r\n this.form.controls.sendercurrencyId.setValue(\r\n this.defaultToCurrency.id);\r\n } else {\r\n this.form.controls.receivercurrencyId.setValue(\r\n this.defaultToCurrency.id\r\n );\r\n }\r\n } else {\r\n this.defaultToCurrency = list.currencies.filter(\r\n (c) => c.symbol === CRYPTO_CURRENCY.CAS\r\n )[0];\r\n if (pathName.includes(\"buy\")) {\r\n this.form.controls.sendercurrencyId.setValue(\r\n this.defaultToCurrency.id);\r\n this.sendCurrencySymbol = this.defaultFromCurrency.symbol;\r\n } else {\r\n this.form.controls.receivercurrencyId.setValue(\r\n this.defaultToCurrency.id\r\n );\r\n }\r\n\r\n }\r\n } else {\r\n this.defaultFromCurrency = list.currencies.filter(\r\n (c) => c.symbol === WALLET_CURRENCY.EUR\r\n )[0];\r\n this.defaultToCurrency = list.currencies.filter(\r\n (c) => c.symbol === CRYPTO_CURRENCY.CAS\r\n )[0];\r\n if (pathName.includes(\"buy\")) {\r\n this.form.controls.sendercurrencyId.setValue(\r\n this.defaultFromCurrency.id);\r\n this.form.controls.receivercurrencyId.setValue(\r\n this.defaultToCurrency.id);\r\n } else {\r\n this.form.controls.sendercurrencyId.setValue(\r\n this.defaultToCurrency.id);\r\n this.form.controls.receivercurrencyId.setValue(\r\n this.defaultFromCurrency.id);\r\n }\r\n }\r\n } else {\r\n this.defaultFromCurrency = list.currencies.filter(\r\n (c) => c.symbol === WALLET_CURRENCY.EUR\r\n )[0];\r\n this.setInitialCurrencyValue = this.defaultFromCurrency.id;\r\n this.defaultToCurrency = list.currencies.filter(\r\n (c) => c.symbol === CRYPTO_CURRENCY.CAS\r\n )[0];\r\n this.form.controls.sendercurrencyId.setValue(\r\n this.defaultFromCurrency.id\r\n );\r\n this.form.controls.receivercurrencyId.setValue(\r\n this.defaultToCurrency.id\r\n );\r\n }\r\n });\r\n })\r\n );\r\n }\r\n\r\n /***\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n sendercurrencyId: [\"\"],\r\n senderAmount: [\"\", [ValidatorUtility.Required]],\r\n receivercurrencyId: [\"\"],\r\n receiverAmount: [\"\", [ValidatorUtility.Required]],\r\n sendertransferFeeId: [\"\"],\r\n\r\n });\r\n this.form.controls.receiverAmount.disable();\r\n this.networkForm = this.fb.group({\r\n networkType: [\"\"]\r\n })\r\n this.listenToCurrencyChange();\r\n }\r\n\r\n /***\r\n * Listen to currency change\r\n */\r\n listenToCurrencyChange(): void {\r\n this.form.valueChanges.subscribe(() => {\r\n // this.form.controls.receiverAmount.setValue(0);\r\n });\r\n }\r\n\r\n /***\r\n * On continue click\r\n */\r\n onContinue(): void {\r\n const payData: IConvert = {\r\n convertFrom: this.form.controls[\"senderAmount\"].value.replaceAll(\",\", \"\"),\r\n convertTo: this.form.controls[\"receiverAmount\"].value.replaceAll(\",\", \"\"),\r\n fromcurrencyId: this.form.controls[\"sendercurrencyId\"].value,\r\n tocurrencyId: this.form.controls[\"receivercurrencyId\"].value,\r\n feeId: this.form.controls[\"sendertransferFeeId\"].value,\r\n rate: this.rate,\r\n side: this.checkIsBuyOrSell(),\r\n wallet:\r\n this.checkIsBuyOrSell() === 2\r\n ? WALLET_CURRENCY_NUM[this.sendCurrencySymbol]\r\n : this.checkIsBuyOrSell() === 1\r\n ? WALLET_CURRENCY_NUM[this.receiveCurrencySymbol]\r\n : WALLET_CURRENCY_NUM[this.sendCurrencySymbol] && WALLET_CURRENCY_NUM[this.receiveCurrencySymbol] ?\r\n WALLET_CURRENCY_NUM[this.sendCurrencySymbol] :\r\n CRYPTO_CURRENCY_NUM[this.sendCurrencySymbol],\r\n crypto:\r\n this.checkIsBuyOrSell() === 2\r\n ? CRYPTO_CURRENCY_NUM[this.receiveCurrencySymbol]\r\n : this.checkIsBuyOrSell() === 1\r\n ? CRYPTO_CURRENCY_NUM[this.sendCurrencySymbol]\r\n : WALLET_CURRENCY_NUM[this.sendCurrencySymbol] && WALLET_CURRENCY_NUM[this.receiveCurrencySymbol] ?\r\n WALLET_CURRENCY_NUM[this.receiveCurrencySymbol]\r\n : CRYPTO_CURRENCY_NUM[this.receiveCurrencySymbol],\r\n feeAmount: this.selectedfeeamount,\r\n from: this.sendCurrencySymbol,\r\n to: this.receiveCurrencySymbol,\r\n };\r\n this.convertService.emitConvertFlowData(payData);\r\n this.continue.emit();\r\n }\r\n\r\n resetAmountvalue(): void {\r\n this.form.controls[\"senderAmount\"].patchValue(null, {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n this.form.controls[\"receiverAmount\"].patchValue(null, {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n this.actulaconvertedamount = 0;\r\n this.isMinSendValueError = false;\r\n this.isMinReceiveValueError = false;\r\n }\r\n\r\n onsendCurrencyChangeEvent(data: ICurrency): void {\r\n this.iscasfee = false;\r\n this.isOnRamp = data.isOnramp;\r\n this.sendCurrencyData = data;\r\n this.sendCurrencySymbol = data.symbol;\r\n this.resetAmountvalue();\r\n if (this.isOnRamp) {\r\n this.currencyMap = new Map();\r\n this.getCurrencyOnRampPairList(data);\r\n } else {\r\n this.currencyMap = new Map();\r\n this.setMapValues()\r\n }\r\n\r\n if (this.sendCurrencySymbol === 'EUR') { \r\n if (this.sendCurrencySymbol === this.receiveCurrencySymbol) {\r\n this.form.controls.receivercurrencyId.setValue(\r\n \"43796ac1-8f4e-4875-2533-08d7b39928d1\"\r\n );\r\n } \r\n }\r\n if (this.sendCurrencySymbol === 'CAS') {\r\n if (this.sendCurrencySymbol === this.receiveCurrencySymbol) {\r\n this.form.controls.receivercurrencyId.setValue(\r\n this.defaultFromCurrency.id\r\n );\r\n }\r\n } else if (this.receiveCurrencySymbol === 'XRP') {\r\n this.form.controls.sendercurrencyId.setValue(\r\n \"b40190d2-f80d-4a48-83a7-7dba72d238e3\"\r\n );\r\n //set to LTC id\r\n }\r\n if (this.sendCurrencySymbol === this.receiveCurrencySymbol) {\r\n let findInMap;\r\n for (let [k, v] of this.currencyMap) {\r\n if (k === this.sendCurrencySymbol) { \r\n findInMap= v[0]; \r\n break;\r\n }\r\n }\r\n let selCurr = this.allCurrenciesInfo.filter(item => item.symbol === findInMap);\r\n this.form.controls.receivercurrencyId.setValue(\r\n selCurr[0].id\r\n );\r\n } \r\n\r\n if (this.form.controls[\"receivercurrencyId\"].value === data.id) {\r\n this.rate = 1;\r\n } else if (\r\n this.form.controls[\"receivercurrencyId\"].value !== null &&\r\n this.form.controls[\"receivercurrencyId\"].value !== \"\" && !this.isOnRamp\r\n ) {\r\n this.subsink.add(\r\n this.domainService\r\n .getRate(data.id, this.form.controls[\"receivercurrencyId\"].value)\r\n .subscribe((rateobj) => {\r\n this.rate = rateobj.rate\r\n this.rateSymbol = rateobj.rateSymbol;\r\n this.casrate = rateobj.casRate;\r\n this.usdRate = rateobj.usdRate;\r\n this.minAmount = rateobj.minAmount;\r\n this.minAmountSymbol = rateobj.minAmountSymbol;\r\n this.minCASAmount = rateobj.minCASAmount;\r\n this.minCASAmountSymbol = rateobj.minCASAmountSymbol;\r\n sessionStorage.setItem(USER_CAS_FEE_RATE, this.casrate.toString());\r\n this.getNewConversionForSendChange(\r\n this.form.controls[\"senderAmount\"].value,\r\n true\r\n );\r\n })\r\n );\r\n }\r\n\r\n if (this.userType === \"6\" || (this.userType === \"4\" && SUBSCRIPTION_PERSONAL_PLAN.PREMIUM === this.currentUserPlanDetail.planName)) {\r\n this.subsink.add(this.convertService.getBrokerFees(this.sendCurrencySymbol, this.userFeeMode).subscribe((fees: IBrokerFees) => {\r\n this.brokerFees = fees;\r\n }));\r\n }\r\n }\r\n\r\n onChangingAmountField(event) {\r\n this.form.controls[\"senderAmount\"].valueChanges.subscribe((val) => {\r\n if (this.isOnRamp) {\r\n if (Number(this.form.controls.senderAmount.value) < this.minAmount) {\r\n this.isMinSendValueError = true;\r\n }\r\n }\r\n\r\n this.getNewConversionForSendChange(val, false);\r\n })\r\n }\r\n \r\n getCurrencyOnRampPairList(data) {\r\n this.convertService.getOnRampPairList(data.id).subscribe(res => {\r\n this.onRampPairedCurrencyInfo = res;\r\n let pairsOfRespectiveCoin = res.map(item => item.symbol);\r\n this.currencyMap.set(data.symbol, pairsOfRespectiveCoin);\r\n if(this.receiveCurrencyInfo.symbol == \"DOG\"){\r\n this.receiveCurrencyInfo.symbol = \"DOGE\";\r\n }\r\n this.receivedAndSelectedPair = this.onRampPairedCurrencyInfo.filter(item => item.symbol === this.receiveCurrencyInfo.symbol);\r\n \r\n if (this.receiveCurrencyInfo.currencyType == 1) {\r\n let res = this.receivedAndSelectedPair[0].networkType;\r\n this.networkTypeOptions = res;\r\n let defaultNetworkType = this.networkTypeOptions.filter(item => item.default == true)[0]\r\n this.networkForm.controls.networkType.setValue(defaultNetworkType.networkValue);\r\n this.netValueAsName = defaultNetworkType.value;\r\n this.minAmount = defaultNetworkType.minimumTradeAmount;\r\n this.networkToPassOnRamp = defaultNetworkType.networkValue;\r\n let chainId = this.networkTypeOptions.filter(item => item.networkValue == this.networkToPassOnRamp);\r\n this.getOnRampRate(chainId);\r\n this.getWalletAddress(this.receiveCurrencyInfo.id, this.networkToPassOnRamp);\r\n }\r\n \r\n })\r\n\r\n }\r\n\r\n getDecimalNumber(symbol) {\r\n let toFix = \"0.0\";\r\n if (symbol === \"CAS\") {\r\n toFix = \"0.0-0\";\r\n } else if (this.fiatCurrencies.includes(symbol)) {\r\n toFix = \"0.2-4\";\r\n } else {\r\n if (symbol === CRYPTO_CURRENCY.BTC || symbol === CRYPTO_CURRENCY.ETH) {\r\n toFix = \"0.2-10\";\r\n } else {\r\n toFix = \"0.4\";\r\n }\r\n }\r\n return toFix;\r\n }\r\n\r\n onreciveCurrencyChangeEvent(data: ICurrency): void {\r\n this.iscasfee = false;\r\n this.receiveCurrencyInfo = data;\r\n this.resetAmountvalue();\r\n this.receiveCurrencySymbol = data.symbol;\r\n if(this.receiveCurrencySymbol == \"DOG\"){\r\n this.receiveCurrencySymbol = \"DOGE\"\r\n }\r\n if (this.sendCurrencySymbol === this.receiveCurrencySymbol) {\r\n this.form.controls.sendercurrencyId.setValue(\r\n this.defaultFromCurrency.id\r\n );\r\n }\r\n if(this.onRampPairedCurrencyInfo) {\r\n let res = this.onRampPairedCurrencyInfo.filter(item => item.symbol === this.receiveCurrencySymbol)[0].networkType;\r\n this.networkTypeOptions = res;\r\n let defaultNetworkType = this.networkTypeOptions.filter(item => item.default == true)[0];\r\n this.minAmount = defaultNetworkType.minimumTradeAmount;\r\n this.networkForm.controls.networkType.setValue(defaultNetworkType.networkValue);\r\n this.netValueAsName = defaultNetworkType.value;\r\n this.networkToPassOnRamp = defaultNetworkType.networkValue;\r\n this.getWalletAddress(this.receiveCurrencyInfo.id, this.networkToPassOnRamp);\r\n }\r\n \r\n if (this.form.controls[\"sendercurrencyId\"].value === data.id) {\r\n this.rate = 1;\r\n } else {\r\n if (!this.isOnRamp) {\r\n this.subsink.add(\r\n this.domainService\r\n .getRate(this.form.controls[\"sendercurrencyId\"].value, data.id)\r\n .subscribe((rateobj) => {\r\n this.rate = rateobj.rate;\r\n this.rateSymbol = rateobj.rateSymbol;\r\n this.casrate = rateobj.casRate;\r\n this.usdRate = rateobj.usdRate;\r\n this.minAmount = rateobj.minAmount;\r\n this.minAmountSymbol = rateobj.minAmountSymbol;\r\n this.minCASAmount = rateobj.minCASAmount;\r\n this.minCASAmountSymbol = rateobj.minCASAmountSymbol;\r\n sessionStorage.setItem(USER_CAS_FEE_RATE, this.casrate.toString());\r\n this.getNewConversionForReceiveChange(\r\n this.form.controls[\"receiverAmount\"].value,\r\n true\r\n );\r\n })\r\n );\r\n } else {\r\n if (this.onRampPairedCurrencyInfo) {\r\n if(this.receiveCurrencyInfo.symbol == \"DOG\"){\r\n this.receiveCurrencyInfo.symbol = \"DOGE\";\r\n }\r\n let onChnageReceivedAndSelectedPair = this.onRampPairedCurrencyInfo.filter(item => item.symbol === this.receiveCurrencyInfo.symbol);\r\n this.receivedAndSelectedPair = onChnageReceivedAndSelectedPair;\r\n let networkInfoWithchainId = onChnageReceivedAndSelectedPair[0].networkType.filter(item => item.networkValue == this.networkForm.controls.networkType.value);\r\n this.getOnRampRate(networkInfoWithchainId)\r\n }\r\n \r\n }\r\n }\r\n\r\n // if (this.userType === \"6\" || (this.userType === \"4\" && SUBSCRIPTION_PERSONAL_PLAN.PREMIUM === this.currentUserPlanDetail.planName)) {\r\n // this.subsink.add(this.convertService.getBrokerFees(this.sendCurrencySymbol, this.userFeeMode).subscribe((fees: IBrokerFees) => {\r\n // this.brokerFees = fees;\r\n // }));\r\n // }\r\n }\r\n\r\n sendAmountChangeEvent(): void {\r\n this.iscasfee = false;\r\n this.subsink.add(\r\n \r\n );\r\n }\r\n\r\n reciveAmountChangeEvent(): void {\r\n this.iscasfee = false;\r\n this.subsink.add(\r\n this.form.controls[\"receiverAmount\"].valueChanges.subscribe((val) => {\r\n if (val !== \".\") {\r\n this.getNewConversionForReceiveChange(val, false);\r\n }\r\n })\r\n );\r\n }\r\n\r\n getNewConversionForSendChange(val: any, flag): void {\r\n val = val ? val.replaceAll(\",\", \"\") : val;\r\n if (!this.isOnRamp) {\r\n this.feeCalcutain(val);\r\n } else {\r\n this.selectedfeeamount = 0;\r\n }\r\n\r\n if (this.checkFeeMode() === 2 && (this.sendCurrencySymbol === CRYPTO_CURRENCY.BTC || this.sendCurrencySymbol === CRYPTO_CURRENCY.ETH)) {\r\n let splittedNum = (val - this.selectedfeeamount).toString().split('.');\r\n if (splittedNum.length == 2) {\r\n let beforeDeci = splittedNum[1].slice(0, 4);\r\n this.actulaconvertedamount = Number(splittedNum[0] + '.' + beforeDeci);\r\n } else {\r\n this.actulaconvertedamount = Number(val - this.selectedfeeamount);\r\n }\r\n } else {\r\n this.actulaconvertedamount = this.checkFeeMode() === 2 ? Number((Number(val) - this.selectedfeeamount).toFixed(4)) :\r\n (this.checkFeeMode() === 1 && this.sendCurrencySymbol === 'CAS') ? Number((Number(val) - this.selectedfeeamount).toFixed(4)) : Number(val);\r\n }\r\n let toFix = 0;\r\n if (\r\n this.receiveCurrencySymbol === \"CAS\"\r\n ) {\r\n toFix = 0;\r\n } else if (this.fiatCurrencies.includes(this.receiveCurrencySymbol)) {\r\n toFix = 2;\r\n } else {\r\n toFix = 4;\r\n }\r\n let reciverValue = Number(this.getReciverPatchValue().toFixed(toFix));\r\n this.form.controls[\"receiverAmount\"].patchValue(\r\n (reciverValue).toFixed(toFix),\r\n {\r\n emitEvent: false,\r\n onlySelf: true,\r\n }\r\n );\r\n if (flag) {\r\n if (\r\n this.sendCurrencySymbol === \"CAS\"\r\n ) {\r\n this.form.controls[\"senderAmount\"].patchValue(0, {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n } else if (this.fiatCurrencies.includes(this.sendCurrencySymbol)) {\r\n this.form.controls[\"senderAmount\"].patchValue((0).toFixed(2), {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n } else {\r\n this.form.controls[\"senderAmount\"].patchValue((0).toFixed(4), {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n }\r\n }\r\n if (parseFloat(this.form.controls[\"receiverAmount\"].value) !== 0) {\r\n this.form.controls[\"receiverAmount\"].patchValue(\r\n this.decimalNumber.transform(\r\n this.form.controls[\"receiverAmount\"].value.replaceAll(\",\", \"\"),\r\n \"0.0-4\"\r\n ),\r\n {\r\n emitEvent: false,\r\n onlySelf: true,\r\n }\r\n );\r\n }\r\n\r\n if (reciverValue > 0 && reciverValue < this.minAmount && this.minAmountSymbol === this.receiveCurrencySymbol) {\r\n this.isMinReceiveValueError = true;\r\n } else {\r\n this.isMinReceiveValueError = false;\r\n }\r\n\r\n if (!this.isMinReceiveValueError && this.actulaconvertedamount > 0 && this.actulaconvertedamount < this.minAmount && this.minAmountSymbol === this.sendCurrencySymbol) {\r\n this.isMinSendValueError = true;\r\n } else {\r\n this.isMinSendValueError = false;\r\n }\r\n\r\n\r\n // if (this.minCASAmountSymbol) {\r\n // if (this.sendCurrencySymbol === this.minCASAmountSymbol) {\r\n // if (!this.isMinReceiveValueError && this.actulaconvertedamount > 0 && this.actulaconvertedamount < this.minAmount) {\r\n // this.isMinSendValueError = true;\r\n // } else {\r\n // this.isMinSendValueError = false;\r\n // }\r\n // } else {\r\n // if (reciverValue > 0 && reciverValue < this.minAmount) {\r\n // this.isMinReceiveValueError = true;\r\n // } else {\r\n // this.isMinReceiveValueError = false;\r\n // }\r\n // }\r\n // }\r\n }\r\n\r\n getNewConversionForReceiveChange(val: any, flag): void {\r\n val = val ? val.replaceAll(\",\", \"\") : val;\r\n let toFix = 0;\r\n if (\r\n this.sendCurrencySymbol === \"CAS\"\r\n ) {\r\n toFix = 0;\r\n } else if (this.fiatCurrencies.includes(this.sendCurrencySymbol)) {\r\n toFix = 2;\r\n } else {\r\n toFix = 4;\r\n }\r\n\r\n let sendValue = this.getSendAmountPatchValue(Number(val)).toFixed(toFix);\r\n if(!this.isOnRamp) {\r\n this.feeCalcutain(sendValue);\r\n\r\n }\r\n\r\n\r\n if (val > 0) {\r\n if (this.checkFeeMode() === 1) {\r\n if (this.sendCurrencySymbol === 'CAS') {\r\n sendValue = (Number(sendValue) + this.selectedfeeamount).toString();\r\n } else {\r\n sendValue = Number(sendValue).toString();\r\n }\r\n } else {\r\n sendValue = (Number(sendValue) + this.selectedfeeamount).toString();\r\n }\r\n }\r\n\r\n this.form.controls[\"senderAmount\"].patchValue(\r\n sendValue,\r\n {\r\n emitEvent: false,\r\n onlySelf: true,\r\n }\r\n );\r\n\r\n this.actulaconvertedamount = this.checkFeeMode() === 2 ? Number((Number(sendValue) - this.selectedfeeamount).toFixed(4)) :\r\n (this.checkFeeMode() === 1 && this.sendCurrencySymbol === 'CAS') ? Number((Number(sendValue) - this.selectedfeeamount).toFixed(4)) : Number(sendValue);\r\n // this.actulaconvertedamount = this.checkFeeMode() === 2 ? Number((Number(sendValue) - this.selectedfeeamount).toFixed(4)) : Number(sendValue);\r\n if (flag) {\r\n if (\r\n this.receiveCurrencySymbol === \"CAS\"\r\n ) {\r\n this.form.controls[\"receiverAmount\"].patchValue(0, {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n } else if (this.fiatCurrencies.includes(this.receiveCurrencySymbol)) {\r\n this.form.controls[\"receiverAmount\"].patchValue((0).toFixed(2), {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n } else {\r\n this.form.controls[\"receiverAmount\"].patchValue((0).toFixed(4), {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n }\r\n }\r\n\r\n if (parseFloat(this.form.controls[\"senderAmount\"].value) !== 0) {\r\n this.form.controls[\"senderAmount\"].patchValue(\r\n this.decimalNumber.transform(\r\n this.form.controls[\"senderAmount\"].value.replaceAll(\",\", \"\"),\r\n \"0.0-4\"\r\n ),\r\n {\r\n emitEvent: false,\r\n onlySelf: true,\r\n }\r\n );\r\n }\r\n\r\n let reciverValue = Number(this.form.controls[\"receiverAmount\"].value);\r\n if (reciverValue > 0 && reciverValue < this.minAmount && this.minAmountSymbol === this.receiveCurrencySymbol) {\r\n this.isMinReceiveValueError = true;\r\n } else {\r\n this.isMinReceiveValueError = false;\r\n }\r\n\r\n\r\n if (!this.isMinReceiveValueError && this.actulaconvertedamount > 0 && this.actulaconvertedamount < this.minAmount && this.minAmountSymbol === this.sendCurrencySymbol) {\r\n this.isMinSendValueError = true;\r\n } else {\r\n this.isMinSendValueError = false;\r\n }\r\n\r\n if (this.minCASAmountSymbol) {\r\n if (this.sendCurrencySymbol === this.minCASAmountSymbol) {\r\n if (!this.isMinReceiveValueError && this.actulaconvertedamount > 0 && this.actulaconvertedamount < this.minCASAmount) {\r\n this.isMinSendValueError = true;\r\n } else {\r\n this.isMinSendValueError = false;\r\n }\r\n } else {\r\n let reciverValue = Number(this.form.controls[\"receiverAmount\"].value);\r\n if (reciverValue > 0 && reciverValue < this.minCASAmount) {\r\n this.isMinReceiveValueError = true;\r\n } else {\r\n this.isMinReceiveValueError = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n checkIsBuyOrSell(): number {\r\n const from = this.sendCurrencySymbol;\r\n const to = this.receiveCurrencySymbol;\r\n // fiat -> crypto\r\n if (this.fiatCurrencies.includes(from) && !this.fiatCurrencies.includes(to)) {\r\n return 2;\r\n } else\r\n // crypto -> fiat\r\n if (!this.fiatCurrencies.includes(from) && this.fiatCurrencies.includes(to)) {\r\n return 1;\r\n }\r\n else {\r\n // cryto -> crypto\r\n return -1;\r\n }\r\n }\r\n\r\n checkFeeMode(): number {\r\n if (this.userFeeMode === \"InCashaa\") {\r\n return 1;\r\n } else {\r\n return 2;\r\n }\r\n }\r\n\r\n feeCalcutain(val: string): void {\r\n this.iscasfee = false;\r\n if (this.userType === \"6\" || (this.userType === \"4\" && SUBSCRIPTION_PERSONAL_PLAN.PREMIUM === this.currentUserPlanDetail.planName)) {\r\n this.brokerFeesCal(Number(val));\r\n } else {\r\n let fee = Number(Number(val) * Number(this.conversionFeePercent));\r\n if (this.sendCurrencySymbol === 'CAS') {\r\n this.selectedfeeamount = fee;\r\n } else {\r\n this.selectedfeeamount = this.checkFeeMode() === 2 ? fee : fee / this.casrate;\r\n }\r\n\r\n if (this.checkFeeMode() == 1) {\r\n this.iscasfee = this.selectedfeeamount > this.casFeeCheckBalance ? true : false;\r\n if (this.sendCurrencySymbol !== 'CAS') {\r\n this.selectedfeeamount = this.selectedfeeamount - this.selectedfeeamount * 0.25;\r\n }\r\n }\r\n if (this.selectedfeeamount > 0) {\r\n this.selectedfeeamount = this.selectedfeeamount - ((this.exchangeFeeDiscount / 100) * this.selectedfeeamount);\r\n }\r\n Number(this.selectedfeeamount).toFixed(4);\r\n }\r\n }\r\n /**\r\n * get user balance\r\n */\r\n getUserBalance(): void {\r\n this.subsink.add(\r\n this.userService.getUserBalance().subscribe((balance) => {\r\n const found = balance.filter(\r\n (b) => b.currencyType === \"CAS\"\r\n );\r\n if (found.length > 0) {\r\n this.casFeeCheckBalance = found[0].available;\r\n this.casFeeCheckBalance = Number(this.casFeeCheckBalance.toFixed(4));\r\n } else {\r\n this.casFeeCheckBalance = 0;\r\n }\r\n })\r\n );\r\n }\r\n\r\n checkValues(): boolean {\r\n return (\r\n this.form.controls.senderAmount.value === \".\" ||\r\n this.form.controls.receiverAmount.value === \".\" ||\r\n parseFloat(this.form.controls.senderAmount.value) === 0 ||\r\n parseFloat(this.form.controls.receiverAmount.value) === 0\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subsink.unsubscribe();\r\n }\r\n getCurrencyName(curr): string {\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n isMultiply(isSend: boolean): boolean {\r\n if ((this.receiveCurrencySymbol === \"CAS\" && !isSend) || (this.sendCurrencySymbol === \"CAS\" && isSend) || (this.rateSymbol === this.receiveCurrencySymbol)) {\r\n return true;\r\n }\r\n return this.multiplyCryptoMap.get(isSend ? this.sendCurrencySymbol : this.receiveCurrencySymbol)?.includes(isSend ?\r\n this.receiveCurrencySymbol : this.sendCurrencySymbol);\r\n }\r\n\r\n getReciverPatchValue(): number {\r\n if (this.actulaconvertedamount > 0) {\r\n if (this.checkIsBuyOrSell() == 2) {\r\n return this.actulaconvertedamount / this.rate;\r\n } else if (this.checkIsBuyOrSell() == 1) {\r\n return this.actulaconvertedamount * this.rate;\r\n } else if (this.checkIsBuyOrSell() == -1) {\r\n if (this.isMultiply(true)) {\r\n return this.actulaconvertedamount * this.rate;\r\n } else {\r\n return this.actulaconvertedamount / this.rate;\r\n }\r\n }\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n getSendAmountPatchValue(value: number): number {\r\n if (this.checkIsBuyOrSell() == 2) {\r\n return value * this.rate;\r\n } else if (this.checkIsBuyOrSell() == 1) {\r\n return value / this.rate;\r\n } else if (this.checkIsBuyOrSell() == -1) {\r\n if (this.isMultiply(false)) {\r\n return value * this.rate;\r\n } else {\r\n return value / this.rate;\r\n }\r\n }\r\n }\r\n\r\n setMapValues(): void {\r\n const values = [\"CAS\", \"BTC\", \"ETH\", \"LTC\", \"BCH\", \"USDT\", \"DOG\", \"USDC\"];\r\n const values4 = [\"ETH\", \"LTC\", \"BCH\", \"DOG\", \"EUR\", \"CAS\"];\r\n const values6 = [\"BTC\", \"ETH\", \"XRP\", \"LTC\", \"BCH\", \"USDT\", \"DOG\", \"CAS\"];\r\n const values7 = [\"BTC\", \"LTC\", \"DOG\", \"EUR\", \"CAS\"];\r\n const values8 = [\"BTC\", \"BCH\", \"USDT\", \"EUR\", \"CAS\"];\r\n const values9 = [\"BTC\", \"ETH\", \"LTC\", \"BCH\", \"USDT\", \"DOG\", \"CAS\"];\r\n let usdVal = [...values];\r\n usdVal.push(\"LINK\");\r\n usdVal.push(\"UNI\");\r\n usdVal.push(\"EUR\");\r\n const forInrVal = ['ETH', 'USDT', 'USDC', 'CAS', 'BNB', 'XRP', 'BTC'];\r\n this.currencyMap.set(\"INR\", forInrVal);\r\n let eurVal = [...values];\r\n eurVal.push(\"LINK\");\r\n eurVal.push(\"UNI\");\r\n this.currencyMap.set(\"EUR\", eurVal);\r\n this.currencyMap.set(\"BTC\", [ \"USDT\", \"USDC\", \"LINK\", \"UNI\"].concat(...values4));\r\n this.currencyMap.set(\"ETH\", [ \"INR\", \"USDT\", \"USDC\", \"BCH\", \"LINK\"].concat(...values7));\r\n // this.currencyMap.set(\"BNB\", values3);\r\n this.currencyMap.set(\"USDT\", [\"LINK\", \"UNI\", \"BTC\", \"INR\"].concat(...values4));\r\n this.currencyMap.set(\"BCH\", [\"USDT\", \"ETH\", \"XRP\", \"LTC\"].concat(...values8));\r\n this.currencyMap.set(\"DOG\", [\"EUR\", \"BTC\", \"USDT\", \"ETH\", \"CAS\"]);\r\n this.currencyMap.set(\"LTC\", [\"EUR\", \"USDT\", \"BTC\", \"ETH\", \"CAS\", \"XRP\", \"BCH\", \"USDC\"]);\r\n this.currencyMap.set(\"XRP\", [\"LTC\"]);\r\n this.currencyMap.set(\"LINK\", [\"USDT\", \"CAS\", \"EUR\", \"BTC\", \"ETH\", \"USDC\"]);\r\n this.currencyMap.set(\"UNI\", [\"CAS\", \"EUR\", \"BTC\", \"UST\", \"USDC\", \"USDT\"]);\r\n this.currencyMap.set(\"CAS\", [\"EUR\", \"BTC\", \"USDT\", \"ETH\", \"BCH\", \"UNI\", \"LTC\", \"DOG\", \"LINK\", \"USDC\"]);\r\n this.currencyMap.set(\"USDC\", [\"CAS\", \"EUR\", \"INR\", \"BTC\", \"ETH\", \"LTC\", \"LINK\", \"UNI\"]);\r\n this.multiplyCryptoMap.set(\"BNB\", [\"BTC\", \"USDT\"]);\r\n this.multiplyCryptoMap.set(\"BTC\", [\"USDT\"]);\r\n this.multiplyCryptoMap.set(\"DOG\", [\"BNB\", \"BTC\", \"ETH\", \"USDT\"]);\r\n this.multiplyCryptoMap.set(\"XRP\", [\"BTC\", \"ETH\", \"USDT\"]);\r\n this.multiplyCryptoMap.set(\"ETH\", [\"BTC\", \"USDT\"]);\r\n this.multiplyCryptoMap.set(\"BCH\", [\"BTC\", \"USDT\"]);\r\n this.multiplyCryptoMap.set(\"LTC\", [\"BTC\", \"USDT\", \"ETH\"]);\r\n this.multiplyCryptoMap.set(\"LINK\", [\"USDT\"]);\r\n }\r\n\r\n\r\n brokerFeesCal(amount: number): void {\r\n const calFees = this.brokerFees.fees;\r\n const brokerFee = this.brokerFees.brokerFee;\r\n const from = this.sendCurrencySymbol;\r\n const to = this.receiveCurrencySymbol;\r\n if (this.checkIsBuyOrSell() === 2 || (this.fiatCurrencies.includes(from) && this.fiatCurrencies.includes(to))) {\r\n if ((amount * brokerFee) > calFees) {\r\n this.selectedfeeamount = amount * brokerFee;\r\n } else {\r\n this.selectedfeeamount = calFees;\r\n }\r\n }\r\n else {\r\n if (((amount * brokerFee) * this.usdRate) > calFees) {\r\n this.selectedfeeamount = amount * brokerFee;\r\n } else {\r\n this.selectedfeeamount = calFees / this.usdRate;\r\n }\r\n }\r\n if (this.checkFeeMode() === 1 && this.sendCurrencySymbol !== 'CAS') {\r\n this.selectedfeeamount = this.selectedfeeamount / this.casrate;\r\n }\r\n if (this.selectedfeeamount > 0) {\r\n this.selectedfeeamount = this.selectedfeeamount - ((this.exchangeFeeDiscount / 100) * this.selectedfeeamount);\r\n }\r\n Number(this.selectedfeeamount).toFixed(4);\r\n }\r\n\r\n getUserPlanDetails() {\r\n this.userService.getUserPlanDetail().subscribe(res => {\r\n this.exchangeFeeDiscount = res.exchangeFeeDiscount;\r\n }, err => {\r\n\r\n })\r\n }\r\n\r\n networkTypeChanges(event: IFormSelect): void {\r\n if (this.isOnRamp) {\r\n this.networkForm.controls.networkType.setValue(event.networkValue);\r\n this.netValueAsName = event.value;\r\n this.networkToPassOnRamp = event.networkValue;\r\n this.minAmount = this.networkToPassOnRamp.minimumTradeAmount;\r\n let chainId = this.receivedAndSelectedPair[0].networkType.filter(item => item.networkValue == event.networkValue);\r\n this.getOnRampRate(chainId);\r\n this.getWalletAddress(this.receiveCurrencyInfo.id, this.networkToPassOnRamp);\r\n }\r\n}\r\n\r\n getMerchantRecognitionId() {\r\n this.convertService.getMerchantRecognitionId().subscribe(res => {\r\n this.merchantRecognitionId = res.merchantRecognitionId;\r\n this.appId = res.appId;\r\n this.onBuyFromOnRamp();\r\n })\r\n }\r\n\r\n onBuyFromOnRamp() {\r\n this.hideMainPage = true;\r\n // let networkVal = this.networkForm.controls.networkType.value;\r\n const payload = {\r\n \"merchantId\": this.merchantRecognitionId,\r\n \"toCurrencyId\": this.form.controls[\"receivercurrencyId\"].value,\r\n \"fromCurrencyId\": this.form.controls[\"sendercurrencyId\"].value,\r\n \"amount\": this.form.controls[\"senderAmount\"].value,\r\n \"network\": this.netValueAsName,\r\n \"walletAddress\": this.walletAddress\r\n };\r\n this.convertService.getExchangeRateOnRamp(payload).subscribe(res => {\r\n\r\n });\r\n if (this.addressTag) {\r\n this.srcUrl = `https://onramp.money/main/buy?appId=${this.appId}&fiatType=${this.receivedAndSelectedPair[0].fiatType}&coinCode=${this.receiveCurrencySymbol}&fiatAmount=${this.form.controls[\"senderAmount\"].value.split(\",\").join('')}&network=${this.netValueAsName}&walletAddress=${this.walletAddress}&merchantRecognitionId=${this.merchantRecognitionId}&addressTag=${this.memo}`\r\n } else {\r\n this.srcUrl = `https://onramp.money/main/buy?appId=${this.appId}&fiatType=${this.receivedAndSelectedPair[0].fiatType}&coinCode=${this.receiveCurrencySymbol}&fiatAmount=${this.form.controls[\"senderAmount\"].value.split(\",\").join('')}&network=${this.netValueAsName}&walletAddress=${this.walletAddress}&merchantRecognitionId=${this.merchantRecognitionId}`\r\n }\r\n\r\n }\r\n\r\n onGetProcess() {\r\n this.getMerchantRecognitionId();\r\n }\r\n\r\n getWalletAddress(symbol, networkVal) {\r\n this.walletService.getCryptoAddress(symbol, networkVal).subscribe(\r\n (res) => {\r\n this.walletAddress = res.address;\r\n this.memo = res.memo;\r\n },\r\n (err) => {\r\n this.walletAddress = \"\";\r\n }\r\n );\r\n }\r\n\r\n generateAddress() {\r\n this.router.navigateByUrl(`wallet?c=${this.receiveCurrencySymbol}#${this.receiveCurrencySymbol}`);\r\n }\r\n\r\n getOnRampRate(chainId) {\r\n this.subsink.add(\r\n this.convertService\r\n .getOnRampRate(this.form.controls.sendercurrencyId.value, this.receivedAndSelectedPair[0], chainId[0])\r\n .subscribe((rateobj) => {\r\n this.rate = rateobj.rate;\r\n this.rateSymbol = rateobj.rateSymbol;\r\n this.casrate = rateobj.casRate;\r\n this.usdRate = rateobj.usdRate;\r\n // this.minAmount = rateobj.minAmount;\r\n this.minAmountSymbol = rateobj.minAmountSymbol;\r\n this.minCASAmount = rateobj.minCASAmount;\r\n this.minCASAmountSymbol = rateobj.minCASAmountSymbol;\r\n sessionStorage.setItem(USER_CAS_FEE_RATE, this.casrate.toString());\r\n this.getNewConversionForReceiveChange(\r\n this.form.controls[\"receiverAmount\"].value,\r\n true\r\n );\r\n })\r\n );\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

\r\n How much would you like to exchange?\r\n

\r\n

\r\n Min {{minAmount}} {{sendCurrencySymbol}} amount will exchange\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {{!(selectedfeeamount <= 0 || selectedfeeamount> 0) ? 0 : selectedfeeamount | number:\r\n getDecimalNumber(checkFeeMode() == 1 ? casSymbol : getCurrencyName(sendCurrencySymbol)) }}\r\n {{\r\n checkFeeMode() == 1 ? casSymbol : getCurrencyName(sendCurrencySymbol)\r\n }}\r\n

\r\n \r\n

Fee

\r\n
\r\n Insufficient CAS balance\r\n You have\r\n {{casFeeCheckBalance}} CAS\r\n balance\r\n
\r\n
\r\n

0\" class=\"font-weight-bolder ml-2 mr-3 mb-0\">\r\n {{ actulaconvertedamount | number: getDecimalNumber(sendCurrencySymbol) }} {{\r\n getCurrencyName(sendCurrencySymbol) }} Amount\r\n we'll\r\n exchange\r\n

\r\n\r\n

0)\"\r\n class=\"exc-amt ml-2 mr-3 mb-0\">\r\n 0 {{ getCurrencyName(sendCurrencySymbol) }} Amount we'll exchange\r\n

\r\n
\r\n
\r\n

\r\n {{ rate | number: \"0.2-10\" }} {{getCurrencyName(rateSymbol)}}\r\n \r\n

\r\n Rate \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

\r\n \r\n Min {{sendCurrencySymbol === 'CAS' ? minCASAmount : (minAmount)}} {{receiveCurrencySymbol}} amount will exchange\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n

I have generated the destination crypto address in my Cashaa account.

\r\n
\r\n
Generate Address
\r\n \r\n

This exchange will be executed on our partner app

\r\n
\r\n \r\n

I agree to redo KYC with DigiLocker app.

\r\n
\r\n \r\n Terms & Conditions \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n\r\n","import { IQuoteDetail } from \"./../../core/models/quote\";\r\nimport { APP_ROUTES, USER_FEE_MODE } from \"./../../app.constants\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Component, OnInit, Output, EventEmitter } from \"@angular/core\";\r\nimport { ConvertService } from \"../services/convert.service\";\r\nimport { IConvertComplete } from \"src/app/core/models/convert/convert-complete-model\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { LedgerType } from \"src/app/core/enums/ledgerType\";\r\n\r\n@Component({\r\n selector: \"cashaa-convert-completed\",\r\n templateUrl: \"./convert-completed.component.html\",\r\n styleUrls: [\"./convert-completed.component.scss\"],\r\n})\r\nexport class ConvertCompletedComponent implements OnInit {\r\n /** on continue click, emit event */\r\n @Output() continue = new EventEmitter();\r\n\r\n convertCompleteData: IConvertComplete;\r\n\r\n quoteData: IQuoteDetail;\r\n\r\n userFeeMode = sessionStorage.getItem(USER_FEE_MODE);\r\n\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\"];\r\n\r\n constructor(\r\n private convertService: ConvertService,\r\n private router: Router,\r\n private modalService: ModalService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.convertService.getConvertCompletedDataEmitter().subscribe((data) => {\r\n if (data) {\r\n this.convertCompleteData = data;\r\n }\r\n });\r\n this.convertService.getQuoteDataEmitter().subscribe((data) => {\r\n if (data) {\r\n this.quoteData = data;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * On continue click\r\n */\r\n onContinue(): void {\r\n this.router.navigateByUrl(APP_ROUTES.ACTIVITY_LIST);\r\n }\r\n\r\n helpdeskConvert(): void {\r\n this.modalService.openTicketCreateModal(LedgerType.convert);\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n getDecimalNumber(symbol) {\r\n let toFix = \"0.0\";\r\n if (symbol === \"CAS\") {\r\n toFix = \"0.0-0\";\r\n } else if (this.fiatCurrencies.includes(symbol)) {\r\n toFix = \"0.2-2\";\r\n } else {\r\n toFix = \"0.2-4\";\r\n }\r\n return toFix;\r\n }\r\n}\r\n","
\r\n

All done!

\r\n \r\n\r\n

{{ getCurrencyName(convertCompleteData?.fromCurrencySymbol) }} to {{\r\n getCurrencyName(convertCompleteData?.toCurrencySymbol) }}

\r\n\r\n

\r\n Conversion Fee Charged: {{quoteData.feeAmount | number: getDecimalNumber(quoteData.feeSymbol) }}\r\n {{getCurrencyName(quoteData.feeSymbol)}}\r\n

\r\n\r\n

\r\n Conversion Rate: {{ quoteData?.quotePrice | number: \"0.2-10\"}} {{\r\n getCurrencyName(convertCompleteData?.fromCurrencySymbol)\r\n }}/{{getCurrencyName(convertCompleteData?.toCurrencySymbol)}}\r\n

\r\n
\r\n \r\n
\r\n Contact help desk for any question or\r\n query.\r\n
\r\n
\r\n
","import { ConvertService } from \"src/app/convert/services/convert.service\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { MdbStepperComponent } from \"ng-uikit-pro-standard\";\r\nimport { NavigationService } from \"src/app/core/services/navigation/navigation.service\";\r\nimport { Location } from '@angular/common';\r\n@Component({\r\n selector: \"cashaa-convert-home\",\r\n templateUrl: \"./convert-home.component.html\",\r\n styleUrls: [\"./convert-home.component.scss\"],\r\n})\r\nexport class ConvertHomeComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"stepper\", { static: true }) stepper: MdbStepperComponent;\r\n\r\n /** amount form */\r\n amountForm: FormGroup;\r\n\r\n /** Active step */\r\n activeStep = 0;\r\n\r\n /** is completed */\r\n completed = false;\r\n\r\n constructor(private fb: FormBuilder, private convertService: ConvertService, \r\n private navigationService: NavigationService, private location: Location) {\r\n this.createEmptyForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.completed = false;\r\n }\r\n\r\n /**\r\n * create initial empty forms\r\n */\r\n createEmptyForm(): void {\r\n this.amountForm = this.fb.group({\r\n valid: [\"\", ValidatorUtility.Required],\r\n });\r\n }\r\n\r\n /**\r\n * on amount form continue click\r\n */\r\n onAmountFormContinue(): void {\r\n this.amountForm.controls.valid.setValue(true);\r\n this.stepper.next();\r\n this.activeStep = 0;\r\n }\r\n\r\n /**\r\n * on go back click, go back\r\n * given number of steps\r\n */\r\n onGoBack(step: number): void {\r\n this.activeStep = 0;\r\n this.stepper.previous();\r\n }\r\n\r\n convertCompleted(status : boolean): void {\r\n this.completed = true;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.convertService.emitConvertCompletedData(undefined);\r\n this.convertService.emitConvertFlowData(undefined);\r\n this.convertService.emitCurrencySymbolData(undefined);\r\n this.convertService.emitQuoteData(undefined);\r\n }\r\n\r\n backRoute() {\r\n this.navigationService.back();\r\n }\r\n}\r\n","\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n","import { CurrencyType } from \"src/app/core/enums/currencyType\";\r\nimport {\r\n USER_FEE_MODE,\r\n USER_FEE_PERCENT,\r\n USER_CAS_FEE_RATE,\r\n UNABLE_TO_PERFORM_ERROR,\r\n CRYPTO_CURRENCY,\r\n} from \"./../../app.constants\";\r\nimport { IQuote, IQuoteDetail, IQuoteId } from \"./../../core/models/quote\";\r\nimport { ICurrency } from \"src/app/core/models/currency\";\r\nimport { ITransferFees } from \"src/app/core/models/transfer-types\";\r\nimport { ConvertService } from \"./../services/convert.service\";\r\nimport { IConvert } from \"./../../core/models/convert\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n} from \"@angular/core\";\r\nimport { DomainService } from \"../../core/services/domain/domain.service\";\r\nimport { ConvertMoneyRequest } from \"../../core/models/convert/convert-request-model\";\r\nimport { IConvertComplete } from \"../../core/models/convert/convert-complete-model\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\n@Component({\r\n selector: \"cashaa-convert-review\",\r\n templateUrl: \"./convert-review.component.html\",\r\n styleUrls: [\"./convert-review.component.scss\"],\r\n})\r\nexport class ConvertReviewComponent implements OnInit, OnChanges {\r\n /** in view */\r\n @Input() inView = false;\r\n\r\n /** go back given number of steps */\r\n @Output() goback = new EventEmitter();\r\n\r\n @Output() completed = new EventEmitter();\r\n\r\n loading = false;\r\n\r\n initialLoad = false;\r\n\r\n errormsg = false;\r\n errorMessage = '';\r\n\r\n convertFlowData?: IConvert;\r\n\r\n /** fee amount object */\r\n feeAmountObject?: ITransferFees;\r\n\r\n // hold pay data request\r\n fromcurrencyObject: ICurrency;\r\n\r\n /** to currency object */\r\n tocurrencyObject: ICurrency;\r\n\r\n /** tiem expired */\r\n timeExpired = false;\r\n\r\n conversionFeePercent = sessionStorage.getItem(USER_FEE_PERCENT);\r\n\r\n casrate: string;\r\n\r\n userFeeMode = sessionStorage.getItem(USER_FEE_MODE);\r\n\r\n feeCurrency: string = \" \";\r\n\r\n isQuote = false;\r\n\r\n quoteDetail: IQuoteDetail;\r\n\r\n subscription: Subscription;\r\n\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\"];\r\n\r\n constructor(\r\n private domainService: DomainService,\r\n private convertService: ConvertService,\r\n private toastrService: ToastrService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.subscription = this.convertService\r\n .getConvertFlowdDataEmitter()\r\n .subscribe((data) => {\r\n this.quoteDetail = undefined;\r\n this.isQuote = false;\r\n this.errormsg = false;\r\n if (data) {\r\n if (data.crypto && data.wallet) {\r\n this.isQuote = true;\r\n this.getQuote(data, true);\r\n }\r\n this.convertFlowData = data;\r\n this.getFee();\r\n this.getFromCurrency();\r\n this.getToCurrency();\r\n }\r\n });\r\n this.checkFeeMode();\r\n }\r\n\r\n getDecimalNumber(symbol) {\r\n let toFix = \"0.0\";\r\n if (symbol === \"CAS\") {\r\n toFix = \"0.0-0\";\r\n } else if (this.fiatCurrencies.includes(symbol)) {\r\n toFix = \"0.2-2\";\r\n } else {\r\n if (symbol === CRYPTO_CURRENCY.BTC || symbol === CRYPTO_CURRENCY.ETH) {\r\n toFix = \"0.2-10\";\r\n } else {\r\n toFix = \"0.2-4\";\r\n }\r\n\r\n }\r\n return toFix;\r\n }\r\n\r\n getQuote(data: IConvert, flag?): void {\r\n this.initialLoad = true;\r\n this.errormsg = false;\r\n this.errorMessage = '';\r\n const payload: IQuote = {\r\n from: data.from,\r\n to: data.to,\r\n fromamount: data.convertFrom,\r\n toamount: data.convertTo\r\n };\r\n\r\n this.convertService.getQuote(payload).subscribe(\r\n (res) => {\r\n let resp = res.message.replace('\"', \"\").replace('\"', \"\");\r\n this.convertService.getQuoteDetail(resp).subscribe(\r\n (detail) => {\r\n if (flag) {\r\n this.inView = true;\r\n }\r\n this.quoteDetail = detail;\r\n this.initialLoad = false;\r\n this.timeExpired = false;\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.initialLoad = false;\r\n // if (err.error.message === 'Quotation not created, try again later') {\r\n // this.goToAmountPage();\r\n // } else {\r\n // this.errorMessage = err.error.message;\r\n // }\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n this.initialLoad = false;\r\n this.errorMessage = UNABLE_TO_PERFORM_ERROR;\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.inView) {\r\n this.timeExpired = false;\r\n }\r\n }\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {\r\n this.errormsg = false;\r\n if (this.isQuote) {\r\n this.submitQuoteData();\r\n }\r\n }\r\n\r\n submitQuoteData(): void {\r\n this.loading = true;\r\n this.inView = false;\r\n this.errormsg = false;\r\n delete this.quoteDetail.cashaaUserId;\r\n this.convertService.emitQuoteData(this.quoteDetail);\r\n const quoteData: IQuoteId = {\r\n quoteId: this.quoteDetail.quoteId\r\n }\r\n this.convertService.convertMoneyQuote(quoteData).subscribe(\r\n (res) => {\r\n this.loading = false;\r\n const requestData = new ConvertMoneyRequest(\r\n this.convertFlowData.fromcurrencyId,\r\n this.convertFlowData.tocurrencyId,\r\n this.convertFlowData.feeId,\r\n this.convertFlowData.convertFrom,\r\n this.convertFlowData.convertTo,\r\n this.convertFlowData.rate\r\n // this.tocurrencyObject,\r\n );\r\n\r\n const completeData: IConvertComplete = {\r\n amountConverted: this.convertFlowData.convertTo,\r\n amountToConvert: this.convertFlowData.convertFrom,\r\n fromCurrencySymbol: this.fromcurrencyObject.symbol,\r\n toCurrencySymbol: this.tocurrencyObject.symbol,\r\n // convertFee: this.feeAmountObject.convertFee,\r\n convertFee: 0,\r\n rate: this.convertFlowData.rate,\r\n };\r\n this.convertService.emitConvertCompletedData(completeData);\r\n this.completed.emit(true);\r\n },\r\n (err) => {\r\n this.loading = false;\r\n this.errormsg = true;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Get fee data\r\n */\r\n getFee(): void {\r\n // this.domainService\r\n // .getFeeByCurrencyId(this.convertFlowData.fromcurrencyId)\r\n // .subscribe((feeAmountObject) => {\r\n // if (feeAmountObject) {\r\n // this.feeAmountObject = feeAmountObject;\r\n // }\r\n // });\r\n }\r\n\r\n /**\r\n * Get from currency\r\n */\r\n getFromCurrency(): void {\r\n this.domainService\r\n .getPayCurrencyById(this.convertFlowData.fromcurrencyId)\r\n .subscribe((fromcurrencyObject) => {\r\n if (fromcurrencyObject) {\r\n this.fromcurrencyObject = fromcurrencyObject;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get to currency data\r\n */\r\n getToCurrency(): void {\r\n this.domainService\r\n .getPayCurrencyById(this.convertFlowData.tocurrencyId)\r\n .subscribe((tocurrencyObject) => {\r\n if (tocurrencyObject) {\r\n this.tocurrencyObject = tocurrencyObject;\r\n }\r\n });\r\n }\r\n\r\n getQuoteAgain(flag): void {\r\n this.getQuote(this.convertFlowData, flag);\r\n }\r\n\r\n /**\r\n * On transfer detail edit click\r\n */\r\n goToAmountPage(): void {\r\n if (this.loading) {\r\n return;\r\n }\r\n this.goback.emit(1);\r\n }\r\n\r\n checkFeeMode(): number {\r\n if (this.userFeeMode === \"InNative\" && this.quoteDetail !== undefined) {\r\n this.feeCurrency =\r\n this.quoteDetail.side === 1\r\n ? this.tocurrencyObject.symbol\r\n : this.convertFlowData.side === 2\r\n ? this.fromcurrencyObject.symbol\r\n : this.fromcurrencyObject.symbol;\r\n return 2;\r\n } else if (this.userFeeMode === \"InCashaa\") {\r\n this.feeCurrency = \"CAS\";\r\n return 1;\r\n } else {\r\n return 2;\r\n }\r\n }\r\n\r\n feeCalcutain(val: number): void {\r\n this.casrate = sessionStorage.getItem(USER_CAS_FEE_RATE);\r\n let fee = Number(Number(val) * (Number(this.conversionFeePercent) / 100));\r\n // this.convertFlowData.feeInNative = fee;\r\n // this.quoteDetail.feeInCas = fee / Number(this.casrate);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n}\r\n","
\r\n
\r\n Does everything look right?\r\n
\r\n
\r\n
\r\n

You're converting

\r\n
\r\n {{quoteDetail?.fromAmount |number: getDecimalNumber(quoteDetail.feeSymbol)}} {{ getCurrencyName(quoteDetail.fromSymbol) }}\r\n
\r\n
\r\n
\r\n

To

\r\n
\r\n {{quoteDetail.toAmount|number: \"0.0-4\"}} {{ getCurrencyName(quoteDetail.toSymbol) }}\r\n
\r\n
\r\n
\r\n

Fee

\r\n
\r\n {{quoteDetail.feeAmount | number : getDecimalNumber(quoteDetail.feeSymbol)}} {{ getCurrencyName(quoteDetail.feeSymbol) }}\r\n
\r\n
\r\n
\r\n

Rate

\r\n
\r\n {{quoteDetail.quotePrice | number: \"0.2-10\"}} {{ getCurrencyName(quoteDetail.fromSymbol) }}/{{ getCurrencyName(quoteDetail.toSymbol) }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n Conversion is unsuccessful\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n Go back\r\n \r\n
\r\n\r\n
\r\n
{{errorMessage}}
\r\n\r\n \r\n Go back\r\n\r\n
\r\n\r\n
\r\n \r\n
","import { NotFoundComponent } from \"../shared/components/not-found/not-found.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nimport { ConvertHomeComponent } from \"./convert-home/convert-home.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"convert\",\r\n component: NotFoundComponent\r\n ,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"buy\",\r\n component: NotFoundComponent,\r\n canActivate: [AuthGuardService]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ConvertRoutingModule {}\r\n","import { SharedModule } from \"./../shared/shared.module\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ConvertHomeComponent } from \"./convert-home/convert-home.component\";\r\nimport { ConvertReviewComponent } from \"./convert-review/convert-review.component\";\r\nimport { ConvertRoutingModule } from \"./convert-routing.module\";\r\nimport { ConvertAmountComponent } from \"./convert-amount/convert-amount.component\";\r\nimport { ConvertCompletedComponent } from \"./convert-completed/convert-completed.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ConvertHomeComponent,\r\n ConvertReviewComponent,\r\n ConvertAmountComponent,\r\n ConvertCompletedComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ConvertRoutingModule,\r\n SharedModule,\r\n FormsModule,\r\n ToastrModule.forRoot(),\r\n ReactiveFormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ],\r\n})\r\nexport class ConvertModule {}\r\n","import { IBrokerFees, IQuote, IQuoteDetail, IQuoteId } from \"./../../core/models/quote\";\r\nimport { IConvert } from \"./../../core/models/convert\";\r\nimport { FiatFlow } from \"./../../core/models/fIat/fiat-flow\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\nimport { Injectable } from \"@angular/core\";\r\nimport { IConvertMoneyRequest } from \"../../core/models/convert/convert-request-model\";\r\nimport { HttpClient, HttpResponse } from \"@angular/common/http\";\r\nimport { IConvertComplete } from \"../../core/models/convert/convert-complete-model\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ConvertService {\r\n private apiUrl = environment.api;\r\n\r\n /** TransferFeeType data emitter */\r\n private convertFlowDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n /** Currency Symbol emitter */\r\n private currencySymbolEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n /** Convert Complete Data emitter */\r\n private convertCompleteDataEmitter = new BehaviorSubject<\r\n IConvertComplete | undefined\r\n >(undefined);\r\n\r\n /** Convert Complete Data emitter */\r\n private quoteDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n convertMoneyQuote(\r\n data: IQuoteId\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/trades/create`,\r\n data\r\n );\r\n }\r\n\r\n /**\r\n * Get fiatFlowPay data emitter\r\n */\r\n getConvertFlowdDataEmitter(): Observable {\r\n return this.convertFlowDataEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Get fiatFlowPay data emitter\r\n */\r\n getQuoteDataEmitter(): Observable {\r\n return this.quoteDataEmitter.asObservable();\r\n }\r\n\r\n emitQuoteData(data: IQuoteDetail): void {\r\n this.quoteDataEmitter.next(data);\r\n }\r\n\r\n /**\r\n * Emit fiatFlowPay data\r\n */\r\n emitConvertFlowData(data: IConvert): void {\r\n this.convertFlowDataEmitter.next(data);\r\n }\r\n\r\n /*** Get Convert Complete data emitter*/\r\n getConvertCompletedDataEmitter(): Observable {\r\n return this.convertCompleteDataEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit Convert Complete data\r\n */\r\n emitConvertCompletedData(data: IConvertComplete): void {\r\n this.convertCompleteDataEmitter.next(data);\r\n }\r\n\r\n /*** Get send Currency data emitter\r\n */\r\n getCurrencySymbolEmitter(): Observable {\r\n return this.currencySymbolEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit currency symbol data\r\n */\r\n emitCurrencySymbolData(data: string): void {\r\n this.currencySymbolEmitter.next(data);\r\n }\r\n\r\n getQuote(data: IQuote): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/trades/quote`,\r\n data\r\n );\r\n }\r\n\r\n getQuoteDetail(id: string): Observable {\r\n return this.http.get(`${this.apiUrl}/trades/getquote/${id}`);\r\n }\r\n\r\n getBrokerFees(symbol: string, userMode: string): Observable {\r\n return this.http.get(`${this.apiUrl}/transferfees/getbrokerfee/${symbol}/${userMode}`);\r\n }\r\n\r\n getMerchantRecognitionId(): Observable {\r\n return this.http.get(`${this.apiUrl}/exchangerates/getmerchantrecognitionid`);\r\n }\r\n \r\n getExchangeRateOnRamp(data) {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/exchangerates/createonrampquote`,\r\n data\r\n );\r\n }\r\n\r\n getOnRampPairList(fromCurrencyId) : Observable {\r\n return this.http.get(\r\n `${this.apiUrl}`+ `/exchangerates/getonramppairlist?currencyId=${fromCurrencyId}`,\r\n );\r\n }\r\n\r\n getNewOnRampPairList(fromCurrencyId) : Observable {\r\n return this.http.get(\r\n `${this.apiUrl}`+ `/exchangerates/getnewonramppairlist?currencyId=${fromCurrencyId}`,\r\n );\r\n }\r\n\r\n getOnRampRate(fromCurrencyId, toCurrencyInfo, networkInfo) : Observable {\r\n return this.http.get(\r\n `${this.apiUrl}`+ `/currencies/getonramprate?fromCurrencyId=${fromCurrencyId}&toCurrencyId=${toCurrencyInfo.currencyId}&coinId=${toCurrencyInfo.coinId}&chainId=${networkInfo.chainId}&fiatType=${toCurrencyInfo.fiatType}`,\r\n );\r\n }\r\n\r\n}\r\n","export enum AuthStatus {\r\n /// \r\n /// The success\r\n /// \r\n\r\n Success = 1,\r\n /// \r\n /// The email not confirmed\r\n /// \r\n\r\n EmailNotConfirmed = 2,\r\n /// \r\n /// The otp required\r\n /// \r\n\r\n OtpRequired = 3,\r\n /// \r\n /// The otp and two factor authentication required\r\n /// \r\n\r\n OtpAndTwoFactorAuthRequired = 4,\r\n /// \r\n /// The invalid two factor code\r\n /// \r\n\r\n InvalidTwoFactorCode = 5,\r\n /// \r\n /// Creates new signindevice.\r\n /// \r\n\r\n NewSignInDevice = 6,\r\n /// \r\n /// The change password token required\r\n /// \r\n\r\n ChangePasswordTokenRequired = 7,\r\n}\r\n","export enum BrokerStatus {\r\n /// \r\n /// All\r\n /// \r\n ALL = 0,\r\n /// \r\n /// The approved - verified customer\r\n /// \r\n APPROVED = 1,\r\n /// \r\n /// The pending - not verified customer\r\n /// \r\n PENDING = 2,\r\n // Rejected\r\n REJECTED = 3,\r\n // Partially Rejected\r\n PARTIALAPPROVED = 4,\r\n}\r\n","export enum CurrencyType {\r\n Crypto = 1,\r\n Fiat = 2,\r\n all = 3\r\n}","export enum FiatTransactionType {\r\n SCAN = 1,\r\n IBAN = 2,\r\n INTL = 3,\r\n DD = 4\r\n}","export enum HelpdeskStatus\r\n {\r\n /// \r\n /// The open\r\n /// \r\n Open = 1,\r\n /// \r\n /// The on hold\r\n /// \r\n OnHold = 2,\r\n /// \r\n /// The initiated\r\n /// \r\n Initiated = 3,\r\n /// \r\n /// The awaiting\r\n /// \r\n Awaiting = 4,\r\n /// \r\n /// The completed\r\n /// \r\n Completed = 5\r\n }\r\n","export enum LedgerType {\r\n /// \r\n /// All\r\n /// \r\n\r\n All = 0,\r\n /// \r\n /// The deposit\r\n /// \r\n Received = 1,\r\n // Deposit = 1,\r\n /// \r\n /// The with draw\r\n /// \r\n\r\n Withdraw = 2,\r\n /// \r\n /// The cashaa fee\r\n /// \r\n\r\n CashaaFee = 3,\r\n /// \r\n /// The network fee\r\n /// \r\n\r\n NetworkFee = 4,\r\n /// \r\n /// The trade\r\n /// \r\n\r\n Trade = 5,\r\n /// \r\n /// The atm withdraw\r\n /// \r\n\r\n ATM_Withdraw = 6,\r\n\r\n Shopping = 7,\r\n\r\n // spent\r\n sent = 8,\r\n\r\n // convert\r\n convert = 9,\r\n ToConvert = 10,\r\n StackingAmount = 11,\r\n personal_USD_Account_Staking = 12,\r\n business_USD_Account_Onboarding_Fee = 13,\r\n}\r\n","export enum NetworkType {\r\n Default = 0,\r\n ERC20 = 1,\r\n BEP20 = 2,\r\n Polygon = 3\r\n}\r\n","export enum RateType {\r\n InKind = 1,\r\n InCas = 2\r\n}\r\n","export enum RecipientType {\r\n Default = 0,\r\n Self = 1,\r\n Others = 2\r\n\r\n}\r\n","export enum Status {\r\n All = 0,\r\n Pending = 1,\r\n Success = 2,\r\n Failed = 3,\r\n Initiated = 4,\r\n Approved = 5,\r\n Rejected = 6,\r\n RefundInitiated = 7,\r\n RefundSuccess = 8,\r\n Canceled = 9,\r\n Revived = 10,\r\n Sent = 11,\r\n TransferNotConfirmed = 12,\r\n TransferConfirmed = 13,\r\n Swapped = 14\r\n}\r\n","export enum UserType {\r\n User = 1,\r\n Admin = 2,\r\n SuperAdmin = 3,\r\n Personal = 4,\r\n Business = 5,\r\n Broker = 6,\r\n}\r\n","export enum WalletCurrency {\r\n /// \r\n /// The inr\r\n /// \r\n\r\n INR = 1,\r\n /// \r\n /// The GBP\r\n /// \r\n\r\n GBP = 2,\r\n /// \r\n /// The eur\r\n /// \r\n\r\n EUR = 3,\r\n /// \r\n /// The usd\r\n /// \r\n\r\n USD = 4\r\n\r\n}","export interface Google2faDto {\r\n secrateKey: string;\r\n url: string;\r\n isActive: boolean;\r\n}\r\n\r\nexport interface IEnabletwofaresponse {\r\n isActive: boolean;\r\n}\r\n\r\nexport interface IEnabletwofarequest {\r\n code: string;\r\n}\r\n\r\nexport class Enabletwofarequest implements IEnabletwofarequest {\r\n constructor(public code: string) { }\r\n}\r\n\r\n// Create TWOFA\r\nexport interface ICreatetwofa {\r\n enableTwoFA: boolean;\r\n}\r\n\r\nexport class Createtwofa implements ICreatetwofa {\r\n constructor(public enableTwoFA: boolean) { }\r\n}\r\n","export interface IAPIEnumLoad {\r\n key: string;\r\n value: number;\r\n // fileInfo?: IFile;\r\n}\r\n\r\nexport interface IFile {\r\n file?: File;\r\n fileId?: string;\r\n isDeletedValid?: boolean;\r\n fileActionLoader?: boolean;\r\n docType?: string;\r\n fileName?: string;\r\n apiData?: IAPIEnumLoad;\r\n}\r\n\r\nexport class FileUpload implements IFile {\r\n constructor(\r\n public apiData: IAPIEnumLoad,\r\n public file?: File,\r\n public fileId?: string,\r\n public isDeletedValid?: boolean,\r\n public fileActionLoader?: boolean,\r\n public docType?: string,\r\n public fileName?: string\r\n ) { }\r\n}","export interface ISearchFilter {\r\n activityType: string;\r\n fromDate: string;\r\n toDate: string;\r\n symbol: Array;\r\n searchText: string;\r\n resetData?: boolean;\r\n\r\n}\r\n\r\nexport class SearchFilter implements ISearchFilter {\r\n constructor(\r\n public activityType: string,\r\n public fromDate: string,\r\n public toDate: string,\r\n public symbol: Array,\r\n public searchText: string,\r\n public resetData?: boolean\r\n ) { }\r\n}","import { CryptoCurrency } from \"../enums/cryptoCurrency\";\r\n\r\nexport interface IAddressWhitelist {\r\n currencyId: string;\r\n address: string;\r\n addressLabel: string;\r\n twoFactorCode: string;\r\n network?: number\r\n email?: string;\r\n userType?: string;\r\n memo?: number;\r\n}\r\n\r\nexport class AddressWhitelist implements IAddressWhitelist {\r\n constructor(\r\n public currencyId: string,\r\n public address: string,\r\n public addressLabel: string,\r\n public twoFactorCode: string,\r\n public network?: number,\r\n public email?: string,\r\n public userType?: string,\r\n public memo?: number\r\n ) {}\r\n}\r\n","import { IFeature } from \"./feature\";\r\n\r\nexport interface ICreate extends IAPIData, ISecurity {\r\n callbackUrl?: string,\r\n redirectUrl?: string,\r\n}\r\n\r\nexport interface ISecurity {\r\n emailCode: string,\r\n twoFaAuthCode: string,\r\n}\r\n\r\nexport class Security implements ISecurity {\r\n constructor(public emailCode: string,\r\n public twoFaAuthCode: string) { }\r\n}\r\n\r\nexport class APIData implements IAPIData {\r\n constructor(\r\n public apiName: string,\r\n public iplist: IIPList[],\r\n public apiFeatureTypeList: string[],\r\n public id?: string\r\n ) { }\r\n}\r\n\r\nexport interface IIPList {\r\n ip: string,\r\n label: string,\r\n status?: number\r\n}\r\n\r\nexport interface IEmailCode {\r\n apiName: string\r\n}\r\n\r\nexport class EmailCode implements IEmailCode {\r\n constructor(public apiName: string) { }\r\n}\r\n\r\nexport class IPList implements IIPList {\r\n constructor(public ip: string, public label: string) { }\r\n}\r\n\r\nexport interface IAPIData {\r\n apiFeatureTypeList: string[],\r\n apiName: string,\r\n iplist: IIPList[],\r\n id?: string\r\n}\r\n\r\nexport class Create implements ICreate {\r\n constructor(public apiFeatureTypeList: string[],\r\n public apiName: string,\r\n public iplist: IIPList[],\r\n public emailCode: string,\r\n public twoFaAuthCode: string,\r\n public callbackUrl?: string,\r\n public redirectUrl?: string,\r\n public id?: string) { }\r\n}\r\n\r\nexport interface IApiListRespose {\r\n id: string,\r\n apiName: string,\r\n apiKey: string,\r\n callbackUrl: string,\r\n redirectUrl: string,\r\n secretKey: string,\r\n active: boolean,\r\n status: boolean,\r\n apiFeatureTypeList: IFeature[],\r\n ipList: IIPList[],\r\n webHookList: WebHookList\r\n}\r\n\r\nexport interface WebHookList {\r\n \"cashaaUserId\": string,\r\n \"apiManagerId\": string,\r\n \"domainUrl\": string,\r\n \"domainVerificationUrl\": string,\r\n \"domainVerificatioinCode\": string,\r\n \"domainVerificationFileGenerated\": boolean,\r\n \"domainVerified\": boolean,\r\n \"callbackURL\": string,\r\n \"sendCallBackUrl\": string,\r\n \"sendStatusCallbackUrl\": string,\r\n \"approved\": boolean\r\n}","export interface IBusinessProfile {\r\n companyName: string;\r\n companyType: number;\r\n phoneNumber: string;\r\n city: string;\r\n postalCode: string;\r\n countryId: string;\r\n addressLine1: string;\r\n addressLine2: string;\r\n registration?: string;\r\n website?: string;\r\n category?: string;\r\n companyCategoryLabel?: string;\r\n subCategory?: string;\r\n userRoleLabel?: string;\r\n countryLabel?: string;\r\n country?: string;\r\n userRole?: string;\r\n email?: string;\r\n}\r\n\r\nexport class BusinessProfile implements IBusinessProfile {\r\n constructor(\r\n public companyName: string,\r\n public companyType: number,\r\n public phoneNumber: string,\r\n public city: string,\r\n public postalCode: string,\r\n public countryId: string,\r\n public addressLine1: string,\r\n public addressLine2: string,\r\n public registration?: string,\r\n public website?: string,\r\n public category?: string,\r\n public subCategory?: string,\r\n public companyCategoryLabel?: string,\r\n public userRoleLabel?: string,\r\n public countryLabel?: string,\r\n public country?: string,\r\n public userRole?: string,\r\n public email?: string,\r\n\r\n ) {}\r\n}\r\n","import { CashaaFeeMode } from \"./../enums/cashaa-fee-mode\";\r\nexport interface ICashaaUserFeeMode {\r\n userFeeMode: CashaaFeeMode;\r\n}\r\n\r\nexport class CashaaUserFeeMode implements ICashaaUserFeeMode {\r\n constructor(\r\n public userFeeMode: CashaaFeeMode,\r\n ) { }\r\n}\r\n","\r\n\r\nexport interface IChangeEmailRequest {\r\n currentEmail: string,\r\n newEmail: string,\r\n changeEmailToken: string,\r\n\r\n}\r\n\r\nexport class ChangeEmailRequest implements IChangeEmailRequest {\r\n constructor(\r\n public currentEmail: string,\r\n public newEmail: string,\r\n public changeEmailToken: string,\r\n\r\n ) { }\r\n}","export interface IChangePasswordRequest {\r\n CurrentPassword: string,\r\n NewPassword: string,\r\n\r\n}\r\n\r\nexport class ChangePasswordRequest implements IChangePasswordRequest {\r\n constructor(\r\n public CurrentPassword: string,\r\n public NewPassword: string,\r\n\r\n ) { }\r\n}","export interface IConvertMoneyRequest {\r\n fromCurrencyId: string;\r\n toCurrencyId: string;\r\n feeTypeId: string;\r\n fromAmount: number;\r\n toAmount: number;\r\n rate: number;\r\n\r\n}\r\nexport class ConvertMoneyRequest implements IConvertMoneyRequest {\r\n constructor(\r\n public fromCurrencyId: string,\r\n public toCurrencyId: string,\r\n public feeTypeId: string,\r\n public fromAmount: number,\r\n public toAmount: number,\r\n public rate: number,\r\n\r\n ) { }\r\n}\r\n\r\n","export interface ICryptoAccountRequestModel {\r\n currency: string;\r\n networkType?: string;\r\n}\r\nexport class CryptoAccountRequestModel implements ICryptoAccountRequestModel {\r\n constructor(\r\n public currency: string,\r\n public networkType?: string,\r\n\r\n\r\n ) { }\r\n}\r\n","export interface ICurrencyTypeData {\r\n currencySymbol: string;\r\n currencyType: string;\r\n\r\n}\r\n\r\n\r\nexport class CurrencyTypeData implements ICurrencyTypeData {\r\n constructor(\r\n public currencySymbol: string,\r\n public currencyType: string\r\n ) { }\r\n}","export interface IDepositInterestPlan {\r\n minAmount: number,\r\n maxAmount: number,\r\n duration: number,\r\n rate: number,\r\n rateType: number | string,\r\n currencyId: string,\r\n isDefault: boolean | string,\r\n isActive: boolean | string,\r\n id: string,\r\n planName: string,\r\n currency: string,\r\n description: string,\r\n currencyNature: string,\r\n interestOptType?: number,\r\n interestEarned?: number,\r\n interestEarnedCurrency?: string\r\n}\r\n\r\nexport interface ICreateDepositPlan {\r\n amount: string,\r\n depositData: IDepositInterestPlan,\r\n isAutoRenew: boolean,\r\n interestOptType?: number,\r\n bonus?: Bonus\r\n}\r\n\r\nexport interface Bonus {\r\n text: string;\r\n amount: number;\r\n currencyUrl: string;\r\n currency: string;\r\n}\r\n\r\nexport interface IDepositPlan {\r\n amount: number,\r\n interestPlanId: string,\r\n isAutoRenew: boolean\r\n}\r\n\r\nexport class DepositPlan {\r\n constructor(public amount: number, public interestPlanId: string, public rate: number, public isAutoRenew: boolean, public interestOptType: number) { }\r\n}\r\n\r\nexport class CreateDepositPlan implements ICreateDepositPlan {\r\n constructor(public amount: string, public depositData: IDepositInterestPlan, public isAutoRenew: boolean, public interestOptType: number) { }\r\n}\r\n\r\nexport interface ICancelAutoRenewal {\r\n id: string\r\n}\r\n\r\nexport interface CancelFeeDetails {\r\n duration: string,\r\n fromDays: number,\r\n toDays: number,\r\n feeInPercent: number\r\n}\r\n\r\nexport interface CancelFee {\r\n cancelFee: number,\r\n currency: string,\r\n feePercent: number,\r\n cancelFeeDetails: CancelFeeDetails[]\r\n}\r\n","import { WalletCurrency } from '../enums/walletcurrency';\r\n\r\nexport interface IDepositAmount {\r\n currency: string;\r\n amount: number;\r\n option?: number;\r\n fee: number;\r\n deliveryMech: number;\r\n symbol?: string;\r\n recipientType?: number;\r\n}\r\n\r\nexport class CreateDepositAmount implements IDepositAmount {\r\n constructor (\r\n public currency: string,\r\n public amount: number,\r\n public fee: number,\r\n public deliveryMech: number,\r\n ) {}\r\n}\r\n\r\nexport interface IDepositDetail {\r\n currency: string;\r\n paymentMode: string;\r\n payeeName: string;\r\n bankName: string;\r\n iban: string;\r\n bankCode: string;\r\n sortCode: string;\r\n accountNumber: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n defaultAccount: true;\r\n referanceNumber: 0;\r\n depositFee: 0;\r\n depositMinimumAmount: 0;\r\n otherCountryWalletId: string;\r\n bankId?: string;\r\n}\r\n\r\nexport interface IDepositHistoryPayload {\r\n status: number;\r\n currencyId: string;\r\n}\r\n\r\nexport interface IDepositHistory {\r\n bankName: string;\r\n currency: string;\r\n amount: number;\r\n serviceFee: number;\r\n status: number;\r\n remark: string;\r\n depositDate: string;\r\n transactionId: string;\r\n}\r\n\r\nexport interface IDepositCreate {\r\n transactionId: string;\r\n currencyId: string;\r\n paymentMode: number;\r\n amount: number;\r\n serviceFee: number;\r\n remark: string;\r\n transactionDate: string;\r\n deliveryMech: number,\r\n recipientId: string\r\n recipientType: string\r\n}\r\n\r\nexport interface IPayousDepositCreate {\r\n wallet: WalletCurrency;\r\n amount: number;\r\n fee: number;\r\n instiutionId: string;\r\n}\r\n","import { ICurrency } from \"../currency\";\r\nimport { ITransferFees } from \"../transfer-types\";\r\nimport { TransferFeeType } from \"./transfer-type\";\r\n\r\nexport interface IFiatFlow {\r\n sendercurrencyId: string;\r\n senderAmount: number;\r\n recivercurrencyId: string;\r\n reciverAmount: number;\r\n sendertransferFeeId: string;\r\n memo: string;\r\n fromcurrencyObject: ICurrency;\r\n feeAmountObject: ITransferFees;\r\n fees: number;\r\n deliveryMech?: string;\r\n networkType?: string;\r\n recipientType?: number\r\n // fiatBeneficiaryId : string;\r\n}\r\n\r\nexport class FiatFlow implements IFiatFlow {\r\n constructor(\r\n public sendercurrencyId: string,\r\n public senderAmount: number,\r\n public recivercurrencyId: string,\r\n public reciverAmount: number,\r\n public sendertransferFeeId: string,\r\n public memo: string,\r\n public fromcurrencyObject: ICurrency,\r\n public feeAmountObject: ITransferFees,\r\n public fees: number,\r\n public deliveryMech?: string,\r\n public networkType?: string,\r\n public recipientType?: number\r\n ) {}\r\n}\r\n","export interface IPay {\r\n fromCurrencyId: string;\r\n toCurrencyId: string;\r\n amount: number;\r\n feeTypeId: string;\r\n remark: string;\r\n fiatBeneficiaryId: string;\r\n isrecipientSkiped: boolean;\r\n currency?: string;\r\n accountNumber?: string;\r\n password?: PasswordType;\r\n networkType?: string;\r\n recipientType?: number;\r\n}\r\nexport class Pay implements IPay {\r\n constructor(\r\n public fromCurrencyId: string,\r\n public toCurrencyId: string,\r\n public amount: number,\r\n public feeTypeId: string,\r\n public remark: string,\r\n public fiatBeneficiaryId: string,\r\n public isrecipientSkiped: boolean,\r\n public currency?: string,\r\n public accountNumber?: string,\r\n public password?: PasswordType,\r\n public networkType?: string,\r\n public recipientType?: number,\r\n ) { }\r\n}\r\n\r\nexport interface PasswordType {\r\n password?: string;\r\n twoFA?: string\r\n}\r\nexport interface ISkipBenificry {\r\n fiatBeneficiaryId: string;\r\n isRecipientSkip: boolean;\r\n currencySymbol: string;\r\n\r\n}\r\nexport class SkipBenificry implements ISkipBenificry {\r\n constructor(\r\n\r\n public fiatBeneficiaryId: string,\r\n public isRecipientSkip: boolean,\r\n public currencySymbol: string,\r\n\r\n ) { }\r\n\r\n \r\n}\r\n\r\nexport interface IFiatRecipient {\r\n currencySymbol: string;\r\n network: number;\r\n recipientType?: number\r\n}\r\n\r\nexport class FiatRecipient {\r\n constructor(\r\n public currencySymbol: string,\r\n public network: number,\r\n public recipientType?: number\r\n ) {}\r\n}","import { FiatTransactionType } from \"../../enums/fiat-transaction-type\";\r\n\r\nexport interface IRecipient {\r\n id: string;\r\n name: string;\r\n currency: string;\r\n accountNumber: string;\r\n iban: string;\r\n sortCode: string;\r\n type: FiatTransactionType;\r\n fiatAddressDetailsId: string;\r\n isrecipientSkiped: boolean;\r\n typeName: string;\r\n recipientType: string,\r\n isVerified?: boolean;\r\n network?: number;\r\n currencyType?: number;\r\n memo?:string;\r\n currencyId?: string;\r\n isCashaaAddress?: boolean;\r\n networkName?: string;\r\n}\r\nexport class Recipient implements IRecipient {\r\n constructor(\r\n public id: string,\r\n public name: string,\r\n public currency: string,\r\n public accountNumber: string,\r\n public iban: string,\r\n public sortCode: string,\r\n public type: FiatTransactionType,\r\n public fiatAddressDetailsId: string,\r\n public isrecipientSkiped: boolean,\r\n public typeName: string,\r\n public recipientType: string,\r\n public network?: number,\r\n public memo?: string\r\n ) {}\r\n}\r\n\r\nexport interface IRecipientDelete {\r\n recipientId: string;\r\n}\r\n\r\nexport class RecipientDelete implements IRecipientDelete {\r\n constructor(\r\n public recipientId: string\r\n ) {}\r\n}\r\n","import { CurrencyType } from '../enums/currencyType';\r\n\r\nexport interface IFiatAccountRequestModel {\r\n currencySymbol: string;\r\n}\r\n\r\n\r\n\r\n\r\nexport class FiatAccountRequestModel implements IFiatAccountRequestModel {\r\n constructor(\r\n public currencySymbol: string,\r\n\r\n ) { }\r\n}","export interface IReceiveFundRequest {\r\n currencyId: string;\r\n currency: string;\r\n\r\n}\r\n\r\nexport class ReceiveFundRequest implements IReceiveFundRequest {\r\n constructor(\r\n public currencyId: string,\r\n public currency: string\r\n ) { }\r\n}\r\n\r\n\r\nexport interface IReceiveFundResponse {\r\n currencyId: string;\r\n address: string;\r\n currency: string;\r\n memo: string;\r\n}\r\n\r\n\r\nexport class ReceiveFundResponse implements IReceiveFundResponse {\r\n constructor(\r\n public currencyId: string,\r\n public address: string,\r\n public currency: string,\r\n public memo: string\r\n ) { }\r\n}\r\n\r\n\r\n\r\n","export interface IAddRecipientUsd {\r\n currencyId?: string;\r\n recipient?: IRecipient;\r\n recipientAccount?: IRecipientAccount;\r\n recipientAgent?: IRecipientAgent;\r\n userType?: string;\r\n googleDriveUrl?:string;\r\n}\r\n\r\nexport interface IRecipient {\r\n person?: IPerson;\r\n}\r\n\r\nexport interface IPerson {\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n postalAddress?: IPostalAddress;\r\n mobile?: number;\r\n email?: string;\r\n countryOfBirth?: string;\r\n dob?: string;\r\n nickname?: string;\r\n}\r\n\r\nexport interface IPostalAddress {\r\n addressLine1?: string;\r\n addressLine2?: string;\r\n addressLine3?: string;\r\n postalCode?: string;\r\n city?: string;\r\n province?: string;\r\n country?: string;\r\n}\r\n\r\nexport interface IRecipientAccount {\r\n account?: IAccount;\r\n}\r\n\r\nexport interface IAccount {\r\n type?: string;\r\n bankName?: string;\r\n accountNumber?: string;\r\n currencyCode?: string;\r\n routingNumber?: string;\r\n bankCode?: string\r\n}\r\n\r\nexport interface IRecipientAgent {\r\n type?: string;\r\n name?: string;\r\n code?: string;\r\n countryCode?: string;\r\n}\r\n\r\nexport interface IGBPEURO {\r\n currency?: string;\r\n userType?: string\r\n email?: string;\r\n fullName?: string;\r\n sortCode?: string;\r\n iban?: string;\r\n accountNo?: string;\r\n beneficiaryType?: string;\r\n bankName?: string;\r\n branchName?: string;\r\n city?: string;\r\n address1?: string;\r\n postalCode?: string;\r\n countryCode?: string;\r\n swiftCode?: string;\r\n}\r\n\r\nexport class AddRecipientUsd implements IAddRecipientUsd {\r\n constructor(\r\n public currencyId?: string,\r\n public recipient?: IRecipient,\r\n public recipientAccount?: IRecipientAccount,\r\n public userType?: string,\r\n public recipientType?: string,\r\n public beneficiaryType?: string,\r\n public googleDriveUrl?:string,\r\n ) {}\r\n}\r\nexport class Recipient implements IRecipient {\r\n constructor(public person?: IPerson) {}\r\n}\r\nexport class Person implements IPerson {\r\n constructor(\r\n public firstName?: string,\r\n public middleName?: string,\r\n public lastName?: string,\r\n public mobile?: number,\r\n public email?: string,\r\n public nickname?: string,\r\n public postalAddress?: IPostalAddress\r\n ) {}\r\n}\r\nexport class PostalAddress implements IPostalAddress {\r\n constructor(\r\n public addressLine1?: string,\r\n public addressLine2?: string,\r\n public addressLine3?: string,\r\n public postalCode?: string,\r\n public city?: string,\r\n public province?: string,\r\n public country?: string,\r\n public countryOfBirth?: string\r\n ) {}\r\n}\r\nexport class Account implements IAccount {\r\n constructor(\r\n public type?: string,\r\n public bankName?: string,\r\n public accountNumber?: string,\r\n public currencyCode?: string,\r\n public routingNumber?: string,\r\n public bankCode?: string\r\n ) {}\r\n}\r\nexport class RecipientAccount implements IRecipientAccount {\r\n constructor(public account?: IAccount) {}\r\n}\r\nexport class RecipientAgent implements IRecipientAgent {\r\n constructor(\r\n public type?: string,\r\n public name?: string,\r\n public code?: string,\r\n public countryCode?: string\r\n ) {}\r\n}\r\nexport class RecipientAddGbp implements IGBPEURO {\r\n constructor(\r\n public currency: string,\r\n public userType: string,\r\n public recipientType: number,\r\n public fullName?: string,\r\n public sortCode?: string,\r\n public iban?: string,\r\n public accountNo?: string,\r\n public beneficiaryType?: string,\r\n public bankName?: string,\r\n public branchName?: string,\r\n public city?: string,\r\n public email?: string,\r\n public swiftCode?: string,\r\n public address1?: string,\r\n public postalCode?: string,\r\n public countryCode?: string,\r\n \r\n ) {}\r\n}\r\n\r\nexport interface ICustomer extends IGBPEURO {\r\n customerId?: string;\r\n currencyId?: string;\r\n googleDriveUrl?: string;\r\n status?: number;\r\n verified?: boolean;\r\n identityProofFileName?: string;\r\n identityProofFilePath?: string;\r\n identityDocumentType?: string;\r\n addressProofFileName?: string;\r\n addressProofFilePath?: string;\r\n addressDocumentType?: string;\r\n selfieFileName?: string;\r\n selfieFilePath?: string;\r\n count?: number;\r\n failedCount?:number;\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n postalAddress?: IPostalAddress;\r\n mobile?: number;\r\n email?: string;\r\n countryOfBirth?: string;\r\n dob?: string;\r\n nickname?: string;\r\n addressLine1?: string;\r\n addressLine2?: string;\r\n addressLine3?: string;\r\n postalCode?: string;\r\n city?: string;\r\n province?: string;\r\n country?: string;\r\n type?: string;\r\n bankName?: string;\r\n accountNumber?: string;\r\n currencyCode?: string;\r\n routingNumber?: string;\r\n bankCode?: string;\r\n isOperationCompleted?: boolean;\r\n name?:string;\r\n recipientType?:number; \r\n}\r\n","export interface IReferralDetailResponse {\r\n data: IReferralDetail[];\r\n pageIndex: number;\r\n pageSize: number;\r\n totalCount: number;\r\n totalPageCount: number;\r\n hasPreviousPage: boolean;\r\n hasNextPage: boolean;\r\n}\r\n\r\nexport interface IReferralDetail {\r\n id: string;\r\n email: string;\r\n status: boolean,\r\n amount: number,\r\n amountCurrency: string,\r\n joinedDate: Date | string\r\n isDeleteOrResend: boolean\r\n}\r\n\r\nexport interface IReferralInfo {\r\n joined: number,\r\n pending: number,\r\n totalReferral: number,\r\n totalAmount: number,\r\n interestOptType: number\r\n}\r\n\r\nexport interface IDeleteReferral {\r\n id: string\r\n}\r\n\r\nexport interface ISendReferralInvitation {\r\n toemail: IRecipientEmail[]\r\n}\r\n\r\nexport interface IRecipientEmail {\r\n recipientemail: string\r\n}\r\n\r\nexport class DeleteReferral implements IDeleteReferral {\r\n constructor(public id: string) { }\r\n}\r\n","export interface IResetPassword {\r\n email: string;\r\n token: string;\r\n newPassword: string;\r\n registerType: number;\r\n}\r\n\r\nexport class ResetPassword {\r\n constructor(\r\n public email: string,\r\n public token: string,\r\n public newPassword: string,\r\n public registerType: number\r\n ) {}\r\n}\r\n","export interface ISignup {\r\n email: string;\r\n password: string;\r\n countryId: string;\r\n registerType: number;\r\n referralCode?: string;\r\n}\r\n\r\nexport class Signup implements ISignup {\r\n constructor(\r\n public email: string,\r\n public password: string,\r\n public countryId: string,\r\n public registerType: number,\r\n public referralCode?: string\r\n ) {}\r\n}\r\n\r\nexport interface KycSignupData {\r\n countryId: string\r\n countryName: string\r\n email: string\r\n isSignUpDone: false\r\n kycStatus: number\r\n }\r\n","import { TransferType } from \"../enums/transferType\";\r\n\r\nexport interface ITransferFees {\r\n transferFeeId?: string;\r\n transferName?: string;\r\n transferType?: TransferType;\r\n convertFee?: number;\r\n sendFee?: number;\r\n description?: string;\r\n currencyId?: string;\r\n casRate?: number;\r\n casFee?: number,\r\n fiatMaxSendAmount?: number,\r\n percent?: number,\r\n brokerfeeDto?:IBrokerFees\r\n}\r\n\r\nexport interface IBrokerFees {\r\n maxSendfee: number,\r\n minSendfee: number,\r\n sendPercentFee: number\r\n}\r\n\r\nexport interface ITransferFeesList {\r\n transferFeesList: ITransferFees[];\r\n}\r\n\r\n\r\n\r\nexport interface ITransferFeesByCurrencyModel {\r\n currencyId: string;\r\n transactionAmount: string;\r\n transferType: number;\r\n isBroker?: boolean;\r\n}\r\nexport class TransferFeesByCurrencyModel implements ITransferFeesByCurrencyModel {\r\n constructor(\r\n public currencyId: string,\r\n public transactionAmount: string,\r\n public transferType: number,\r\n public isBroker?: boolean,\r\n ) { }\r\n}\r\n\r\n\r\n\r\nexport interface IFiatInOutTransferFees {\r\n fiatTransferType: number;\r\n transactionType: TransferType;\r\n minAmount: number;\r\n maxAmount: number;\r\n feeAmount: number;\r\n otherFeeAmountInPercent: number;\r\n isBroker?: boolean;\r\n}\r\n\r\nexport class FiatInOutTransferFees implements IFiatInOutTransferFees {\r\n constructor(\r\n public fiatTransferType: number,\r\n public transactionType: TransferType,\r\n public minAmount: number,\r\n public maxAmount: number,\r\n public feeAmount: number,\r\n public otherFeeAmountInPercent: number,\r\n public isBroker?: boolean,\r\n ) { }\r\n}","export interface IWhitelistDevice {\r\n deviceId: string;\r\n}\r\n\r\nexport class WhitelistDevice implements IWhitelistDevice {\r\n constructor(public deviceId: string) {}\r\n}\r\n","import { PasswordType } from \"./fIat/fiat-pay\";\r\n\r\nexport interface IWithdrawFundRequest {\r\n currencyId: string;\r\n currency: string;\r\n}\r\n\r\nexport class WithdrawFundRequest implements IWithdrawFundRequest {\r\n constructor(public currencyId: string, public currency: string) {}\r\n}\r\n\r\nexport interface IWithdrawFundResponse {\r\n currencyId: string;\r\n address: string;\r\n currency: string;\r\n memo: string;\r\n}\r\nexport class WithdrawFundResponse implements IWithdrawFundResponse {\r\n constructor(\r\n public currencyId: string,\r\n public address: string,\r\n public currency: string,\r\n public memo: string\r\n ) {}\r\n}\r\n\r\nexport interface ICreateWithdrawRequest {\r\n currency: string;\r\n toAddress: string;\r\n memo?: string;\r\n amount: number;\r\n networkType?: string\r\n}\r\n\r\nexport class CreateWithdrawRequest implements ICreateWithdrawRequest {\r\n constructor(\r\n public currency: string,\r\n public toAddress: string,\r\n public amount: number,\r\n public memo?: string,\r\n public networkType?: string,\r\n public password?: PasswordType,\r\n public isrecipientSkiped?: boolean\r\n ) {}\r\n} \r\nexport interface IWithdrawConfirmation {\r\n token: string;\r\n}\r\n\r\nexport class WithdrawConfirmation implements IWithdrawConfirmation{\r\n constructor(public token: string) {}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n Router,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n CanActivate,\r\n} from \"@angular/router\";\r\nimport { UserType } from \"../../enums/userType\";\r\nimport {\r\n APP_ROUTES,\r\n AUTH_TOKEN_PATH,\r\n USER_NAME_PATH,\r\n USER_EMAIL_PATH,\r\n USER_ID,\r\n USER_TYPE,\r\n USER_NAME_ID,\r\n USER_FEE_MODE,\r\n USER_FEE_PERCENT,\r\n SEESION_FLAG,\r\n SEESION_OBJECT,\r\n USER_TWO_FACTOR_CODE,\r\n USER_INTEREST_MODE,\r\n USER_COUNTRY_CODE,\r\n USER_REFERRAL_CODE,\r\n IS_CAS_SWAP_Enabled,\r\n} from \"src/app/app.constants\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AuthGuardService implements CanActivate {\r\n /**\r\n * Construct this component\r\n * @param router Router\r\n */\r\n constructor(private router: Router) {}\r\n\r\n /**\r\n * Can given route be activated or not\r\n * @param next next handler\r\n * @param state current state of the route\r\n */\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean {\r\n let sessionFlag = localStorage.getItem(SEESION_FLAG);\r\n\r\n if (\r\n sessionStorage.getItem(AUTH_TOKEN_PATH) != null &&\r\n sessionFlag === \"true\"\r\n ) {\r\n let tempObj: any = {};\r\n tempObj.token = sessionStorage.getItem(AUTH_TOKEN_PATH);\r\n tempObj.name = sessionStorage.getItem(USER_NAME_PATH);\r\n tempObj.email = sessionStorage.getItem(USER_EMAIL_PATH);\r\n tempObj.cashaaUserId = sessionStorage.getItem(USER_ID);\r\n tempObj.userType = sessionStorage.getItem(USER_TYPE).toString();\r\n tempObj.userName = sessionStorage.getItem(USER_NAME_ID);\r\n tempObj.userFeeMode = sessionStorage.getItem(USER_FEE_MODE);\r\n tempObj.conversionFee = sessionStorage.getItem(USER_FEE_PERCENT);\r\n tempObj.twofactorcode = sessionStorage.getItem(USER_TWO_FACTOR_CODE);\r\n tempObj.userCountryCode = sessionStorage.getItem(USER_COUNTRY_CODE);\r\n tempObj.isCASSWAPEnabled = sessionStorage.getItem(IS_CAS_SWAP_Enabled);\r\n localStorage.setItem(SEESION_OBJECT, JSON.stringify(tempObj));\r\n return true;\r\n } else if (\r\n localStorage.getItem(SEESION_OBJECT) != null &&\r\n sessionFlag === \"true\"\r\n ) {\r\n let res = JSON.parse(localStorage.getItem(SEESION_OBJECT));\r\n sessionStorage.setItem(AUTH_TOKEN_PATH, res.token);\r\n sessionStorage.setItem(USER_NAME_PATH, res.name);\r\n sessionStorage.setItem(USER_EMAIL_PATH, res.email);\r\n sessionStorage.setItem(USER_ID, res.cashaaUserId);\r\n sessionStorage.setItem(USER_TYPE, res.userType.toString());\r\n sessionStorage.setItem(USER_NAME_ID, res.userName);\r\n sessionStorage.setItem(USER_FEE_MODE, res.userFeeMode);\r\n sessionStorage.setItem(USER_INTEREST_MODE, res.userInterestMode);\r\n sessionStorage.setItem(USER_FEE_PERCENT, res.conversionFee);\r\n sessionStorage.setItem(USER_TWO_FACTOR_CODE, res.twofactorcode);\r\n sessionStorage.setItem(USER_COUNTRY_CODE, res.userCountryCode);\r\n sessionStorage.setItem(USER_REFERRAL_CODE, res.referalCode);\r\n sessionStorage.setItem(IS_CAS_SWAP_Enabled, res.isCASSWAPEnabled);\r\n return true;\r\n } else {\r\n // this.router.navigateByUrl(APP_ROUTES.UNAUTHORIZED);\r\n this.router.navigate(['/account/signin'], { queryParams: { returnUrl: state.url }});\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * can activate the child or not\r\n * @param next next route\r\n * @param state current state\r\n */\r\n canActivateChild(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean {\r\n return this.canActivate(next, state);\r\n }\r\n}\r\n","import {\r\n IFiatInOutTransferFees,\r\n ITransferFeesByCurrencyModel,\r\n} from \"./../../models/transfer-types\";\r\nimport { IUserFeeMode } from \"./../../models/user-fee-mode\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { ICountryList } from \"../../models/country\";\r\nimport { IDirectorRoleList } from \"../../models/director-role\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable, BehaviorSubject, Subject } from \"rxjs\";\r\nimport { ICurrencyList, ICurrency } from \"../../models/currency\";\r\nimport { CurrencyType } from \"../../enums/currencyType\";\r\nimport { ITransferFeesList, ITransferFees } from \"../../models/transfer-types\";\r\nimport { IsubscriptionPlansList } from \"../../models/subsciption\";\r\nimport { UserType } from \"../../enums/userType\";\r\nimport { IWithdrawAddress } from \"../../models/withdraw-address\";\r\nimport { IBusinessCategory } from \"../../models/business-category\";\r\nimport { IBusinessSubcategory } from \"../../models/business-subcategory\";\r\nimport { RateDto } from \"../../models/rate\";\r\nimport { IHelpdeskCategory } from \"../../models/helpdesk-category\";\r\nimport { IFile } from \"../../models/Lerex/enum-load\";\r\nimport { IUserInterestChoice } from \"../../models/interest-mode\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DomainService {\r\n /** Api url */\r\n private apiUrl = environment.api;\r\n\r\n private fiatCurrency = new BehaviorSubject(undefined);\r\n\r\n public fiatCurrencies : ICurrency[];\r\n\r\n private uploadFile = new Subject();\r\n\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n /**\r\n * Get List of available countries\r\n */\r\n getCountriesList(): Observable {\r\n return this.http.get(`${this.apiUrl}/countries`);\r\n }\r\n\r\n /**\r\n * Get List of available currenies\r\n */\r\n getCurrenciesList(currencytype: CurrencyType): Observable {\r\n const currencyroute =\r\n currencytype === CurrencyType.all\r\n ? \"/getall\"\r\n : currencytype === CurrencyType.Fiat\r\n ? \"/fiat\"\r\n : \"/crypto\";\r\n return this.http.get(\r\n `${this.apiUrl}/currencies${currencyroute}`\r\n );\r\n }\r\n\r\n /**\r\n * Get List of available countries\r\n */\r\n getTransferTypeList(): Observable {\r\n return this.http.get(`${this.apiUrl}/transferfees`);\r\n }\r\n /**\r\n * Get Network fee type\r\n *\r\n * @param {ITransferFeesByCurrencyModel} data\r\n * @returns {Observable}\r\n *\r\n * @memberOf DomainService\r\n */\r\n getTransferFeeByCurrecny(\r\n data: ITransferFeesByCurrencyModel\r\n ): Observable {\r\n // tslint:disable-next-line: max-line-length\r\n return this.http.get(\r\n `${this.apiUrl}/transferfees/${data.currencyId}/${data.transferType}/${data.transactionAmount}/${data.isBroker}`\r\n );\r\n }\r\n getFeeByCurrencyId(id: string): Observable {\r\n return this.http.get(`${this.apiUrl}/transferfees/${id}`);\r\n }\r\n getPayCurrencyById(id: string): Observable {\r\n return this.http.get(`${this.apiUrl}/currencies/${id}`);\r\n }\r\n /** Get pay fee details */\r\n getPayFeeById(id: string): Observable {\r\n return this.http.get(`${this.apiUrl}/transferfees/${id}`);\r\n }\r\n\r\n /*** Get List of available subsciptions for business\r\n */\r\n getSubscription(usertype: UserType): Observable {\r\n const route =\r\n usertype === UserType.Personal\r\n ? \"/getpersonal\"\r\n : usertype === UserType.Business\r\n ? \"/getbusiness\"\r\n : \"/getall\";\r\n return this.http.get(\r\n `${this.apiUrl}/subscriptionplans${route}`\r\n );\r\n }\r\n\r\n getRoles(): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/kyc/getalldirectorroles`\r\n );\r\n }\r\n // get the list of user fee mode\r\n getUserFeeModeList(): Observable {\r\n return this.http.get(`${this.apiUrl}/feemodes`);\r\n }\r\n\r\n getUserInterestModeList(): Observable {\r\n return this.http.get(`${this.apiUrl}/userchoice/getDefault`);\r\n }\r\n\r\n getWithdrawAddressList(symbol: string): Observable> {\r\n return this.http.get>(\r\n `${this.apiUrl}/WithdrawAddress/${symbol}`\r\n );\r\n }\r\n\r\n getBusinessCategoryList(): Observable> {\r\n return this.http.get>(\r\n `${this.apiUrl}/users/getbusinesscategorylist`\r\n );\r\n }\r\n\r\n getBusinessSubcategoryList(\r\n categoryId: string\r\n ): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/users/${categoryId}`\r\n );\r\n }\r\n\r\n getHelpdeskCategoryList(): Observable> {\r\n return this.http.get>(\r\n `${this.apiUrl}/helpdesktickets/gethelpdeskcategories`\r\n );\r\n }\r\n\r\n getRate(from: string, to: string): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/currencies/rate?from=${from}&to=${to}`\r\n );\r\n }\r\n\r\n getINRRate(from: string, to: string): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/currencies/rate/${from}/${to}`\r\n );\r\n }\r\n\r\n emitFiatCurrency(fiatCurrency: ICurrency[]): void {\r\n this.fiatCurrencies = fiatCurrency;\r\n this.fiatCurrency.next(fiatCurrency);\r\n }\r\n\r\n getFiatCurrency(): Observable {\r\n return this.fiatCurrency.asObservable();\r\n }\r\n\r\n emitKycUploadFile(data: IFile): void {\r\n this.uploadFile.next(data);\r\n }\r\n\r\n getKycUploadFile(): Observable {\r\n return this.uploadFile.asObservable();\r\n }\r\n\r\n getCurrencyPairListById(currencyId) {\r\n return this.http.get(\r\n `${this.apiUrl}/currencies/get-pairs?currencyId=${currencyId}`\r\n );\r\n }\r\n}\r\n","import { Router } from \"@angular/router\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpHeaders,\r\n} from \"@angular/common/http\";\r\nimport {\r\n AUTH_TOKEN_PATH,\r\n APP_ROUTES,\r\n USER_NAME_PATH,\r\n USER_EMAIL_PATH,\r\n USER_ID,\r\n USER_TYPE,\r\n USER_NAME_ID,\r\n USER_FEE_MODE,\r\n USER_FEE_PERCENT,\r\n SEESION_OBJECT,\r\n SEESION_FLAG,\r\n USER_INTEREST_MODE,\r\n USER_COUNTRY_CODE,\r\n USER_REFERRAL_CODE,\r\n} from \"src/app/app.constants\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport { throwError } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class HttpInterceptorService implements HttpInterceptor {\r\n constructor(private router: Router) {}\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): any {\r\n let idToken = sessionStorage.getItem(AUTH_TOKEN_PATH);\r\n let sessionFlag = localStorage.getItem(SEESION_FLAG);\r\n\r\n if (!idToken && sessionFlag === \"true\") {\r\n let res = JSON.parse(localStorage.getItem(SEESION_OBJECT));\r\n sessionStorage.setItem(AUTH_TOKEN_PATH, res.token);\r\n sessionStorage.setItem(USER_NAME_PATH, res.name);\r\n sessionStorage.setItem(USER_EMAIL_PATH, res.email);\r\n sessionStorage.setItem(USER_ID, res.cashaaUserId);\r\n sessionStorage.setItem(USER_TYPE, res.userType.toString());\r\n sessionStorage.setItem(USER_NAME_ID, res.userName);\r\n sessionStorage.setItem(USER_FEE_MODE, res.userFeeMode);\r\n sessionStorage.setItem(USER_INTEREST_MODE, res.userInterestMode);\r\n sessionStorage.setItem(USER_FEE_PERCENT, res.conversionFee);\r\n sessionStorage.setItem(USER_COUNTRY_CODE, res.userCountryCode);\r\n sessionStorage.setItem(USER_REFERRAL_CODE, res.referalCode);\r\n idToken = res.token;\r\n }\r\n\r\n if (idToken && sessionFlag === \"true\") {\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + idToken ,\r\n \"header-sign-key\": environment.HEADER_SIGN_KEY\r\n })\r\n // let cloned = req.clone({\r\n // headers: req.headers.set(\"Authorization\", \"Bearer \" + idToken),\r\n // });\r\n const cloned = req.clone({\r\n headers\r\n });\r\n \r\n return next.handle(cloned).pipe(\r\n catchError((err) => {\r\n if (err.status === 401) {\r\n this.router.navigateByUrl(\"unauthorized\");\r\n }\r\n return throwError(err);\r\n })\r\n );\r\n } else {\r\n return next.handle(req).pipe(\r\n catchError((err) => {\r\n if (err.status === 401) {\r\n this.router.navigateByUrl(APP_ROUTES.UNAUTHORIZED);\r\n }\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n }\r\n}\r\n","import { ActivityBalanceTransferDetailComponent } from \"./../../../activity/activity-balance-transfer-detail/activity-balance-transfer-detail.component\";\r\nimport { RecipientAddBankaccountComponent } from \"./../../../recipient/recipient-add-bankaccount/recipient-add-bankaccount.component\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { MDBModalService } from \"ng-uikit-pro-standard\";\r\nimport { MessageBoxComponent } from \"src/app/shared/components/message-box/message-box.component\";\r\nimport { RecipientAddComponent } from \"src/app/recipient/recipient-add/recipient-add.component\";\r\nimport { ProfileBusinessEditComponent } from \"src/app/profile/profile-business-edit/profile-business-edit.component\";\r\n\r\nimport { FiatFlowPayAuthApprovalComponent } from \"src/app/fiat/fiat-flow-pay-auth-approval/fiat-flow-pay-auth-approval.component\";\r\nimport { FiatFlowPayApproveComponent } from \"src/app/fiat/fiat-flow-pay-approve/fiat-flow-pay-approve.component\";\r\nimport { ActivityBalanceAttentionCancelTrasnferComponent } from \"src/app/activity/activity-balance-attention-cancel-transfer/activity-balance-attention-cancel-transfer.component\";\r\nimport { FiatFlowRecipientAddBusinessComponent } from \"src/app/fiat/fiat-flow-recipient-add-business/fiat-flow-recipient-add-business.component\";\r\nimport { HelpdeskCreateTicketComponent } from \"src/app/helpdesk/helpdesk-create-ticket/helpdesk-create-ticket.component\";\r\nimport { AddCustomerModalComponent } from \"src/app/customer/add-customer-modal/add-customer-modal.component\";\r\nimport { ReserveModalComponent } from \"src/app/account-upgrade/reserve-modal/reserve-modal.component\";\r\nimport { ICustomer } from \"../../models/recipient/recipient-add-usd\";\r\nimport { ConfirmationBoxComponent } from \"src/app/shared/components/confirmation-box/confirmation-box.component\";\r\nimport { ApManagerDeleteApiConfirmComponent } from \"src/app/api-manager/ap-manager-delete-api-confirm/ap-manager-delete-api-confirm.component\";\r\nimport { WarningMemoBoxComponent } from \"src/app/shared/components/warning-memo-box/warning-memo-box.component\";\r\nimport { EarnPlanDetailsComponent } from \"src/app/user-plan/earn-plan-details/earn-plan-details.component\";\r\nimport { AccountUpgradeService } from \"src/app/account-upgrade/services/account-upgrade.service\";\r\nimport { UserSubscriptionPlan } from \"../../models/account-upgrade/subscription-plan-response\";\r\nimport { TermsAndConditionsComponent } from \"src/app/shared/components/terms-and-conditions/terms-and-conditions.component\";\r\nimport { UpdateMemoComponent } from \"src/app/recipient/update-memo/update-memo.component\";\r\nimport { CancelFeeComponent } from \"src/app/activity/cancel-fee/cancel-fee.component\";\r\nimport { CurrencyPairsComponent } from \"src/app/shared/components/currency-pairs/currency-pairs.component\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ModalService {\r\n constructor(private mdbModalService: MDBModalService, private upgradeService: AccountUpgradeService) { }\r\n\r\n /**\r\n * Open Login Component in a\r\n * Model\r\n */\r\n openMessageModal(title: string = \"\", body: string = \"\"): void {\r\n this.mdbModalService.show(MessageBoxComponent, {\r\n ignoreBackdropClick: true,\r\n data: {\r\n title,\r\n body,\r\n },\r\n class: \"modal-dialog-centered\",\r\n });\r\n }\r\n\r\n /**\r\n * Open Login Component in a\r\n * Model\r\n */\r\n openRecipientAddModal(\r\n name?: string,\r\n email?: string,\r\n symbol?: string,\r\n beneficiarytype?: string,\r\n addressType?: string\r\n ): void {\r\n this.upgradeService.getUserActionSubscriptionPlan().subscribe((data: UserSubscriptionPlan) => {\r\n // if (data) {\r\n this.mdbModalService.show(RecipientAddComponent, {\r\n class: \"sm-modal-width\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n userEmail: data?.email,\r\n userName: data?.name,\r\n symbol: symbol,\r\n beneficiarytype: beneficiarytype,\r\n currentUserPlanDetail: data,\r\n addressType: addressType\r\n },\r\n });\r\n // }\r\n });\r\n\r\n }\r\n\r\n openConfirmationModal(confirmBoxMesg: string): void {\r\n this.mdbModalService.show(ConfirmationBoxComponent, {\r\n class: \"sm-modal-width-box\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n mesg: confirmBoxMesg\r\n }\r\n });\r\n }\r\n\r\n openWarningModal(currency: string): void {\r\n this.mdbModalService.show(WarningMemoBoxComponent, {\r\n class: \"sm-modal-width-warning\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n currency: currency\r\n }\r\n });\r\n }\r\n\r\n openRecipientBrokerModal(beneficiarytype: string): void {\r\n this.upgradeService.getUserActionSubscriptionPlan().subscribe((data: UserSubscriptionPlan) => {\r\n if (data) {\r\n this.mdbModalService.show(RecipientAddComponent, {\r\n class: \"sm-modal-width\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n beneficiarytype: beneficiarytype,\r\n },\r\n });\r\n }\r\n });\r\n }\r\n /**\r\n * Open Login Component in a\r\n * Model\r\n */\r\n openPersonalModal(\r\n isBusiness?,\r\n isStaking?,\r\n stakingHeading?,\r\n stakingBody?\r\n ): void {\r\n this.mdbModalService.show(ReserveModalComponent, {\r\n class: \"sm-modal-width\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n isBusiness: isBusiness,\r\n isStaking: isStaking,\r\n stakingHeading: stakingHeading,\r\n stakingBody: stakingBody,\r\n },\r\n });\r\n }\r\n\r\n openCustomerAddModal(customer?): void {\r\n this.mdbModalService.show(AddCustomerModalComponent, {\r\n class: \"sm-modal-width\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n customer: customer,\r\n },\r\n });\r\n }\r\n\r\n openCustomerEditModal(customer: {\r\n selectedCustomer: ICustomer;\r\n isUploadKyc: boolean;\r\n }): void {\r\n this.mdbModalService.show(RecipientAddComponent, {\r\n class: \"sm-modal-width\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n customer: customer,\r\n userEmail: customer.selectedCustomer.email,\r\n userName: customer.selectedCustomer.firstName,\r\n },\r\n });\r\n }\r\n\r\n openTicketCreateModal(ledgerType?: number): void {\r\n this.mdbModalService.show(HelpdeskCreateTicketComponent, {\r\n ignoreBackdropClick: true,\r\n data: {\r\n selectedLedgerType: ledgerType,\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Open Bank Recipient Component in a\r\n * Model\r\n */\r\n openBankRecipientAddModal(): void {\r\n this.mdbModalService.show(RecipientAddBankaccountComponent, {\r\n ignoreBackdropClick: true,\r\n });\r\n }\r\n\r\n /**\r\n * Open Login Component in a\r\n * Model\r\n */\r\n attentionCancelTransfer(): void {\r\n this.mdbModalService.show(ActivityBalanceAttentionCancelTrasnferComponent, {\r\n ignoreBackdropClick: true,\r\n });\r\n }\r\n\r\n /**\r\n * Open business profile modal\r\n */\r\n openBusinessProfileModal(): void {\r\n this.mdbModalService.show(ProfileBusinessEditComponent, {\r\n class: \"profileModal\",\r\n ignoreBackdropClick: true,\r\n });\r\n }\r\n\r\n /**\r\n * Open send moeny password conformation model\r\n */\r\n openSendMoneySecurityConfirmation(): void {\r\n this.mdbModalService.show(FiatFlowPayAuthApprovalComponent, {\r\n ignoreBackdropClick: true,\r\n });\r\n }\r\n\r\n /**\r\n * Open send moeny password conformation model\r\n */\r\n openRecipentSkipRequiredPopup(): void {\r\n this.mdbModalService.show(FiatFlowPayApproveComponent, {\r\n ignoreBackdropClick: true,\r\n });\r\n }\r\n /**\r\n * Open send moeny password conformation model\r\n */\r\n openSendMoneyApprove(): void {\r\n this.mdbModalService.show(FiatFlowPayApproveComponent, {\r\n ignoreBackdropClick: true,\r\n });\r\n }\r\n\r\n /**\r\n * Open send moeny password conformation model\r\n */\r\n openSendMoneyAddRecipientBusiness(symbol?): void {\r\n this.mdbModalService.show(FiatFlowRecipientAddBusinessComponent, {\r\n ignoreBackdropClick: true,\r\n data: {\r\n symbol: symbol,\r\n },\r\n });\r\n }\r\n\r\n openActivityTransferDetail(data: any): void {\r\n this.mdbModalService.show(ActivityBalanceTransferDetailComponent, {\r\n ignoreBackdropClick: true,\r\n data: {\r\n detail: data,\r\n },\r\n });\r\n }\r\n\r\n confirmDeleteAPI(id: string): void {\r\n this.mdbModalService.show(ApManagerDeleteApiConfirmComponent, {\r\n ignoreBackdropClick: true,\r\n data: {\r\n apiId: id,\r\n }\r\n });\r\n }\r\n\r\n openEarnPlanDetailPopup(loyaltyPlanName: string, upgradeTo: string, balance: number, currencyId: string, symbol: string,\r\n fLexTerm: number, fixedTerm: number, earnUpto: number, longEarnUpTo: number, minFlexAmount: number,\r\n isFlexSubscribed: boolean, casBonus: number): void {\r\n this.mdbModalService.show(EarnPlanDetailsComponent, {\r\n class: \"sm-modal-earn-width-box\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n loyaltyPlanName: loyaltyPlanName,\r\n upgradeTo: upgradeTo,\r\n balance: balance,\r\n currencyId: currencyId,\r\n symbol: symbol,\r\n fLexTerm: fLexTerm,\r\n fixedTerm: fixedTerm,\r\n earnUpto: earnUpto,\r\n longEarnUpTo: longEarnUpTo,\r\n minFlexAmount: minFlexAmount,\r\n isFlexSubscribed: isFlexSubscribed,\r\n casBonus: casBonus\r\n }\r\n });\r\n }\r\n\r\n openTermsConditionPopup(content, ...imgSrc): void {\r\n this.mdbModalService.show(TermsAndConditionsComponent, {\r\n backdrop: false,\r\n ignoreBackdropClick: true,\r\n data: {\r\n info: content,\r\n imgSrc: imgSrc\r\n }\r\n });\r\n }\r\n /**\r\n * Open Update Memo in a\r\n * Model\r\n */\r\n openUpdateMemoModal(\r\n currency,\r\n currencyId,\r\n accountNumber,\r\n recipientId,\r\n networkTypeValue,\r\n networkTypeLabel\r\n ): void {\r\n this.mdbModalService.show(UpdateMemoComponent, {\r\n class: \"sm-modal-width\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n currency,\r\n currencyId,\r\n accountNumber,\r\n recipientId,\r\n networkTypeValue,\r\n networkTypeLabel\r\n },\r\n })\r\n\r\n }\r\n\r\n /**\r\n* Open Credit line\r\n* Model\r\n*/\r\n // openCreditLineModal(totalBalanceInUSD, totalCreditInUSD\r\n // ): void {\r\n // this.mdbModalService.show(CreditLineComponent, {\r\n // class: \"sm-modal-width\",\r\n // ignoreBackdropClick: true,\r\n // data: {\r\n // totalBalanceInUSD,\r\n // totalCreditInUSD\r\n // },\r\n // })\r\n\r\n // }\r\n\r\n showCancelFeeInfo(depositInterestId\r\n ): void {\r\n this.mdbModalService.show(CancelFeeComponent, {\r\n class: \"sm-modal-width\",\r\n ignoreBackdropClick: true,\r\n data: {\r\n depositInterestId\r\n },\r\n })\r\n }\r\n\r\n openCurrencyPair(currencyDetail): void {\r\n this.mdbModalService.show(CurrencyPairsComponent, {\r\n backdrop: false,\r\n ignoreBackdropClick: true,\r\n data: {\r\n currencyInfo: currencyDetail,\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { Location } from '@angular/common'\r\nimport { Router } from '@angular/router'\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NavigationService {\r\n constructor(private location: Location, private router: Router) {\r\n }\r\n back(): void {\r\n const state : any = this.location.getState();\r\n if (state && (state.navigationId === 1 || sessionStorage.getItem('isRedirect'))) {\r\n sessionStorage.removeItem('isRedirect');\r\n this.router.navigateByUrl(\"/activity\");\r\n } else {\r\n this.location.back();\r\n }\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { RATE_HUB } from \"src/app/app.constants\";\r\nimport { IMarketRate } from \"../../models/market-rate\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\n\r\ndeclare var $: JQueryStatic;\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class RateWebsocketService {\r\n /** rate websocket url */\r\n socketUrl = environment.rateWebsocket;\r\n\r\n /** proxy to websocket */\r\n proxy: SignalR.Hub.Proxy;\r\n\r\n /** market rate data */\r\n marketData: IMarketRate[] = [];\r\n\r\n /** Market data emitter */\r\n marketDataEmitter: BehaviorSubject = new BehaviorSubject<\r\n IMarketRate[]\r\n >([]);\r\n\r\n constructor() {}\r\n\r\n /**\r\n * Initiate connection to hub\r\n */\r\n initiateConnection(): void {\r\n const connection = $.hubConnection(this.socketUrl);\r\n this.proxy = connection.createHubProxy(RATE_HUB.HUB_NAME);\r\n\r\n connection\r\n .start()\r\n .then(() => {})\r\n .catch((err) => {\r\n return console.error(err);\r\n });\r\n\r\n this.listenToRateData();\r\n }\r\n\r\n /**\r\n * Listen to rate data websocket\r\n */\r\n listenToRateData(): void {\r\n this.proxy.on(RATE_HUB.DATA_PATH, (data: IMarketRate) => {\r\n const foundExisting = this.checkIfAlreadyExist(data);\r\n\r\n // if existing found, replace it\r\n if (foundExisting && foundExisting.Rate !== data.Rate) {\r\n const index = this.marketData.indexOf(foundExisting);\r\n this.marketData[index] = data;\r\n this.marketDataEmitter.next(this.marketData);\r\n } else if (!foundExisting) {\r\n this.marketData.push(data);\r\n this.marketDataEmitter.next(this.marketData);\r\n }\r\n // emit new data\r\n });\r\n }\r\n\r\n /**\r\n * check if market data already exist\r\n * @param data market data\r\n */\r\n checkIfAlreadyExist(data: IMarketRate): IMarketRate | undefined {\r\n const found = this.marketData\r\n .filter(\r\n (d) => d.From === data.From && d.To === data.To && d.side === data.side\r\n )\r\n .shift();\r\n\r\n return found;\r\n }\r\n\r\n /**\r\n * Get Market data emitter\r\n */\r\n getMarketDataEmitter(): Observable {\r\n return this.marketDataEmitter.asObservable();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { IUserBalance } from \"../../models/user-balance\";\r\nimport { IUserInterestList, IUserPlan, IUserPlanDetail, PlanDetails } from \"../../models/user-plan/user-detail\";\r\n\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class UserService {\r\n\r\n /** Api url */\r\n private apiUrl = environment.api;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n /**\r\n * Get User balance\r\n */\r\n getUserBalance(): Observable {\r\n return this.http.get(`${this.apiUrl}/balance`);\r\n }\r\n\r\n /**\r\n * Get IP Information of User\r\n */\r\n // getIpInfo(): Observable {\r\n // const header = new HttpHeaders({ \"No-Auth\": \"True\" });\r\n // return this.http.get(this.ipInfoUrl, {\r\n // headers: header,\r\n // });\r\n // }\r\n\r\n getPlanDetailsByCurrencyId(currencyId: string): Observable {\r\n return this.http.get(`${this.apiUrl}/userplan/getbycurrency?CurrencyId=${currencyId}`);\r\n }\r\n\r\n getUserPlanDetail(): Observable {\r\n return this.http.get(`${this.apiUrl}/userplan/getuserplandetails`);\r\n }\r\n\r\n getAllPlansDetails(): Observable {\r\n return this.http.get(`${this.apiUrl}/userplan/allplanlist`);\r\n }\r\n getInterestList(): Observable {\r\n return this.http.get(`${this.apiUrl}/userplan/getInterestList`);\r\n }\r\n getPlanList(): Observable {\r\n return this.http.get(`${this.apiUrl}/userplan/plannamelist`);\r\n }\r\n getFlexAndFdDetail(): Observable {\r\n return this.http.get(`${this.apiUrl}/activity/getflexandfddetails`);\r\n }\r\n\r\n subscribeUnsubscribe(\r\n currencyId: string\r\n ): Observable<{ statusCode: number; message: string }> {\r\n const payload = {\r\n currencyId: currencyId\r\n }\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/userplan/flexsubscribe`,\r\n payload\r\n );\r\n }\r\n\r\n getUserInfo(): Observable {\r\n return this.http.get(`${this.apiUrl}/users/getuserinfo`);\r\n }\r\n\r\n}\r\n","import { FormGroup, ValidatorFn } from \"@angular/forms\";\r\nimport { USER_NAME_ID } from \"src/app/app.constants\";\r\n\r\n/**\r\n * Validator utitlity for various\r\n * validations\r\n */\r\nexport class ValidatorUtility {\r\n constructor() { }\r\n\r\n /**\r\n * Get error message\r\n * @param validatorName validator name\r\n * @param validatorValue validator value\r\n */\r\n static GetValidatorErrorMessage(\r\n validatorName: string,\r\n validatorValue?: any\r\n ): string {\r\n const config = {\r\n required: \"Please fill out this field\",\r\n invalidEmailAddress: \"Invalid email address\",\r\n invalidPassword:\r\n \"Password should contain one lowercase, one uppercase, one special character, one number.\",\r\n invalidNumber: \"Must be a numeric Value\",\r\n invalidSwiftOrBic: \"Invalid SWIFT or BIC Code\",\r\n invalidIban: \"Invalid IBAN\",\r\n tagmaxlength: `Maximum length Must be 8`,\r\n tagminlength: `Minlength length Must be 8`,\r\n mobilemaxlength: `Maximum length Must be 10`,\r\n mobileminlength: `Invalid Phone Number`,\r\n max50: `Max words allowed is 50`,\r\n postalcode: `Minlength length Must be 4`,\r\n minlength: `Min length Must be ${validatorValue.requiredLength}`,\r\n maxlength: `Max length Must be ${validatorValue.requiredLength}`,\r\n min: `Min Value Must be ${validatorValue.min}`,\r\n max: `Max Value Must be ${validatorValue.max}`,\r\n isNumberExist: `This Numer is Already registered`,\r\n mustMatch: \"Password must match\",\r\n invalidUrl: \"Url is invalid\",\r\n invalidAddress: \"Invalid Address\",\r\n invalidFullName: `The sender name should match the registered KYC details.`,\r\n invalidIPAddress: `Invalid IP Address`,\r\n invalidLetter: `Must be Alphabet only`,\r\n invalidAlphanumeric: 'Must be Alphanumeric'\r\n\r\n };\r\n\r\n return config[validatorName];\r\n }\r\n\r\n /**\r\n * Required feild Validator\r\n * @param control form control\r\n */\r\n static Required(control): { [key: string]: boolean } | null {\r\n // RFC 2822 compliant regex\r\n if (control === null || control.value === null || control.value === \"\") {\r\n return {\r\n required: true,\r\n };\r\n } else if (control.value !== null || control.value.match(/\\S/)) {\r\n return null;\r\n } else {\r\n return {\r\n required: true,\r\n };\r\n }\r\n }\r\n /**\r\n * Required feild Validator\r\n * @param control form control\r\n */\r\n static MaxForConvert(max: number): ValidatorFn {\r\n return (control): { [key: string]: boolean } => {\r\n if (control.value === \".\") {\r\n return null;\r\n } else if (control.value) {\r\n let value = parseFloat(control.value.replaceAll(\",\", \"\"));\r\n if (value <= max) {\r\n return null;\r\n } else {\r\n return {\r\n max: true,\r\n };\r\n }\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Required feild Validator\r\n * @param control form control\r\n */\r\n static MinForConvert(min: number): ValidatorFn {\r\n return (control): { [key: string]: boolean } => {\r\n if (control.value === \".\") {\r\n return null;\r\n } else if (control.value) {\r\n let value = parseFloat(control.value.replaceAll(\",\", \"\"));\r\n if (value >= min) {\r\n return null;\r\n } else {\r\n return {\r\n min: true,\r\n };\r\n }\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Only number validator\r\n * @param control form control\r\n */\r\n static OnlyNumberRequired(control): { [key: string]: boolean } | null {\r\n const pattern = /^([0-9 +][0-9 +]*)$/;\r\n // RFC 2822 compliant regex\r\n if (control.value != null && pattern.test(control.value)) {\r\n return null;\r\n } else if (!control.value) {\r\n return null;\r\n } else {\r\n return {\r\n invalidNumber: true,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Only alphabet and number validator\r\n * @param control form control\r\n */\r\n static OnlyAphaNumericRequired(control): { [key: string]: boolean } | null {\r\n const pattern = /^([a-zA-Z0-9]*)$/;\r\n // RFC 2822 compliant regex\r\n if (control.value != null && pattern.test(control.value)) {\r\n return null;\r\n } else if (!control.value) {\r\n return null;\r\n } else {\r\n return {\r\n invalidAlphanumeric: true,\r\n };\r\n }\r\n }\r\n\r\n static ipValidation(control): { [key: string]: boolean } | null {\r\n const pattern = /^([0-9 .][0-9 .]*)$/;\r\n // RFC 2822 compliant regex\r\n if (control.value != null && pattern.test(control.value)) {\r\n return null;\r\n } else if (!control.value) {\r\n return null;\r\n } else {\r\n return {\r\n invalidNumber: true,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Only number validator\r\n * @param control form control\r\n */\r\n static OnlyNumberRequiredWithFormat(\r\n control\r\n ): { [key: string]: boolean } | null {\r\n const pattern = /^([0-9][0-9]*)$/;\r\n // RFC 2822 compliant regex\r\n if (\r\n control.value != null &&\r\n pattern.test(control.value.replaceAll(\",\", \"\"))\r\n ) {\r\n return null;\r\n } else if (control.value != null && !control.value.replaceAll(\",\", \"\")) {\r\n return null;\r\n } else {\r\n return {\r\n invalidNumber: true,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Only number validator\r\n * @param control form control\r\n */\r\n static IbanRegexGBP(control): { [key: string]: boolean } | null {\r\n const pattern = /^([A-Z]{2}[ \\-]?[0-9]{2})(?=(?:[ \\-]?[A-Z0-9]){9,30}$)((?:[ \\-]?[A-Z0-9]{3,5}){2,7})([ \\-]?[A-Z0-9]{1,3})?$/;\r\n\r\n // RFC 2822 compliant regex\r\n if (control.value != null && pattern.test(control.value)) {\r\n return null;\r\n } else {\r\n return {\r\n invalidIban: true,\r\n };\r\n }\r\n }\r\n /**\r\n * Only number validator\r\n * @param control form control\r\n */\r\n static IbanRegexEUR(control): { [key: string]: boolean } | null {\r\n const pattern = /^([A-Z]{2}[ \\-]?[0-9]{2})(?=(?:[ \\-]?[A-Z0-9]){9,30}$)((?:[ \\-]?[A-Z0-9]{3,5}){2,7})([ \\-]?[A-Z0-9]{1,3})?$/;\r\n // RFC 2822 compliant regex\r\n if (control.value != null && pattern.test(control.value)) {\r\n return null;\r\n } else {\r\n return {\r\n invalidIban: true,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Only number validator\r\n * @param control form control\r\n */\r\n static swiftOrBicRegex(control): { [key: string]: boolean } | null {\r\n const pattern = /^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$/;\r\n // RFC 2822 compliant regex\r\n if (control.value != null && pattern.test(control.value)) {\r\n return null;\r\n } else {\r\n return {\r\n invalidSwiftOrBic: true,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Only number validator\r\n * @param control form control\r\n */\r\n static postalcode(control): { [key: string]: boolean } | null {\r\n if (control.value && control.value.length >= 4) {\r\n return null;\r\n } else {\r\n return {\r\n postalcode: true,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Only number validator\r\n * @param control form control\r\n */\r\n static convertCas(control): { [key: string]: boolean } | null {\r\n if (control.value === \".\") {\r\n return null;\r\n } else if (control.value) {\r\n let val = parseFloat(control.value.replaceAll(\",\", \"\"));\r\n if (val != null && val % 10 === 0) {\r\n return null;\r\n } else {\r\n return {\r\n covertCasMultiplicative: true,\r\n };\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Only number validator\r\n * @param control form control\r\n */\r\n static mobilenumber(control): { [key: string]: boolean } | null {\r\n if (\r\n control.value &&\r\n control.value.match(/^([+]\\d{2})?\\d{3,13}$/)\r\n ) {\r\n return null;\r\n } else {\r\n return {\r\n mobileminlength: true,\r\n };\r\n }\r\n }\r\n /**\r\n * Only number validator\r\n * @param control form control\r\n */\r\n static max50(control): { [key: string]: boolean } | null {\r\n if (control.value != null && control.value.length <= 50) {\r\n return null;\r\n } else {\r\n return {\r\n max50: true,\r\n };\r\n }\r\n }\r\n /**\r\n * Email Validator\r\n * @param control form control\r\n */\r\n static EmailValidator(control): { [key: string]: boolean } | null {\r\n // RFC 2822 compliant regex\r\n if (\r\n control.value &&\r\n control.value.match(/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-_]+\\.[a-zA-Z.]{2,}$/)\r\n ) {\r\n return null;\r\n } else if (!control.value) {\r\n return null;\r\n } else {\r\n return {\r\n invalidEmailAddress: true,\r\n };\r\n }\r\n }\r\n\r\n static BitcoinAddressValidator(control): { [key: string]: boolean } | null {\r\n // RFC 2822 compliant regex\r\n if (\r\n control.value &&\r\n control.value.match(/^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,39}$/)\r\n ) {\r\n return null;\r\n } else if (!control.value) {\r\n return null;\r\n } else {\r\n return {\r\n invalidAddress: true,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Password Validator\r\n * @param control form control\r\n */\r\n static PasswordValidator(control): { [key: string]: boolean } | null {\r\n // {6,100} - Assert password is between 6 and 100 characters\r\n // (?=.*[0-9]) - Assert a string has at least one number\r\n if (\r\n control.value &&\r\n control.value.match(\r\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).{6,100}$/\r\n )\r\n ) {\r\n return null;\r\n } else {\r\n return {\r\n invalidPassword: true,\r\n };\r\n }\r\n }\r\n\r\n static AddressCASValidator(control): { [key: string]: boolean } | null {\r\n if (control.value && control.value.startsWith(\"bnb\")) {\r\n return null;\r\n } else if (!control.value) {\r\n return null;\r\n } else {\r\n return {\r\n invalidAddress: true,\r\n };\r\n }\r\n }\r\n\r\n static AddressETHUSDTValidator(control): { [key: string]: boolean } | null {\r\n if (control.value && control.value.startsWith(\"0x\")) {\r\n return null;\r\n } else if (!control.value) {\r\n return null;\r\n } else {\r\n return {\r\n invalidAddress: true,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Validator to check whether password\r\n * and confirm password match\r\n * @param controlName password\r\n * @param matchingControlName confirm password\r\n */\r\n static confirmPasswordValidator(\r\n controlName: string,\r\n matchingControlName: string\r\n ): ValidatorFn {\r\n return (form: FormGroup) => {\r\n const control = form.get(controlName);\r\n const matchingControl = form.get(matchingControlName);\r\n\r\n // return if another validator has already found an error on the matchingControl\r\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\r\n return null;\r\n }\r\n\r\n if (control.value !== matchingControl.value) {\r\n matchingControl.setErrors({ mustMatch: true });\r\n } else {\r\n matchingControl.setErrors(null);\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Url Validator\r\n * @param control form control\r\n */\r\n static UrlValidator(control): { [key: string]: boolean } | null {\r\n if (\r\n control.value && control.value.match(\r\n /^(http[s]?:\\/\\/){0,1}(www\\.){0,1}[a-zA-Z0-9\\.\\-]+\\.[a-zA-Z]{2,5}[\\.]{0,1}/\r\n )\r\n ) {\r\n return null;\r\n } else if (!control.value) {\r\n return null;\r\n } else {\r\n return {\r\n invalidUrl: true,\r\n };\r\n }\r\n }\r\n\r\n static fullNameValidator(control): { [key: string]: boolean } | null {\r\n const name = sessionStorage.getItem(USER_NAME_ID);\r\n if (!control.value || control.value.match(name)) {\r\n return null;\r\n } else {\r\n return {\r\n invalidFullName: true\r\n }\r\n }\r\n }\r\n\r\n static validateIPAddress(control): { [key: string]: boolean } | null {\r\n if (control.value && control.value.match(/^(?!0)(?!.*\\.$)((1?\\d?\\d|25[0-5]|2[0-4]\\d)(\\.|$)){4}$/)) {\r\n return null;\r\n } else if (!control.value) {\r\n return null;\r\n } else {\r\n return {\r\n invalidIPAddress: true\r\n }\r\n }\r\n }\r\n\r\n static letterValidator(control): { [key: string]: boolean } | null {\r\n if (!control.value || control.value.match(/[a-zA-Z]/)) {\r\n return null;\r\n } else {\r\n return {\r\n invalidLetter: true\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ICustomer } from 'src/app/core/models/recipient/recipient-add-usd';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\n\r\n@Component({\r\n selector: 'cashaa-add-customer-home',\r\n templateUrl: './add-customer-home.component.html',\r\n styleUrls: ['./add-customer-home.component.scss']\r\n})\r\nexport class AddCustomerHomeComponent implements OnInit {\r\n constructor(private modalService: ModalService) {}\r\n ngOnInit(): void {}\r\n\r\n /**\r\n * Open add recipient modal\r\n */\r\n addCustomer(): void {\r\n this.modalService.openRecipientBrokerModal(\"broker\");\r\n }\r\n\r\n editCustomer(data:{\r\n selectedCustomer: ICustomer;\r\n isUploadKyc: boolean;\r\n }) {\r\n this.modalService.openCustomerEditModal(data);\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
","import { Component, EventEmitter, OnInit, Output } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { IMyOptions, MDBModalRef } from \"ng-uikit-pro-standard\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n CUSTOMER_ADDED_SUCCESS,\r\n UNABLE_TO_PERFORM_ERROR,\r\n} from \"src/app/app.constants\";\r\nimport { ICurrency } from \"src/app/core/models/currency\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { ICustomer } from \"src/app/core/models/recipient/recipient-add-usd\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { CustomerService } from \"../services/customer.service\";\r\n\r\nconst addressdocumentTypes = require(\"../../../assets/json/addressProofDocumentType.json\");\r\nconst identitydocumentTypes = require(\"../../../assets/json/identityProofDocumentType.json\");\r\n\r\n@Component({\r\n selector: \"cashaa-add-cutomer-modal\",\r\n templateUrl: \"./add-customer-modal.component.html\",\r\n styleUrls: [\"./add-customer-modal.component.scss\"],\r\n})\r\nexport class AddCustomerModalComponent {\r\n public form: FormGroup;\r\n isInProgress = false;\r\n public currency: IFormSelect[] = [];\r\n public loading: boolean = false;\r\n public isFormEdit: boolean;\r\n public identityfile: File;\r\n public addressfile: File;\r\n public selfiefile: File;\r\n public addressProofOptions: IFormSelect[] = [];\r\n public identityProofOptions: IFormSelect[] = [];\r\n public selectedCustomer: ICustomer;\r\n currentCur: ICurrency;\r\n isLoading: boolean = false;\r\n customer;\r\n myDatePickerOptions: IMyOptions = {\r\n minYear: 1900,\r\n maxYear: 2099,\r\n };\r\n setInitialCurrencyValue;\r\n constructor(\r\n private fb: FormBuilder,\r\n private customerService: CustomerService,\r\n public modalRef: MDBModalRef,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.setInitialCurrencyValue = \"b87668f2-cb17-48a8-2535-08d7b39928d1\";\r\n this.isLoading = true;\r\n this.createForm();\r\n this.addressProofOptions = addressdocumentTypes;\r\n this.identityProofOptions = identitydocumentTypes;\r\n if (this.customer) {\r\n this.editCustomer(this.customer);\r\n } else {\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n });\r\n }\r\n this.form.valueChanges.subscribe((v) => {\r\n \r\n for (let control in this.form.controls) {\r\n if (this.form.controls[control].invalid) {\r\n \r\n }\r\n }\r\n });\r\n }\r\n\r\n onSubmit(customerData: ICustomer): void {\r\n this.isInProgress = true;\r\n if (this.isFormEdit) {\r\n const formData = new FormData();\r\n formData.append(\"CustomerId\", this.selectedCustomer.customerId);\r\n formData.append(\"selfie\", this.selfiefile);\r\n formData.append(\"identityProof\", this.identityfile);\r\n formData.append(\"addressProof\", this.addressfile);\r\n // formData.append(\"AccountNumber\", customerData.accountNumber);\r\n // formData.append(\"CustomerName\", customerData.customerName);\r\n // formData.append(\"BankCode\", customerData.bankCode);\r\n // formData.append(\"BankName\", customerData.bankName);\r\n // formData.append(\"DOB\", customerData.dob.toString());\r\n // formData.append(\"UserType\", customerData.userType.toString());\r\n // formData.append(\"Email\", customerData.email);\r\n // formData.append(\"Phone\", customerData.phone);\r\n // formData.append(\"RoutingNumber\", customerData.routingNumber);\r\n // formData.append(\"GoogleDriveUrl\", customerData.googleDriveUrl);\r\n // formData.append(\"CurrencyId\", customerData.currencyId);\r\n formData.append(\r\n \"identityDocumentType\",\r\n customerData.identityDocumentType\r\n );\r\n formData.append(\"addressDocumentType\", customerData.addressDocumentType);\r\n this.customerService.editCustomer(formData).subscribe(\r\n (res: any) => {\r\n if (res.status) {\r\n this.form.patchValue(\r\n {\r\n selfie: \"\",\r\n addressProof: \"\",\r\n identityProof: \"\",\r\n },\r\n {\r\n emitEvent: false,\r\n }\r\n );\r\n this.toastrService.success(CUSTOMER_ADDED_SUCCESS);\r\n this.isInProgress = false;\r\n this.form.reset();\r\n }\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n } else {\r\n // customerData.currencyId = this.currentCur.id;\r\n this.customerService.createCustomer(customerData).subscribe(\r\n (id: { statusCode: number; message: string }) => {\r\n if (id.message !== undefined) {\r\n this.modalRef.hide();\r\n this.isInProgress = false;\r\n this.form.reset();\r\n this.customerService.emitLoadingStatus(true);\r\n this.customerService.emitCustomerAdd(true);\r\n this.form.patchValue(\r\n {\r\n selfie: \"\",\r\n addressProof: \"\",\r\n identityProof: \"\",\r\n },\r\n {\r\n emitEvent: false,\r\n }\r\n );\r\n }\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n currencyId: [\"\", [ValidatorUtility.Required]],\r\n customerName: [\"\", [ValidatorUtility.Required, Validators.maxLength(50)]],\r\n accountNumber: [\r\n \"\",\r\n [ValidatorUtility.Required, Validators.maxLength(20)],\r\n ],\r\n bankCode: [\"\", [ValidatorUtility.Required]],\r\n bankName: [\"\", [ValidatorUtility.Required]],\r\n email: [\"\", [ValidatorUtility.Required]],\r\n phone: [\"\", [ValidatorUtility.Required]],\r\n dob: [\"\", [Validators.required]],\r\n routingNumber: [\"\"],\r\n googleDriveLink: [\"\"],\r\n identityProof: [\"\"],\r\n addressProof: [\"\"],\r\n identityDocumentType: [\"\"],\r\n addressDocumentType: [\"\"],\r\n selfie: [\"\"],\r\n userType: [\"4\", [Validators.required]],\r\n });\r\n }\r\n\r\n onFileChange(event, control): void {\r\n if (event.target.files.length > 0) {\r\n if (control === \"selfie\") {\r\n this.selfiefile = event.target.files[0];\r\n } else if (control === \"addressProof\") {\r\n this.addressfile = event.target.files[0];\r\n } else if (control === \"identityProof\") {\r\n this.identityfile = event.target.files[0];\r\n }\r\n const file = event.target.files[0];\r\n this.selfiefile = event.target.files[0];\r\n this.form.patchValue({\r\n control: file,\r\n });\r\n }\r\n }\r\n\r\n onFromDateChange(data: any): void {}\r\n\r\n editCustomer(data: any) {\r\n this.isFormEdit = data.isUploadKyc;\r\n this.selectedCustomer = data.selectedCustomer;\r\n this.setInitialCurrencyValue = data.selectedCustomer.currencyId;\r\n this.form.get(\"userType\").setValue(data.selectedCustomer.userType);\r\n this.form.get(\"customerName\").setValue(data.selectedCustomer.customerName);\r\n this.form.get(\"bankCode\").setValue(data.selectedCustomer.bankCode);\r\n this.form.get(\"dob\").setValue(data.selectedCustomer.dob);\r\n this.form.get(\"accountNumber\").setValue(data.selectedCustomer.accountNumber);\r\n this.form.get(\"phone\").setValue(data.selectedCustomer.phone);\r\n this.form.get(\"routingNumber\").setValue(data.selectedCustomer.routingNumber);\r\n this.form.get(\"email\").setValue(data.selectedCustomer.email);\r\n this.form.get(\"bankName\").setValue(data.selectedCustomer.bankName);\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 1000);\r\n }\r\n\r\n onCurrencyChange(cur: ICurrency): void {\r\n if (cur.symbol === \"USD\") {\r\n this.form.controls[\"routingNumber\"].setValidators(Validators.required);\r\n } else {\r\n this.form.controls[\"routingNumber\"].clearValidators();\r\n }\r\n this.form.controls[\"routingNumber\"].updateValueAndValidity();\r\n this.form.updateValueAndValidity({ onlySelf: true });\r\n\r\n this.currentCur = cur;\r\n this.form.patchValue(\r\n {\r\n currencyId: cur.id,\r\n },\r\n {\r\n emitEvent: false,\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n \r\n

Add Beneficiary/Customer

\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
","import { Component, EventEmitter, OnInit, Output } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { IMyOptions } from \"ng-uikit-pro-standard\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { ICurrency } from \"src/app/core/models/currency\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { ICustomer } from \"src/app/core/models/recipient/recipient-add-usd\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { RecipientService } from \"src/app/recipient/services/recipient.service\";\r\nimport { SubSink } from \"subsink\";\r\nimport { CustomerService } from \"../services/customer.service\";\r\n\r\nconst customerType = require(\"../../../assets/json/customerType.json\");\r\nconst addressdocumentTypes = require(\"../../../assets/json/addressProofDocumentType.json\");\r\nconst identitydocumentTypes = require(\"../../../assets/json/identityProofDocumentType.json\");\r\n\r\n@Component({\r\n selector: \"cashaa-add-cutomer\",\r\n templateUrl: \"./add-customer.component.html\",\r\n styleUrls: [\"./add-customer.component.scss\"],\r\n})\r\nexport class AddCustomerComponent implements OnInit {\r\n public customerDetail: ICustomer[] = [];\r\n loading: boolean = false;\r\n subsink = new SubSink();\r\n constructor(\r\n private customerService: CustomerService,\r\n private toastrService: ToastrService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loadCustomerDetails();\r\n this.updateCustomerView();\r\n this.subsink.add(this.customerService.getDeleteRecipientFlagEmitter().subscribe((res) => {\r\n if (res) {\r\n this.loadCustomerDetails();\r\n }\r\n }));\r\n }\r\n\r\n updateCustomerView() {\r\n this.customerService.getCustomerAdd().subscribe((data: boolean) => {\r\n if (data) {\r\n this.loadCustomerDetails();\r\n }\r\n });\r\n }\r\n\r\n loadCustomerDetails(): void {\r\n this.loading = true;\r\n this.customerService.getAllCustomers().subscribe(\r\n (customerData: ICustomer[]) => {\r\n this.customerDetail = customerData;\r\n this.loading = false;\r\n },\r\n (err) => {\r\n this.loading = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this.subsink.unsubscribe();\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n Your customers ({{ customerDetail?.length }})\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { FiatService } from \"src/app/fiat/services/fiat.service\";\r\nimport {\r\n CUSTOMER_DELETED_SUCCESS,\r\n KYC_VERIFACTION_MESG,\r\n RECIPIENT_DELETED_SUCCESS,\r\n UNABLE_TO_PERFORM_ERROR,\r\n} from \"src/app/app.constants\";\r\nimport { BrokerStatus } from \"src/app/core/enums/broker-status.enum\";\r\nimport { IResendKYC, ResendKYC } from \"src/app/core/models/customer/customer\";\r\nimport { ICustomer } from \"src/app/core/models/recipient/recipient-add-usd\";\r\nimport { CustomerService } from \"../services/customer.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { CommonSavedData } from \"src/app/shared/services/commonSavedData.service\";\r\nimport { RecipientService } from \"src/app/recipient/services/recipient.service\";\r\nimport { RecipientDelete } from \"src/app/core/models/fIat/recipients\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"cashaa-customer-details\",\r\n templateUrl: \"./customer-details.component.html\",\r\n styleUrls: [\"./customer-details.component.scss\"],\r\n})\r\nexport class CustomerDetailsComponent implements OnInit {\r\n @Input() public data: ICustomer;\r\n isloading: boolean = false;\r\n isloadingKYC: boolean[] = [];\r\n @Output() customer = new EventEmitter<{\r\n selectedCustomer: ICustomer;\r\n isUploadKyc: boolean;\r\n }>();\r\n sub: Subscription;\r\n timerFlag = {};\r\n timerStart = {};\r\n timerTime = {};\r\n disableBtn = {};\r\n verificationClickCount = {};\r\n\r\n constructor(\r\n private customerService: CustomerService,\r\n private toastrService: ToastrService,\r\n private fiatService: FiatService,\r\n private commonSavedData: CommonSavedData,\r\n private recipientService: RecipientService,\r\n private modalService: ModalService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n // this.loadCustomerDetails();\r\n\r\n // this.customerService.getCustomerAdd().subscribe((data: boolean) => {\r\n // if (data) {\r\n // this.loadCustomerDetails();\r\n // }\r\n // });\r\n }\r\n\r\n // loadCustomerDetails(): void {\r\n // this.isloading = true;\r\n // this.customerService.getAllCustomers().subscribe(\r\n // (customerData: ICustomer[]) => {\r\n // this.data = customerData;\r\n // this.isloading = false;\r\n // },\r\n // (err) => {\r\n // this.isloading = false;\r\n // if (err.error.message) {\r\n // this.toastrService.error(err.error.message);\r\n // } else {\r\n // this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n // }\r\n // }\r\n // );\r\n // }\r\n\r\n editCustomer(editCustomer: ICustomer): void {\r\n this.modalService.openCustomerEditModal({ selectedCustomer: editCustomer, isUploadKyc: false });\r\n }\r\n\r\n removeCustomer(editCustomer: ICustomer): void {\r\n this.modalService.openConfirmationModal(\"Do you want to delete the recipient?\");\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n if (status) {\r\n editCustomer.isOperationCompleted = true;\r\n let recipientDelete = new RecipientDelete(editCustomer.customerId);\r\n this.recipientService.deleteRecipient(recipientDelete).subscribe((res) => {\r\n editCustomer.isOperationCompleted = false;\r\n if (res.message === \"success\") {\r\n this.customerService.emitDeleteRecipientFlag(true);\r\n this.toastrService.success(CUSTOMER_DELETED_SUCCESS);\r\n } else {\r\n this.toastrService.error(\"Please try again!\");\r\n }\r\n }, (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n editCustomer.isOperationCompleted = false;\r\n });\r\n }\r\n this.sub.unsubscribe();\r\n });\r\n }\r\n\r\n resendKYC(customerId: string, currency: string, i): void {\r\n this.isloadingKYC[i] = true;\r\n this.fiatService.verifyRecipient(customerId, currency).subscribe(\r\n (flag) => {\r\n if (flag.message) {\r\n this.isloadingKYC[i] = false;\r\n this.timerTime[i] = 60;\r\n this.timerFlag[i] = true;\r\n this.timerStart[i] = true;\r\n if (isNaN(this.verificationClickCount[i])) {\r\n this.verificationClickCount[i] = 1;\r\n } else {\r\n this.verificationClickCount[i]++;\r\n }\r\n this.toastrService.success(KYC_VERIFACTION_MESG);\r\n }\r\n },\r\n (err) => {\r\n this.isloadingKYC[i] = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n uploadDoc(customer: ICustomer): void {\r\n this.customer.emit({ selectedCustomer: customer, isUploadKyc: true });\r\n }\r\n\r\n getResendLinkStatus(customer: ICustomer): boolean {\r\n return customer.status === BrokerStatus.PENDING &&\r\n !(customer.failedCount > 3 || customer.count > 3)\r\n ? true\r\n : false;\r\n }\r\n\r\n getEditStatus(customer: ICustomer): boolean {\r\n return customer.status === BrokerStatus.APPROVED ||\r\n customer.status === BrokerStatus.REJECTED\r\n ? false\r\n : true;\r\n }\r\n\r\n getUploadDocStatus(customer: ICustomer): boolean {\r\n return customer.status === BrokerStatus.PENDING &&\r\n (customer.failedCount > 3 || customer.count > 3)\r\n ? true\r\n : false;\r\n }\r\n\r\n getStatus(status: number) {\r\n return BrokerStatus[status];\r\n }\r\n\r\n getNameInitials(): string {\r\n if (this.data) {\r\n let splitName = this.data.currency === 'USD' ? this.data.firstName.concat('').concat(this.data.middleName).concat(' ').concat(this.data.lastName).trim().split(\" \") : this.data.firstName.trim().split(\" \");\r\n switch (splitName.length) {\r\n case 1:\r\n return (splitName[0][0] + splitName[0][1]).toUpperCase();\r\n case 2:\r\n return (splitName[0][0] + splitName[1][0]).toUpperCase();\r\n case 3:\r\n return (splitName[0][0] + splitName[2][0]).toUpperCase();\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n timerExpire(i): void {\r\n if (this.verificationClickCount[i] < 3) {\r\n this.timerFlag[i] = false;\r\n this.timerStart[i] = false;\r\n } else {\r\n this.disableBtn[i] = true;\r\n this.timerStart[i] = false;\r\n }\r\n }\r\n\r\n onSendClick(currency: string): void {\r\n this.router.navigateByUrl(`/fiat?c=${currency}&recipientType=${this.data.recipientType}`);\r\n }\r\n\r\n onReceiveClick(currency: string): void {\r\n this.router.navigateByUrl(`/deposit?c=${currency}&recipientType=${this.data.recipientType}`);\r\n }\r\n}\r\n\r\n","\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {{ getNameInitials() }}\r\n \r\n
\r\n
\r\n {{data.currency === 'USD' ?\r\n data.firstName.concat('\r\n ').concat(data.middleName).concat(' ').concat(data.lastName) : data.firstName}}\r\n
\r\n {{data.currency |uppercase}} account ending in\r\n {{\r\n data?.currency === 'USD' ? data?.accountNumber?.substr(data?.accountNumber?.length - 4)\r\n : data?.accountNo?.substr(data?.accountNo?.length - 4)\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Summary
\r\n {{data.currency |uppercase}} account ending in\r\n {{\r\n data?.currency === 'USD' ? data?.accountNumber?.substr(data?.accountNumber?.length -\r\n 4) : data?.accountNo?.substr(data?.accountNo?.length - 4)\r\n }}\r\n
\r\n\r\n
\r\n Account holder name
\r\n {{data.currency === 'USD' ? data.firstName.concat('\r\n ').concat(data.middleName).concat(' ').concat(data.lastName) : data.firstName}}\r\n
\r\n
\r\n
\r\n
\r\n Account number
\r\n {{data.currency === 'USD' ? data.accountNumber :\r\n data.accountNo}}\r\n
\r\n
\r\n Status
\r\n {{getStatus(data.status)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nimport { AddCustomerHomeComponent } from \"./add-customer-home/add-customer-home.component\";\r\nimport { AddCustomerComponent } from './add-customer/add-customer.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"add-customer\",\r\n component: AddCustomerHomeComponent,\r\n canActivate: [AuthGuardService],\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\n\r\nexport class CustomerRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CustomerRoutingModule } from \"./customer-routing.module\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { AddCustomerComponent } from \"./add-customer/add-customer.component\";\r\nimport { CustomerDetailsComponent } from \"./customer-details/customer-details.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { AddCustomerModalComponent } from \"./add-customer-modal/add-customer-modal.component\";\r\nimport { AddCustomerHomeComponent } from './add-customer-home/add-customer-home.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AddCustomerComponent,\r\n CustomerDetailsComponent,\r\n AddCustomerModalComponent,\r\n AddCustomerHomeComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ToastrModule.forRoot(),\r\n SharedModule,\r\n ReactiveFormsModule,\r\n CustomerRoutingModule,\r\n ],\r\n})\r\nexport class CustomerModule {}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable, Subject } from \"rxjs\";\r\nimport { IResendKYC } from \"src/app/core/models/customer/customer\";\r\nimport { ICustomer } from \"src/app/core/models/recipient/recipient-add-usd\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CustomerService {\r\n private apiUrl = environment.api;\r\n private isLoading = new BehaviorSubject(false);\r\n private customerAddFlag = new BehaviorSubject(false);\r\n private deleteRecipientFlg = new Subject();\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n createCustomer(\r\n customer: ICustomer\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/broker/create`,\r\n customer\r\n );\r\n }\r\n\r\n getAllCustomers(): Observable {\r\n return this.http.get(`${this.apiUrl}/broker/getCustomers`);\r\n }\r\n\r\n resendKYC(\r\n customerId: IResendKYC\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/broker/sendkycverificationlink`,\r\n customerId\r\n );\r\n }\r\n\r\n emitLoadingStatus(loadingStatus: boolean): void {\r\n this.isLoading.next(loadingStatus);\r\n }\r\n emitCustomerAdd(customerAdd: boolean): void {\r\n this.customerAddFlag.next(customerAdd);\r\n }\r\n\r\n getCustomerAdd(): Observable {\r\n return this.customerAddFlag.asObservable();\r\n }\r\n\r\n getLoadingStatus(): Observable {\r\n return this.isLoading.asObservable();\r\n }\r\n\r\n editCustomer(formData: FormData): Observable {\r\n return this.http.post(`${this.apiUrl}/recipients/editbroker`, formData);\r\n }\r\n\r\n editCustomerUSD(formData: FormData): Observable {\r\n return this.http.post(`${this.apiUrl}/recipients/editbrokerusd`, formData);\r\n }\r\n\r\n emitDeleteRecipientFlag(flag: boolean): void {\r\n this.deleteRecipientFlg.next(flag);\r\n }\r\n\r\n getDeleteRecipientFlagEmitter(): Observable {\r\n return this.deleteRecipientFlg.asObservable();\r\n }\r\n}\r\n","import { AfterContentInit, Component, ElementRef, EventEmitter, Inject, OnInit, Output, QueryList, Renderer2, ViewChild, ViewChildren } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { USER_INTEREST_MODE, WALLET_CURRENCY } from 'src/app/app.constants';\r\nimport { CurrencyType } from 'src/app/core/enums/currencyType';\r\nimport { ICurrency } from 'src/app/core/models/currency';\r\nimport { CreateDepositPlan, ICreateDepositPlan, IDepositInterestPlan } from 'src/app/core/models/deposit-interest/deposit-interest';\r\nimport { DomainService } from 'src/app/core/services/domain/domain.service';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { ValidatorUtility } from 'src/app/core/utility/validator.utility';\r\nimport { DepositService } from 'src/app/deposit/services/deposit.service';\r\nimport { ReferralService } from 'src/app/referral/services/referral.service';\r\nimport { DepositInterestService } from '../service/deposit-interest.service';\r\n\r\n@Component({\r\n selector: 'cashaa-deposit-interest-amount',\r\n templateUrl: './deposit-interest-amount.component.html',\r\n styleUrls: ['./deposit-interest-amount.component.scss']\r\n})\r\nexport class DepositInterestAmountComponent implements OnInit{\r\n\r\n //width:any;\r\n progressBarWidth = \"width: 0%\";\r\n customMobApp\r\n sendCurrencySymbol: string;\r\n form: FormGroup;\r\n fiatCurrencies = [\"CUSD\", \"CGBP\", \"CEUR\", \"CSGD\", \"CAUD\", \"CCNH\", \"CCAD\", \"CCHF\", \"CNZD\", \"CJPY\"];\r\n loading: boolean = false;\r\n sendCurrency;\r\n sendMoneyCurrency: string;\r\n interestPlanList: IDepositInterestPlan[] = [];\r\n validInterestPlan: IDepositInterestPlan[] = [];\r\n conditionsAccepted: boolean = false;\r\n hideCas: boolean = false;\r\n setInitialCurrencyValue: string;\r\n defaultSelectedInkind = true;\r\n minAmount: number;\r\n showMonthlyMessage = false;\r\n @Output() continue = new EventEmitter();\r\n currencyBalance = 0;\r\n depositInterest;\r\n interestType: number;\r\n feeSlabLesserThan365 = false;\r\n feeSlabGreaterThan365 = false;\r\n cancelFeeDetails = [];\r\n clienttype?:number;\r\n totalUsdPoolSize?:number;\r\n elementRef: ElementRef;\r\n selectedPlanName:string;\r\n // prematureWithdrawl = [{percentage: '25%', time: 'First Year', desc: 'Any interest given will be also adjusted from principle'},\r\n // {percentage: '15%', time: 'Second Year', desc: 'Any interest given will be also adjusted from principle'},\r\n // {percentage: '10%', time: 'Third Year', desc: 'Any interest given will be also adjusted from principle'}];\r\n // feeFDCancellation = [{percentage: '5%', duration: '0-3'},{percentage: '3%', duration: '3-6'},\r\n // {percentage: '2%', duration: '9-12'}]\r\n constructor(@Inject(ElementRef) elementRef: ElementRef,private renderer: Renderer2,private fb: FormBuilder, private depositService: DepositInterestService, private domainService: DomainService,\r\n private activatedRoute: ActivatedRoute, private referralService: ReferralService, private modalService: ModalService, private router: Router) {\r\n this.createForm();\r\n this.elementRef = elementRef;\r\n this.setMode();\r\n }\r\n @ViewChildren(\"itemElement\") private itemElements: QueryList;\r\n ngOnInit(): void {\r\n \r\n this.getGivenCurrency();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n \r\n \r\n}\r\n\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n sendercurrencyId: [\"\", [ValidatorUtility.Required]],\r\n senderAmount: [\"\", [ValidatorUtility.Required]],\r\n rateType: [\"2\", ValidatorUtility.Required],\r\n planName: [\"\", ValidatorUtility.Required]\r\n // interestType: [\"\", ValidatorUtility.Required]\r\n })\r\n this.listenToCurrencyChange();\r\n this.listenToInterestPlanChange();\r\n\r\n }\r\n\r\n listenToCurrencyChange(): void {\r\n this.form.controls.sendercurrencyId.valueChanges.subscribe(() => {\r\n this.form.controls.senderAmount.setValue(0);\r\n this.form.controls.planName.setValue(\"\");\r\n // this.radioOptionToShow = [];\r\n // this.feeSlabLesserThan365 = false;\r\n // this.feeSlabGreaterThan365 = false;\r\n this.cancelFeeDetails = [];\r\n });\r\n }\r\n\r\n getAmount(): boolean {\r\n // let amount: number = Number(this.form.controls.senderAmount.value.replaceAll(\",\", \"\"));\r\n let amount: number = Number(this.form.controls.senderAmount.value.replaceAll(\",\", \"\"));\r\n return amount > 0 ? true : false;\r\n }\r\n\r\n listenToInterestPlanChange(): void {\r\n this.form.controls.rateType.valueChanges.subscribe((value) => {\r\n this.loading = true;\r\n // this.feeSlabLesserThan365 = false;\r\n // this.feeSlabGreaterThan365 = false;\r\n this.cancelFeeDetails = [];\r\n this.interestPlanList = this.validInterestPlan.filter((plan) => plan.rateType.toString() === value);\r\n \r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 5000)\r\n });\r\n }\r\n\r\n getGivenCurrency(): void {\r\n this.activatedRoute.queryParamMap.subscribe((val) => {\r\n let currency = val.get(\"c\");\r\n if (currency) {\r\n this.sendMoneyCurrency = val.get(\"cur\");\r\n if (this.sendMoneyCurrency) {\r\n currency = this.sendMoneyCurrency;\r\n }\r\n let found: ICurrency[];\r\n this.domainService\r\n .getCurrenciesList(CurrencyType.all)\r\n .subscribe((list) => {\r\n if (currency) {\r\n found = list.currencies.filter((c) => c.symbol === currency);\r\n if (found.length > 0) {\r\n this.form.controls.sendercurrencyId.setValue(found[0].id);\r\n } else {\r\n found = list.currencies.filter(\r\n (c) => c.symbol === WALLET_CURRENCY.GBP\r\n );\r\n if (found.length > 0) {\r\n this.setInitialCurrencyValue = found[0].id;\r\n this.form.controls.sendercurrencyId.setValue(found[0].id);\r\n }\r\n }\r\n } else {\r\n found = list.currencies.filter(\r\n (c) => c.symbol === WALLET_CURRENCY.GBP\r\n );\r\n if (found.length > 0) {\r\n this.form.controls.sendercurrencyId.setValue(found[0].id);\r\n }\r\n }\r\n // this.loadInterestDepositPlan(found[0].id)\r\n });\r\n }\r\n });\r\n }\r\n\r\n onsendCurrencyChangeEvent(data: ICurrency): void {\r\n this.selectedPlanName = \"\";\r\n \r\n let toFix = 0;\r\n if (this.fiatCurrencies.includes(data.symbol)) {\r\n toFix = 2;\r\n } else {\r\n toFix = 4;\r\n }\r\n this.form.patchValue(\r\n {\r\n senderAmount: parseInt(this.form.controls.senderAmount.value).toFixed(\r\n toFix\r\n ),\r\n },\r\n {\r\n emitEvent: false,\r\n onlySelf: true\r\n }\r\n );\r\n this.sendCurrencySymbol = data.symbol;\r\n this.sendCurrency = data;\r\n this.loadInterestDepositPlan(data.id);\r\n if (data.symbol === 'CAS') {\r\n this.hideCas = true;\r\n } else {\r\n this.hideCas = false;\r\n }\r\n }\r\n\r\n loadInterestDepositPlan(currencyId: string): void {\r\n this.loading = true;\r\n this.depositService.getDepositInterestPlan(currencyId).subscribe((data: IDepositInterestPlan[]) => {\r\n if (data.length > 0) {\r\n this.minAmount = data[0].minAmount;\r\n this.activatedRoute.queryParamMap.subscribe((param) => {\r\n this.validInterestPlan = this.interestPlanList = data.filter((plan) => plan.isActive && plan.isDefault);\r\n });\r\n // this.validInterestPlan = this.interestPlanList = data.filter((plan) => plan.isActive && plan.isDefault);\r\n this.interestPlanList = this.validInterestPlan.filter(plan => plan.rateType == (this.sendCurrencySymbol === 'CAS' ? 1 : this.form.controls[\"rateType\"].value));\r\n } else {\r\n this.interestPlanList = [];\r\n this.validInterestPlan = [];\r\n \r\n // this.radioOptionToShow = [];\r\n }\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 1000)\r\n });\r\n }\r\n\r\n onContinue(): void {\r\n this.fixedDepositCalculator();\r\n }\r\n\r\n setMode() {\r\n this.defaultSelectedInkind = !this.defaultSelectedInkind;\r\n this.selectedPlanName = \"\";\r\n const rateType = this.form.get('rateType').value;\r\n if (rateType === '1') {\r\n this.form.get('rateType').setValue('2');\r\n } else {\r\n this.form.get('rateType').setValue('1');\r\n }\r\n }\r\n\r\n getSelectedOption(selectedItem) {\r\n \r\n this.showMonthlyMessage = false;\r\n \r\n this.form.patchValue({ planName: selectedItem.id });\r\n this.interestType = selectedItem.interestOptType\r\n \r\n this.cancelFeeDetails = selectedItem.cancelFeeDetails;\r\n this.clienttype= selectedItem?.clientType;\r\n this.selectedPlanName = selectedItem.id;\r\n this.totalUsdPoolSize= selectedItem?.totalUsdPoolSize;\r\n\r\n let percentage=((100*this.totalUsdPoolSize)/selectedItem?.maxUsdPoolSize) as number;\r\n percentage=percentage<1?1:percentage;\r\n this.progressBarWidth=\"width: \"+percentage+\"%\";\r\n\r\n this.itemElements.changes.subscribe(() => {\r\n \r\n const htmlElement = document.getElementById(\"for_tooltip\");\r\n htmlElement.textContent=\"$\"+selectedItem?.totalUsdPoolSize;\r\n htmlElement.style.left=Math.round(percentage-4)+\"%\";\r\n \r\n \r\n });\r\n\r\n\r\n\r\n //angular.element('.className').css('color','#DBCLOR');\r\n\r\n // this.progressBarWidth=progressBarWidth\r\n // if(selectedItem.duration > 365) {\r\n // this.feeSlabLesserThan365 = false;\r\n // this.feeSlabGreaterThan365 = true;\r\n\r\n // } else {\r\n // this.feeSlabLesserThan365 = true;\r\n // this.feeSlabGreaterThan365 = false;\r\n // }\r\n\r\n this.customMobApp = selectedItem.rate == 2.5 && selectedItem.planName == \"3 Month Term\"? true : false;\r\n \r\n\r\n }\r\n\r\n getCurrencyBalance(balance) {\r\n this.currencyBalance = balance;\r\n if (this.currencyBalance <= 0) {\r\n this.form.controls.senderAmount.disable();\r\n } else {\r\n this.form.controls.senderAmount.enable();\r\n }\r\n }\r\n fixedDepositCalculator() {\r\n let selectedPlan = this.form.controls[\"planName\"].value;\r\n const plan: IDepositInterestPlan = this.validInterestPlan.filter(plan => plan.id === selectedPlan)[0];\r\n let createDepositInterest: ICreateDepositPlan = new CreateDepositPlan(this.form.controls[\"senderAmount\"].value, plan, this.conditionsAccepted,\r\n this.interestType);\r\n this.depositInterest = createDepositInterest;\r\n this.referralService.getFixedDepositCalculationInterest(this.form.value, this.depositInterest.depositData.rate, this.depositInterest.depositData.currency, this.interestType, this.depositInterest.depositData.duration).subscribe((res: any) => {\r\n createDepositInterest.depositData['interestEarned'] = res.interestEarned;\r\n createDepositInterest.depositData['interestEarnedCurrency'] = res.interestEarnedCurrency;\r\n createDepositInterest['bonus'] = res.bonus;\r\n this.continue.next(createDepositInterest);\r\n \r\n })\r\n }\r\n\r\n cancelFixedDeposit() {\r\n this.modalService.showCancelFeeInfo('')\r\n }\r\n\r\n goToPlan(): void {\r\n this.router.navigateByUrl(\"/plans\");\r\n}\r\n\r\n aboveTemplate = `
Top Template
`;\r\n\r\n}","
\r\n
\r\n

\r\n How much would you like to deposit for interest?\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Interest Mode\r\n
\r\n
\r\n
\r\n Earn in Kind \r\n \r\n Earn in CAS\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n 0\" [noInput]='true' [form]=\"form\" class=\"width-100\"\r\n [dropdownInfoList]=\"interestPlanList\" [currencyControl]=\"form.controls.planName\" label=\"Plan Name\"\r\n source=\"wallet\" (changed)=\"getSelectedOption($event)\">\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n No Plan Found\r\n
\r\n
\r\n \r\n
\r\n
\r\n
0\" class=\"d-flex mt-4 p-2 mb-4 justify-content-between\">\r\n \r\n Auto Renew\r\n \r\n
\r\n \r\n \r\n
0\" class=\"\">Cancellation Fee is based on duration and your loyalty level\r\n
\r\n
\r\n
\r\n
0;else other \">{{info.feeInPercent}}%{{info.discountFee}}%
\r\n \r\n
{{info.feeInPercent}}%
\r\n
\r\n
{{ info.duration }}
\r\n
\r\n
\r\n
\r\n
*Any interest given will be also adjusted from principle.
\r\n
\r\n Cancel fixed deposit\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n

Total pool size $2.5 Million

\r\n

$ 0.9M

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n $0M\r\n $0.5M\r\n $1M\r\n $1.5M\r\n $2M\r\n $2.5M\r\n
\r\n
\r\n
\r\n
\r\n

Download the Cashaa App

\r\n \r\n
\r\n \r\n
\r\n \"\"\r\n

Scan to Download the Cashaa App

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { APP_ROUTES, DEPOSIT_INTEREST_SUCCESS } from 'src/app/app.constants';\r\nimport { RateType } from 'src/app/core/enums/rateTypeEnum';\r\nimport { DepositPlan, ICreateDepositPlan } from 'src/app/core/models/deposit-interest/deposit-interest';\r\nimport { DepositInterestService } from '../service/deposit-interest.service';\r\n\r\n@Component({\r\n selector: 'cashaa-deposit-interest-confirm',\r\n templateUrl: './deposit-interest-confirm.component.html',\r\n styleUrls: ['./deposit-interest-confirm.component.scss']\r\n})\r\nexport class DepositInterestConfirmComponent implements OnInit {\r\n loading: boolean = false;\r\n conditionsAccepted: boolean = false;\r\n confirmData: ICreateDepositPlan;\r\n @Input() set createPlanData(data: ICreateDepositPlan) {\r\n if (data) {\r\n this.confirmData = data;\r\n this.setEndDate(data);\r\n }\r\n }\r\n currentDate = new Date();\r\n endDate: Date = new Date();\r\n rateType = RateType;\r\n constructor(private depositService: DepositInterestService, private toasterService: ToastrService, private router: Router) { }\r\n ngOnInit(): void {\r\n }\r\n\r\n submit(): void {\r\n this.loading = true;\r\n const depositPlan = new DepositPlan(Number(this.confirmData.amount.replace(/\\,/gi, \"\")), this.confirmData.depositData.id, this.confirmData.depositData.rate, this.confirmData.isAutoRenew, Number(this.confirmData.interestOptType));\r\n this.depositService.createDepositPlan(depositPlan).subscribe(data => {\r\n if (data.statusCode === 200) {\r\n this.loading = false;\r\n this.toasterService.success(DEPOSIT_INTEREST_SUCCESS);\r\n this.router.navigateByUrl(APP_ROUTES.ACTIVITY_BASE);\r\n }\r\n }, (err: HttpErrorResponse) => {\r\n this.loading = false;\r\n this.toasterService.error(err.error.message);\r\n })\r\n }\r\n\r\n setEndDate(data: ICreateDepositPlan): void {\r\n this.endDate.setDate(this.currentDate.getDate() + data.depositData.duration);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n Does everything look right?\r\n
\r\n
\r\n
\r\n

You're depositing

\r\n
\r\n \r\n {{confirmData.amount}} {{confirmData.depositData.currency}}\r\n \r\n
\r\n
\r\n
\r\n

Start Date

\r\n
\r\n {{currentDate | date: \"MMM d, yyyy\"}}\r\n
\r\n
\r\n
\r\n

End Date

\r\n
\r\n {{endDate | date: \"MMM d, yyyy\"}}\r\n
\r\n
\r\n
\r\n

Plan Name

\r\n
\r\n {{confirmData.depositData.planName}}\r\n
\r\n
\r\n
\r\n

Interest Rate Type

\r\n
\r\n {{rateType[confirmData.depositData.rateType].split('In').join('In ')}}\r\n
\r\n
\r\n\r\n
\r\n

Interest Rate

\r\n
\r\n {{confirmData.depositData.rate}}\r\n
\r\n
\r\n
\r\n

Estimated Earn

\r\n
\r\n \r\n ≈ {{confirmData.depositData.interestEarned}}\r\n {{confirmData.depositData.interestEarnedCurrency}}\r\n \r\n
Based on current CAS price
\r\n \r\n \r\n
\r\n
\r\n

{{confirmData.bonus.text}}

\r\n
\r\n \"\"\r\n {{confirmData.bonus.amount}} {{confirmData.bonus.currency}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n I accept the\r\n \r\n Terms of\r\n Use\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MdbStepperComponent } from 'ng-uikit-pro-standard';\r\nimport { ICreateDepositPlan } from 'src/app/core/models/deposit-interest/deposit-interest';\r\nimport { NavigationService } from 'src/app/core/services/navigation/navigation.service';\r\n\r\n@Component({\r\n selector: 'cashaa-deposit-interest-home',\r\n templateUrl: './deposit-interest-home.component.html',\r\n styleUrls: ['./deposit-interest-home.component.scss']\r\n})\r\nexport class DepositInterestHomeComponent implements OnInit {\r\n @ViewChild(\"stepper\", { static: true }) stepper: MdbStepperComponent;\r\n constructor(private navigationService: NavigationService) { }\r\n createPlan: ICreateDepositPlan;\r\n ngOnInit(): void {\r\n }\r\n\r\n onAmount(event: ICreateDepositPlan): void {\r\n this.createPlan = event;\r\n this.stepper.next();\r\n }\r\n\r\n backRoute(): void {\r\n this.navigationService.back();\r\n }\r\n\r\n}\r\n","\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuardService } from '../core/services/auth-guard/auth-guard.service';\r\nimport { EarnGuardService } from '../core/services/earn-guard/earn-guard.service';\r\nimport { DepositInterestHomeComponent } from './deposit-interest-home/deposit-interest-home.component';\r\n\r\n\r\nconst routes: Routes = [{\r\n path: \"deposit-interest\",\r\n component: DepositInterestHomeComponent,\r\n canActivate: [AuthGuardService],\r\n}];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class DepositInterestRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { DepositInterestRoutingModule } from './deposit-interest-routing.module';\r\nimport { DepositInterestAmountComponent } from './deposit-interest-amount/deposit-interest-amount.component';\r\nimport { DepositInterestHomeComponent } from './deposit-interest-home/deposit-interest-home.component';\r\nimport { DepositInterestConfirmComponent } from './deposit-interest-confirm/deposit-interest-confirm.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MDBBootstrapModulesPro } from 'ng-uikit-pro-standard';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [DepositInterestAmountComponent, DepositInterestHomeComponent, DepositInterestConfirmComponent],\r\n imports: [\r\n CommonModule,\r\n DepositInterestRoutingModule,\r\n ReactiveFormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n SharedModule,\r\n FormsModule\r\n ]\r\n})\r\nexport class DepositInterestModule { }\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { IDepositPlan, IDepositInterestPlan, ICancelAutoRenewal, CancelFee } from 'src/app/core/models/deposit-interest/deposit-interest';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DepositInterestService {\r\n\r\n private apiUrl = environment.api;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getDepositInterestPlan(currencyId: string): Observable {\r\n return this.http.get(`${this.apiUrl}/depositinterest/getbycurrency?CurrencyId=${currencyId}`);\r\n }\r\n // getAllCurrencyDepositInterest(): Observable {\r\n // return this.http.get(`${this.apiUrl}/depositinterest/getDefault`);\r\n // }\r\n getAllCurrencyDepositInterest(): Observable {\r\n return this.http.get(`${this.apiUrl}/depositinterest/getfddefaultlist`);\r\n }\r\n getByDepositFDCurrency(currencyId: string): Observable {\r\n return this.http.get(`${this.apiUrl}/depositinterest/getfdbycurrency?CurrencyId=${currencyId}`);\r\n }\r\n createDepositPlan(plan: IDepositPlan): Observable<{ statusCode: number, message: string }> {\r\n return this.http.post<{ statusCode: number, message: string }>(`${this.apiUrl}/depositinterest/create`, plan);\r\n }\r\n\r\n cancelAutoRenewal(cancel: ICancelAutoRenewal) {\r\n return this.http.post<{ statusCode: number, message: string }>(`${this.apiUrl}/depositinterest/update/autorenewinterestplan`, cancel);\r\n }\r\n cancelFixedDeposit(cancel: ICancelAutoRenewal) {\r\n return this.http.post<{ statusCode: number, message: string }>(`${this.apiUrl}/depositinterest/cancelfixeddeposit`, cancel);\r\n }\r\n getCancelFee(depositInterestId) {\r\n return this.http.get(`${this.apiUrl}/depositinterest/getfdcanceldetails?depositInterestId=${depositInterestId}`);\r\n }\r\n}\r\n","import { ICurrency } from \"./../../core/models/currency\";\r\nimport { DepositService } from \"./../services/deposit.service\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport {\r\n CreateDepositAmount,\r\n IDepositAmount,\r\n} from \"src/app/core/models/deposit\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { SubSink } from \"subsink\";\r\nimport { SUBSCRIPTION_BUSINESS_PLAN, SUBSCRIPTION_PERSONAL_PLAN, USER_ID, USER_TYPE } from \"src/app/app.constants\";\r\nimport { environment } from \"./../../../environments/environment\";\r\nimport { UserSubscriptionPlan } from \"src/app/core/models/account-upgrade/subscription-plan-response\";\r\nimport { AccountUpgradeService } from \"src/app/account-upgrade/services/account-upgrade.service\";\r\nimport { RecipientType } from \"src/app/core/enums/recipientTypeEnum\";\r\nimport { FiatService } from \"src/app/fiat/services/fiat.service\";\r\nimport { FiatRecipient } from \"src/app/core/models/fIat/fiat-pay\";\r\nimport { IFiatSendFees } from \"src/app/core/models/fiat-send\";\r\nimport { param } from \"jquery\";\r\n\r\n\r\n@Component({\r\n selector: \"cashaa-deposit-amount\",\r\n templateUrl: \"./deposit-amount.component.html\",\r\n styleUrls: [\"./deposit-amount.component.scss\"],\r\n})\r\nexport class DepositAmountComponent implements OnInit, OnDestroy {\r\n form: FormGroup;\r\n\r\n fee = 0;\r\n\r\n currentCur: ICurrency;\r\n\r\n fiatCurrency: ICurrency[] = [];\r\n\r\n setCurrency;\r\n\r\n userId = sessionStorage.getItem(USER_ID);\r\n\r\n userType = sessionStorage.getItem(USER_TYPE)\r\n\r\n enableGBP = environment.whiteListUserId;\r\n\r\n @Output() continue = new EventEmitter();\r\n @Output() hideAddSender = new EventEmitter();\r\n\r\n initialValue;\r\n\r\n subsink = new SubSink();\r\n\r\n currencySource: string = \"deposit\";\r\n\r\n errorMessage: string;\r\n\r\n isGBPActive: boolean = true;\r\n\r\n currentUserPlanDetail: UserSubscriptionPlan;\r\n\r\n isPremiumPlan: boolean = true;\r\n\r\n feesData: IFiatSendFees;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private depositService: DepositService,\r\n private domainService: DomainService,\r\n private activateRoute: ActivatedRoute,\r\n private upgradeService: AccountUpgradeService,\r\n private fiatService: FiatService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n // if (this.userType === '4') {\r\n // this.isGBPActive = false;\r\n // this.initialValue = \"2633816a-dc95-4015-2536-08d7b39928d1\";\r\n // } else {\r\n // this.isGBPActive = false;\r\n // this.initialValue = \"2633816a-dc95-4015-2536-08d7b39928d1\";\r\n // }\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n let activeCur = params[\"cur\"];\r\n this.initialValue = activeCur.id\r\n });\r\n \r\n this.createForm();\r\n this.activateRoute.queryParams.subscribe(param => {\r\n if(param && param.recipientType){\r\n if(param.recipientType === '2'){\r\n this.hideAddSender.emit('true');\r\n }\r\n if(param.recipientType === '0'){\r\n param.recipientType = '1';\r\n }\r\n this.form.get('recipientType').setValue(param.recipientType);\r\n }\r\n })\r\n this.subsink.add(\r\n this.domainService\r\n .getFiatCurrency()\r\n .subscribe((currency: ICurrency[]) => {\r\n if (currency !== undefined) {\r\n this.fiatCurrency = currency;\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n let activeCur = params[\"cur\"];\r\n if (\r\n (activeCur === \"EUR\" ||\r\n activeCur === \"USD\" ||\r\n activeCur === \"GBP\") &&\r\n this.fiatCurrency.length > 0\r\n ) {\r\n const curData = this.fiatCurrency.filter(\r\n (cur) => cur.symbol === activeCur\r\n );\r\n this.initialValue = curData[0].id;\r\n this.currentCur = curData[0];\r\n }\r\n });\r\n }\r\n })\r\n );\r\n\r\n this.subsink.add(\r\n this.depositService.getDepositStatus().subscribe((data) => {\r\n if (data) {\r\n this.form.reset();\r\n this.errorMessage = null;\r\n // if (this.userType === '4') {\r\n // this.isGBPActive = false;\r\n // this.initialValue = \"2633816a-dc95-4015-2536-08d7b39928d1\";\r\n // } else {\r\n // this.isGBPActive = false;\r\n // this.initialValue = \"2633816a-dc95-4015-2536-08d7b39928d1\";\r\n // }\r\n this.form.patchValue({\r\n currency: this.currentCur.id,\r\n recipientType: \"1\"\r\n });\r\n setTimeout(() => {\r\n this.initialValue = null;\r\n this.errorMessage = null;\r\n }, 1000);\r\n }\r\n })\r\n );\r\n setTimeout(() => {\r\n this.initialValue = null;\r\n this.errorMessage = null;\r\n }, 1000);\r\n\r\n this.subsink.add(this.upgradeService.getUserActionSubscriptionPlan().subscribe((data: UserSubscriptionPlan) => {\r\n this.currentUserPlanDetail = data;\r\n }));\r\n\r\n this.subsink.add(this.form.controls[\"recipientType\"].valueChanges.subscribe((val) => {\r\n if (Number(val) === RecipientType.Others) {\r\n this.hideAddSender.emit('true');\r\n if (this.userType === '4') {\r\n if (SUBSCRIPTION_PERSONAL_PLAN.BASIC === this.currentUserPlanDetail.planName) {\r\n this.isPremiumPlan = false;\r\n }\r\n } else {\r\n if (SUBSCRIPTION_BUSINESS_PLAN.BASIC === this.currentUserPlanDetail.planName) {\r\n this.isPremiumPlan = false;\r\n }\r\n }\r\n\r\n } else {\r\n this.hideAddSender.emit('false');\r\n this.isPremiumPlan = true;\r\n }\r\n if (val) {\r\n this.getFee(this.currentCur.symbol === 'EUR' ? 1 : this.currentCur.symbol === 'GBP' ? 4: Number(this.form.get('deliveryMechanism').value), Number(val));\r\n }\r\n }));\r\n this.subsink.add(this.form.controls[\"deliveryMechanism\"].valueChanges.subscribe((val) => {\r\n if (val) {\r\n this.getFee(Number(val), Number(this.form.controls.recipientType.value));\r\n }\r\n }));\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n currency: [\"\", [ValidatorUtility.Required]],\r\n amount: [\r\n \"\",\r\n [\r\n ValidatorUtility.Required,\r\n ValidatorUtility.OnlyNumberRequiredWithFormat,\r\n ],\r\n ],\r\n recipientType: [\"1\"],\r\n deliveryMechanism: []\r\n });\r\n this.listenToCurrencyChange();\r\n }\r\n\r\n getFee(deliveryMechanism: number, recipientType: number): void {\r\n if (deliveryMechanism && recipientType) {\r\n this.depositService.getFiatSendFees(this.currentCur.symbol, 2, deliveryMechanism, 2,\r\n Number(this.userType === '6' ? '5' : this.userType), recipientType).subscribe((data: IFiatSendFees) => {\r\n this.feesData = data;\r\n let amount = Number(this.form.controls.amount.value.replaceAll(\",\", \"\"));\r\n if (amount) {\r\n if ((amount * this.feesData.feeInPercent) > this.feesData.minimumFee) {\r\n this.fee = amount * this.feesData.feeInPercent;\r\n } else {\r\n this.fee = this.feesData.minimumFee;\r\n }\r\n }\r\n this.showErrorMsg();\r\n });\r\n }\r\n }\r\n\r\n listenToCurrencyChange(): void {\r\n this.subsink.add(this.form.controls.currency.valueChanges.subscribe((newValue) => {\r\n const deposit = new CreateDepositAmount(\r\n this.form.controls.currency.value,\r\n this.form.controls.amount.value,\r\n 0,\r\n this.currentCur.symbol === 'EUR' ? 1 : this.currentCur.symbol === 'GBP' ? 4: Number(this.form.get('deliveryMechanism').value)\r\n );\r\n this.depositService.emitDepositAmount(deposit);\r\n }));\r\n this.subsink.add(this.form.controls.amount.valueChanges.subscribe((newValue) => {\r\n this.showErrorMsg();\r\n }));\r\n this.subsink.add(this.form.controls.deliveryMechanism.valueChanges.subscribe((newValue) => {\r\n this.showErrorMsg();\r\n }));\r\n }\r\n\r\n showErrorMsg() {\r\n if(this.feesData && this.feesData.minSendAmount) {\r\n let value = this.form.controls.amount.value;\r\n if (value) {\r\n let amount = Number(value.replaceAll(\",\", \"\"))\r\n if (amount < this.feesData.minSendAmount) {\r\n this.errorMessage = \"Minimum deposit amount is \" +this.feesData.minSendAmount + \" \" + this.currentCur.symbol;\r\n \r\n } else {\r\n this.errorMessage = null;\r\n }\r\n if ((amount * this.feesData.feeInPercent) > this.feesData.minimumFee) {\r\n this.fee = amount * this.feesData.feeInPercent;\r\n } else {\r\n this.fee = this.feesData.minimumFee;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onContinue(): void {\r\n let achAndWire = Number(this.form.get('deliveryMechanism').value);\r\n const data: IDepositAmount = {\r\n amount: +this.form.controls.amount.value.replaceAll(\",\", \"\"),\r\n currency: this.form.controls.currency.value,\r\n fee: this.fee,\r\n deliveryMech: this.currentCur.symbol === 'EUR' ? 1 : this.currentCur.symbol === 'GBP' ? 4: Number(this.form.get('deliveryMechanism').value),\r\n symbol: this.currentCur.symbol,\r\n option: achAndWire === 2 ? 3 : 4,\r\n recipientType: this.form.get('recipientType').value\r\n\r\n };\r\n this.depositService.emitDepositAmount(data);\r\n this.fiatService.emitCurrencySymbolEmitter(new FiatRecipient(data.symbol, undefined, Number(this.form.get('recipientType').value)))\r\n this.continue.emit(this.form.get('recipientType').value);\r\n }\r\n\r\n onCurrencyChange(cur: ICurrency): void {\r\n this.currentCur = cur;\r\n this.form.patchValue(\r\n {\r\n currency: cur.id,\r\n },\r\n {\r\n emitEvent: false,\r\n }\r\n );\r\n\r\n this.form.controls.deliveryMechanism.setValue(undefined);\r\n if (cur.symbol === 'USD') {\r\n this.form.controls.deliveryMechanism.setValidators(ValidatorUtility.Required);\r\n } else {\r\n this.form.controls.deliveryMechanism.clearValidators();\r\n }\r\n this.form.controls.deliveryMechanism.updateValueAndValidity();\r\n this.getFee(this.currentCur.symbol === 'EUR' ? 1 :this.currentCur.symbol === 'GBP' ? 4: Number(this.form.get('deliveryMechanism').value), Number(this.form.controls.recipientType.value));\r\n }\r\n\r\n getAmount(): boolean {\r\n let amount: number = Number(this.form.controls.amount.value.replaceAll(\",\", \"\"));\r\n return amount-this.fee > 0 ? true: false;\r\n }\r\n\r\n // isDeliveryMechanismSelected() {\r\n // console.log(this.form.controls.deliveryMechanism.value);\r\n // if(this.form.controls.deliveryMechanism.value) {\r\n // return this.form.controls.deliveryMechanism.value ? true : false;\r\n // } else {\r\n // return true;\r\n // }\r\n // }\r\n\r\n ngOnDestroy() {\r\n this.subsink.unsubscribe();\r\n }\r\n}\r\n","
\r\n

\r\n How much do you want to deposit?\r\n

\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n *Do you want to receive money from someone else? \r\n \r\n Click here to upgrade.\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ errorMessage\r\n }}\r\n \r\n
\r\n \r\n
\r\n
0\">\r\n

\r\n Fee\r\n \r\n

\r\n

\r\n £$\r\n {{ fee | number }}\r\n

\r\n \r\n
\r\n
\r\n

Net amount you will deposit

\r\n

\r\n £$\r\n {{ +form?.controls?.amount?.value.replaceAll(',','') + fee | number: \"0.0-4\" }}\r\n

\r\n
\r\n
\r\n\r\n \r\n
","import { IDepositAmount, IDepositDetail } from \"./../../core/models/deposit\";\r\nimport { DepositService } from \"./../services/deposit.service\";\r\nimport { Component, OnInit, Output, EventEmitter } from \"@angular/core\";\r\nimport { AccountUpgradeService } from \"src/app/account-upgrade/services/account-upgrade.service\";\r\nimport { KycService } from \"src/app/kyc/services/kyc.service\";\r\nimport { USER_TYPE } from \"src/app/app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-deposit-detail\",\r\n templateUrl: \"./deposit-detail.component.html\",\r\n styleUrls: [\"./deposit-detail.component.scss\"],\r\n})\r\nexport class DepositDetailComponent implements OnInit {\r\n @Output() continue = new EventEmitter();\r\n\r\n @Output() back = new EventEmitter();\r\n\r\n @Output() resetAll = new EventEmitter();\r\n\r\n depositData: IDepositAmount;\r\n\r\n bankDetail: IDepositDetail;\r\n\r\n loader = false;\r\n\r\n isKycDone = false;\r\n\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n\r\n constructor(private depositService: DepositService,\r\n private kycService: KycService,\r\n private upgardeService: AccountUpgradeService) {}\r\n\r\n ngOnInit(): void {\r\n this.depositService.getDepositAmountEmitter().subscribe((data) => {\r\n if (data && data.currency) {\r\n this.depositData = data;\r\n this.getBankDetail();\r\n }\r\n });\r\n if (this.userType === '4') {\r\n this.getKycDetail();\r\n } else {\r\n this.getBusinessKycDetail();\r\n }\r\n }\r\n\r\n getBankDetail(): void {\r\n // this.loader = true;\r\n this.depositService\r\n .getBankDetail(this.depositData.currency, this.depositData.recipientType)\r\n .subscribe((res) => {\r\n this.bankDetail = res;\r\n this.depositService.emitDepositDetails(this.bankDetail);\r\n this.loader = false;\r\n });\r\n }\r\n\r\n onContinue(): void {\r\n this.continue.emit();\r\n }\r\n\r\n onBack(): void {\r\n this.back.emit();\r\n }\r\n\r\n onReset(): void {\r\n this.resetAll.emit();\r\n }\r\n\r\n getKycDetail(): void {\r\n this.loader = true;\r\n this.kycService.getKycDetails().subscribe((res) => {\r\n if (res) {\r\n this.loader = false;\r\n if (res.verified) {\r\n this.isKycDone = true;\r\n } \r\n }\r\n },(err) => {\r\n this.loader = false;\r\n });\r\n }\r\n\r\n getBusinessKycDetail(): void {\r\n this.upgardeService.usdStatus().subscribe(\r\n (flag) => {\r\n if (flag.status === 5) {\r\n this.isKycDone = true;\r\n } \r\n this.loader = false;\r\n },\r\n (err) => {\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n Our bank details for this transfer\r\n
\r\n
\r\n Call up bank's telephone banking and make a payment\r\n
\r\n
\r\n How to pay from your bank account\r\n
\r\n\r\n
\r\n \r\n

\r\n Important: The name on the bank account you are depositing from must\r\n match the name entered for verification in your Cashaa account you are\r\n depositing into.\r\n

\r\n

\r\n Warning: \r\n In order to deposit funds, complete your KYC by clicking here.\r\n \r\n \r\n In order to deposit funds, complete your KYC by clicking here.\r\n \r\n

\r\n
\r\n

Bank Transfer Details

\r\n
\r\n
\r\n \r\n

{{ bankDetail?.payeeName }}

\r\n
\r\n
\r\n \r\n

\r\n \r\n {{ bankDetail?.referanceNumber}}\r\n

\r\n

\r\n {{ bankDetail?.referanceNumber}}\r\n

\r\n

\r\n {{ bankDetail?.referanceNumber}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

0; else zeroFee\">\r\n £€\r\n ${{depositData?.amount | number: \"0.0-4\"}} +\r\n £€\r\n ${{depositData?.fee }} (fee) = \r\n £€\r\n ${{depositData?.amount + depositData?.fee | number: \"0.0-4\"}}\r\n

\r\n \r\n

\r\n £€\r\n ${{depositData?.amount - depositData?.fee | number: \"0.0-4\"}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n

{{ bankDetail?.iban }}

\r\n
\r\n
\r\n \r\n

{{ bankDetail?.accountNumber }}

\r\n
\r\n
\r\n \r\n

{{bankDetail?.otherCountryWalletId}}

\r\n
\r\n
\r\n \r\n

{{ bankDetail?.accountNumber }}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n

{{ bankDetail?.sortCode}}

\r\n
\r\n \r\n
\r\n \r\n

{{ bankDetail?.bankCode}}

\r\n
\r\n
\r\n
\r\n \r\n

{{ bankDetail?.sortCode }}

\r\n
\r\n
\r\n \r\n

\r\n {{ bankDetail?.bankName }}\r\n

\r\n
\r\n
\r\n \r\n

\r\n {{ bankDetail?.address1 }} {{ bankDetail?.address2 }}\r\n {{ bankDetail?.address3 }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
","import { IDepositHistory } from \"./../../core/models/deposit\";\r\nimport { DepositService } from \"./../services/deposit.service\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { IDepositHistoryPayload } from \"src/app/core/models/deposit\";\r\n\r\n@Component({\r\n selector: \"cashaa-deposit-history\",\r\n templateUrl: \"./deposit-history.component.html\",\r\n styleUrls: [\"./deposit-history.component.scss\"],\r\n})\r\nexport class DepositHistoryComponent implements OnInit {\r\n pendingList: IDepositHistory[] = [];\r\n\r\n acceptedList: IDepositHistory[] = [];\r\n\r\n constructor(private depositService: DepositService) {}\r\n\r\n ngOnInit(): void {\r\n this.depositService.getDepositAmountEmitter().subscribe((data) => {\r\n if (data && data.currency) {\r\n this.getPendingHistory(data.currency);\r\n this.getAcceptedHistory(data.currency);\r\n } else {\r\n this.getAllHistoryPending();\r\n this.getAllHistoryAccepted();\r\n }\r\n });\r\n }\r\n\r\n getPendingHistory(currency: string): void {\r\n const data: IDepositHistoryPayload = {\r\n currencyId: currency,\r\n status: 1,\r\n };\r\n\r\n this.depositService.getDepositHistory(data).subscribe((res) => {\r\n this.pendingList = res;\r\n });\r\n }\r\n\r\n getAcceptedHistory(currency: string): void {\r\n const data: IDepositHistoryPayload = {\r\n currencyId: currency,\r\n status: 2,\r\n };\r\n\r\n this.depositService.getDepositHistory(data).subscribe((res) => {\r\n this.acceptedList = res;\r\n });\r\n }\r\n\r\n getAllHistoryPending(): void {\r\n const data: IDepositHistoryPayload = {\r\n currencyId: \"\",\r\n status: 1,\r\n };\r\n\r\n this.depositService.getDepositHistory(data).subscribe((res) => {\r\n this.pendingList = res;\r\n });\r\n }\r\n\r\n getAllHistoryAccepted(): void {\r\n const data: IDepositHistoryPayload = {\r\n currencyId: \"\",\r\n status: 2,\r\n };\r\n\r\n this.depositService.getDepositHistory(data).subscribe((res) => {\r\n this.acceptedList = res;\r\n });\r\n }\r\n}\r\n","\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

\r\n {{ item.depositDate | date: \"MMM\" }}\r\n

\r\n

\r\n {{ item.depositDate | date: \"dd\" }}\r\n

\r\n
\r\n
\r\n

\r\n Received {{ item.currency }}\r\n

\r\n

{{ item.transactionId }}

\r\n
\r\n
\r\n

\r\n +{{ item.amount | number: \"0.2\" }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

\r\n {{ item.depositDate | date: \"MMM\" }}\r\n

\r\n

\r\n {{ item.depositDate | date: \"dd\" }}\r\n

\r\n
\r\n
\r\n

\r\n Deposited {{ item.currency }}\r\n

\r\n

To {{ item.bankName }}

\r\n
\r\n
\r\n

\r\n +{{ item.amount | number: \"0.2\" }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n","import { MdbStepperComponent } from \"ng-uikit-pro-standard\";\r\nimport { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { DepositService } from \"../services/deposit.service\";\r\nimport { NavigationService } from \"src/app/core/services/navigation/navigation.service\";\r\nimport { FiatService } from \"src/app/fiat/services/fiat.service\";\r\nimport { Recipient } from \"src/app/core/models/fIat/recipients\";\r\nimport { FiatTransactionType } from \"src/app/core/enums/fiat-transaction-type\";\r\n\r\n@Component({\r\n selector: \"cashaa-deposit-home\",\r\n templateUrl: \"./deposit-home.component.html\",\r\n styleUrls: [\"./deposit-home.component.scss\"],\r\n})\r\nexport class DepositHomeComponent implements OnInit {\r\n @ViewChild(\"stepper\") stepper: MdbStepperComponent;\r\n\r\n completed = false;\r\n hideSenderStepper: boolean;\r\n recipientType: string;\r\n resetRecData: Recipient = {id: \"\",name: \"\", currency: \"\", accountNumber: \"\", iban: \"\",\r\n sortCode: \"\" , fiatAddressDetailsId: \"\", isrecipientSkiped: false,typeName: \"\",recipientType: \"\" \r\n, type: FiatTransactionType.SCAN};\r\n constructor(private depositService: DepositService,\r\n private navigationService: NavigationService, private fiatService: FiatService) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n continueAmount(event): void {\r\n this.recipientType = event;\r\n this.resetRecData['recipientType'] = this.recipientType;\r\n this.fiatService.emitFiatRecipientdData(this.resetRecData);\r\n this.stepper.next();\r\n }\r\n\r\n continue(): void {\r\n this.stepper.next();\r\n }\r\n hideSender(event) {\r\n if(event === 'true'){\r\n this.hideSenderStepper = true;\r\n } else {\r\n this.hideSenderStepper = false;\r\n }\r\n }\r\n\r\n back(): void {\r\n this.stepper.previous();\r\n }\r\n\r\n reset(): void {\r\n if (this.completed) {\r\n this.depositService.emitDepositStatus(true);\r\n }\r\n this.resetRecData['recipientType'] = '';\r\n this.fiatService.emitFiatRecipientdData(this.resetRecData);\r\n this.completed = false;\r\n this.stepper.resetAll();\r\n }\r\n\r\n complete(): void {\r\n this.completed = true;\r\n }\r\n\r\n backRoute() {\r\n this.navigationService.back();\r\n }\r\n}\r\n","\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n All done! we're just waiting for your money now\r\n
\r\n \r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { USER_EMAIL_PATH, USER_NAME_ID } from 'src/app/app.constants';\r\nimport { IFiatRecipient } from 'src/app/core/models/fIat/fiat-pay';\r\nimport { IRecipient } from 'src/app/core/models/fIat/recipients';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { FiatService } from 'src/app/fiat/services/fiat.service';\r\nimport { SubSink } from 'subsink';\r\n\r\n@Component({\r\n selector: 'cashaa-deposit-recipient',\r\n templateUrl: './deposit-recipient.component.html',\r\n styleUrls: ['./deposit-recipient.component.scss']\r\n})\r\nexport class DepositRecipientComponent implements OnInit {\r\n\r\n recipients: IRecipient[];\r\n selectedRecipients: IRecipient[];\r\n symbol: string;\r\n loading = false;\r\n @Input() selected: IRecipient\r\n @Input() set skipped(status: boolean) {\r\n if (status) {\r\n this.selectRecipients(this.selected);\r\n }\r\n }\r\n\r\n /** on continue click */\r\n @Output() continue = new EventEmitter();\r\n\r\n subSink = new SubSink();\r\n\r\n constructor(\r\n private fiatService: FiatService,\r\n private modalService: ModalService,\r\n private router: Router\r\n ) {}\r\nrecipientType : number;\r\n ngOnInit(): void {\r\n this.getCurrencySymbol();\r\n }\r\n\r\n /**\r\n * Get recipient list\r\n */\r\n getRecipientList(symbol: string, network: number, recipientType: number): void {\r\n this.loading = true;\r\n this.recipientType = recipientType;\r\n this.subSink.add(this.fiatService.getRecipents(symbol, network, recipientType).subscribe((recipentsListData) => {\r\n this.loading = false;\r\n if (recipentsListData) {\r\n this.recipients = recipentsListData;\r\n }\r\n }));\r\n }\r\n\r\n /**\r\n * on some recipient is selected\r\n * Selected recipient\r\n */\r\n selectRecipients(recipient: IRecipient): void {\r\n this.fiatService.emitFiatRecipientdData(recipient);\r\n this.continue.emit();\r\n }\r\n\r\n getCurrencySymbol(): void {\r\n this.loading = true;\r\n this.subSink.add(this.fiatService.getCurrencySymbolEmitter().subscribe((data:IFiatRecipient) => {\r\n if (data) {\r\n this.symbol = data.currencySymbol;\r\n this.loading = false;\r\n this.getRecipientList(this.symbol, data.network, Number(data.recipientType));\r\n } else {\r\n this.loading = false;\r\n }\r\n }));\r\n }\r\n\r\n /**\r\n * Add new business\r\n */\r\n openAddBusiness(): void {\r\n this.modalService.openSendMoneyAddRecipientBusiness(this.symbol);\r\n }\r\n\r\n openAddRecipient(): void {\r\n const name = sessionStorage.getItem(USER_NAME_ID);\r\n const email = sessionStorage.getItem(USER_EMAIL_PATH);\r\n // if(this.recipientType === 1) {\r\n // this.modalService.openRecipientAddModal(name, email, this.symbol, \"Self Bank Account\");\r\n // } else {\r\n // this.openAddRecipientOther();\r\n // }\r\n this.router.navigateByUrl('add-customer');\r\n \r\n }\r\n \r\n\r\n // openAddRecipientOther(): void {\r\n // // this.modalService.openRecipientAddModal(\"\", \"\", this.symbol, \"Other Bank Account\");\r\n // // this.router.navigateByUrl('add-customer');\r\n // }\r\n\r\n openAddRecipientCharity(): void {\r\n this.modalService.openRecipientAddModal(\"\", \"\", this.symbol, \"Charitable\");\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subSink.unsubscribe();\r\n }\r\n\r\n}\r\n","
\r\n

\r\n Who are you receiving money from?\r\n

\r\n

Existing Sender

\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Add a sender

\r\n \r\n
\r\n \r\n

New sender

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n ","import { DepositHomeComponent } from \"./deposit-home/deposit-home.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"deposit\",\r\n component: DepositHomeComponent,\r\n canActivate: [AuthGuardService],\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class DepositRoutingModule { }\r\n","import { DepositService } from \"./../services/deposit.service\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { IDepositCreate, IDepositAmount, IDepositDetail } from \"src/app/core/models/deposit\";\r\nimport { IMyOptions, MDBDatePickerComponent } from \"ng-uikit-pro-standard\";\r\nimport { SubSink } from \"subsink\";\r\nimport { FiatService } from \"src/app/fiat/services/fiat.service\";\r\nimport { Recipient } from \"src/app/core/models/fIat/recipients\";\r\n\r\n@Component({\r\n selector: \"cashaa-deposit-transfer-number\",\r\n templateUrl: \"./deposit-transfer-number.component.html\",\r\n styleUrls: [\"./deposit-transfer-number.component.scss\"],\r\n})\r\nexport class DepositTransferNumberComponent implements OnInit {\r\n /** form group */\r\n form: FormGroup;\r\n\r\n depositData: IDepositAmount;\r\n depositBankDetails: IDepositDetail;\r\n\r\n @Output() continue = new EventEmitter();\r\n\r\n @Output() resetAll = new EventEmitter();\r\n\r\n @Output() completed = new EventEmitter();\r\n\r\n loader = false;\r\n\r\n @ViewChild(\"datePicker\") datePicker: MDBDatePickerComponent;\r\n\r\n fiatRecipientData: Recipient;\r\n\r\n myDatePickerOptions: IMyOptions = {\r\n minYear: 1900,\r\n maxYear: 2099,\r\n };\r\n\r\n subsink = new SubSink();\r\n receiptFile: File;\r\n sourceOfFund: File;\r\n\r\n constructor(private fb: FormBuilder, private depositService: DepositService, private fiatService: FiatService) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.depositService.getDepositAmountEmitter().subscribe((data) => {\r\n this.depositData = data;\r\n });\r\n this.depositService.getDepositDetails().subscribe((data) => {\r\n this.depositBankDetails = data;\r\n });\r\n\r\n this.getRecipientData();\r\n\r\n this.subsink.add(\r\n this.depositService.getDepositStatus().subscribe((data) => {\r\n if (data) {\r\n this.form.reset();\r\n this.datePicker.clearDate();\r\n }\r\n })\r\n );\r\n }\r\n\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n transferNumber: [\"\"],\r\n remarks: [\"\"],\r\n date: [\"\", ValidatorUtility.Required],\r\n receiptFile: [\"\"],\r\n sourceOfFund: [\"\"]\r\n });\r\n }\r\n\r\n onDateChange(date: any): void {\r\n this.form.controls.date.setValue(date.actualDateFormatted);\r\n }\r\n\r\n getRecipientData(): void {\r\n this.fiatService.getemitRecipientdData().subscribe((fiatRecipientdData) => {\r\n if (fiatRecipientdData) {\r\n this.fiatRecipientData = fiatRecipientdData;\r\n }\r\n });\r\n }\r\n\r\n onContinue(): void {\r\n this.loader = true;\r\n const data = this.form.value;\r\n // const payload: IDepositCreate = {\r\n // transactionId: data.transferNumber,\r\n // currencyId: this.depositData.currency,\r\n // paymentMode: this.depositData.option,\r\n // amount: this.depositData.amount,\r\n // serviceFee: 0,\r\n // remark: data.remarks,\r\n // transactionDate: data.date,\r\n // deliveryMech: this.depositData.deliveryMech,\r\n // recipientType: this.fiatRecipientData?.recipientType,\r\n // recipientId: this.fiatRecipientData?.id\r\n // };\r\n\r\n const formData = new FormData();\r\n formData.append(\"transactionId\", data.transferNumber);\r\n formData.append(\"currencyId\", this.depositData.currency);\r\n formData.append(\"paymentMode\", this.depositData.option.toString());\r\n formData.append(\"amount\", this.depositData.amount.toString());\r\n formData.append(\"serviceFee\", '0');\r\n formData.append(\"remark\", data.remarks);\r\n formData.append(\"transactionDate\", data.date);\r\n formData.append(\"deliveryMech\", this.depositData.deliveryMech.toString());\r\n formData.append(\"recipientType\", this.fiatRecipientData?.recipientType);\r\n formData.append(\"recipientId\", this.fiatRecipientData?.id);\r\n formData.append(\"receiptFile\", this.receiptFile)\r\n formData.append(\"sourceOfFund\", this.sourceOfFund)\r\n formData.append(\"cashaaInternalBankAccountId\", this.depositBankDetails.bankId);\r\n this.depositService.createDeposit(formData).subscribe(\r\n (res) => {\r\n this.depositService.emitDepositAmount(undefined);\r\n this.completed.emit();\r\n this.loader = false;\r\n },\r\n (err) => {\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n\r\n onReset(): void {\r\n this.resetAll.emit();\r\n }\r\n onFileChange(event, control): void {\r\n if (event.target.files.length > 0) {\r\n if (control === \"receiptFile\") {\r\n this.receiptFile = event.target.files[0];\r\n } else if (control === \"sourceOfFund\") {\r\n this.sourceOfFund = event.target.files[0];\r\n }\r\n const file = event.target.files[0];\r\n this.form.patchValue({\r\n control: file,\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subsink.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { environment } from \"src/environments/environment\";\r\nimport {\r\n IDepositAmount,\r\n IPayousDepositCreate,\r\n} from \"./../../core/models/deposit\";\r\nimport { DepositService } from \"./../services/deposit.service\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { WalletCurrency } from \"src/app/core/enums/walletcurrency\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { SubSink } from \"subsink\";\r\n//import institutionlist from '../../../assets/json/institutionlist_uat.json';\r\n\r\n//const institutionlist = environment.production == true ? require(\"../../../assets/json/institutionlist_prod.json\") : require(\"../../../assets/json/institutionlist_uat.json\");\r\nconst institutionlist = require(\"../../../assets/json/institutionlist_prod.json\");\r\n\r\n@Component({\r\n selector: \"cashaa-deposit-transfer-type\",\r\n templateUrl: \"./deposit-transfer-type.component.html\",\r\n styleUrls: [\"./deposit-transfer-type.component.scss\"],\r\n})\r\nexport class DepositTransferTypeComponent implements OnInit, OnDestroy {\r\n form: FormGroup;\r\n\r\n @Output() continue = new EventEmitter();\r\n\r\n @Output() back = new EventEmitter();\r\n\r\n @Output() completed = new EventEmitter();\r\n\r\n depositData: IDepositAmount;\r\n\r\n symbol: string;\r\n\r\n insttutionListvalue: string = \"Others\";\r\n\r\n payousData: IPayousDepositCreate;\r\n\r\n /** form select values */\r\n options: IFormSelect[] = [];\r\n\r\n optionIcon;\r\n\r\n loading: boolean = false;\r\n\r\n subsink = new SubSink();\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private depositService: DepositService,\r\n private toastrService: ToastrService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.depositService.getDepositAmountEmitter().subscribe((data) => {\r\n if (data) {\r\n this.depositData = data;\r\n this.symbol = data.symbol;\r\n this.form.controls.transferType.setValue(this.symbol === 'EUR' || this.symbol === 'USD' ? 0: undefined);\r\n }\r\n });\r\n this.getInstitutinList();\r\n \r\n this.subsink.add(\r\n this.depositService.getDepositStatus().subscribe((data) => {\r\n if (data) {\r\n this.form.patchValue({\r\n transferType: 0,\r\n });\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n transferType: [ValidatorUtility.Required],\r\n institutionlist: [],\r\n });\r\n }\r\n\r\n onContinue(): void {\r\n // this.depositData.option = this.form.controls.transferType.value;\r\n this.insttutionListvalue = this.form.controls.institutionlist.value;\r\n // if (this.symbol === \"GBP\" && this.insttutionListvalue !== \"Others\") {\r\n // this.loading = true;\r\n // this.createPayousDeposit();\r\n // } else {\r\n // // \r\n // }\r\n this.depositService.emitDepositAmount(this.depositData);\r\n this.continue.emit();\r\n }\r\n\r\n onBack(): void {\r\n this.back.emit();\r\n }\r\n\r\n createPayousDeposit(): void {\r\n this.payousData = {\r\n amount: this.depositData.amount,\r\n fee: this.depositData.fee,\r\n wallet: WalletCurrency.GBP,\r\n instiutionId: this.insttutionListvalue,\r\n };\r\n this.depositService.createPayousDeposit(this.payousData).subscribe(\r\n (res) => {\r\n this.loading = false;\r\n window.open(res.paymentlink, \"_blank\");\r\n // window.location.href = res.paymentlink;\r\n this.insttutionListvalue = \"Others\";\r\n this.completed.emit();\r\n //this. onBack();\r\n },\r\n (err) => {\r\n this.loading = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n onBankChange(value: string): void {\r\n this.selectedImg(\r\n this.options.find((option: IFormSelect) => {\r\n return option.value === value;\r\n })\r\n );\r\n }\r\n\r\n selectedImg(v) {\r\n if (v.icon) {\r\n this.optionIcon = v.icon;\r\n }\r\n }\r\n\r\n getInstitutinList(): void {\r\n this.options = institutionlist;\r\n // this.depositService.getInstitutinalList().subscribe(\r\n // res => {\r\n\r\n // this.options = res.getInstitutionalList.map((data) => {\r\n // return {\r\n // value: data.id,\r\n // label: data.name,\r\n // };\r\n // });\r\n // this.options.push({value : \"Others\" , label: \"Others\"});\r\n\r\n // },\r\n // err => {\r\n // }\r\n // )\r\n }\r\n\r\n // isValid(): boolean {\r\n // if (this.symbol === 'USD' && (this.form.controls.transferType.value === '3' || this.form.controls.transferType.value === '4')) {\r\n // return true;\r\n // } else if (this.symbol === 'EUR') {\r\n // return true;\r\n // } else return false;\r\n \r\n // }\r\n\r\n isTransferTypeSelected() {\r\n const transferType = this.form.get('transferType').value;\r\n return transferType == '0' || transferType == '1' || transferType == '2' ? false: true\r\n }\r\n \r\n ngOnDestroy() {\r\n this.subsink.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
How would you like to pay?
\r\n
\r\n
\r\n Net amount you will deposit \r\n
\r\n £ $\r\n {{ depositData?.amount - depositData?.fee| number: \"0.0-4\" }}\r\n
\r\n
\r\n

Where will you receive bank transfer from?

\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {{ option.label }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from \"./../shared/shared.module\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { DepositRoutingModule } from \"./deposit-routing.module\";\r\nimport { DepositHomeComponent } from \"./deposit-home/deposit-home.component\";\r\nimport { DepositAmountComponent } from \"./deposit-amount/deposit-amount.component\";\r\nimport { DepositTransferTypeComponent } from \"./deposit-transfer-type/deposit-transfer-type.component\";\r\nimport { DepositDetailComponent } from \"./deposit-detail/deposit-detail.component\";\r\nimport { DepositTransferNumberComponent } from \"./deposit-transfer-number/deposit-transfer-number.component\";\r\nimport { DepositHistoryComponent } from \"./deposit-history/deposit-history.component\";\r\nimport { PaymentSuccessComponent } from \"./payment-success/payment-success.component\";\r\nimport { PaymentFailureComponent } from \"./payment-failure/payment-failure.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { DepositRecipientComponent } from './deposit-recipient/deposit-recipient.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n DepositHomeComponent,\r\n DepositAmountComponent,\r\n DepositTransferTypeComponent,\r\n DepositDetailComponent,\r\n DepositTransferNumberComponent,\r\n DepositHistoryComponent,\r\n PaymentSuccessComponent,\r\n PaymentFailureComponent,\r\n DepositRecipientComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ToastrModule.forRoot(),\r\n SharedModule,\r\n ReactiveFormsModule,\r\n DepositRoutingModule,\r\n ],\r\n})\r\nexport class DepositModule {}\r\n","import { ActivatedRoute } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cashaa-payment-failure',\r\n templateUrl: './payment-failure.component.html',\r\n styleUrls: ['./payment-failure.component.scss']\r\n})\r\nexport class PaymentFailureComponent implements OnInit {\r\n\r\n \r\ncompleted = false;\r\nconstructor(\r\n \r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n) {\r\n \r\n}\r\n\r\nngOnInit(): void {\r\n this.completed = false;\r\n}\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n

\r\n \r\n
Payment failed
\r\n
\r\n\r\n \r\n \r\n
\r\n ","import { ActivatedRoute } from '@angular/router';\r\nimport { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cashaa-payment-success',\r\n templateUrl: './payment-success.component.html',\r\n styleUrls: ['./payment-success.component.scss']\r\n})\r\nexport class PaymentSuccessComponent implements OnInit {\r\n\r\n \r\ncompleted = false;\r\nconstructor(\r\n \r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n) {\r\n \r\n}\r\n\r\nngOnInit(): void {\r\n this.completed = true;\r\n}\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n

\r\n \r\n
Payment Successfully Completed
\r\n
\r\n\r\n \r\n
\r\n\r\n\r\n\r\n\r\n ","import { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"./../../../environments/environment\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\nimport {\r\n IDepositAmount,\r\n IDepositDetail,\r\n IDepositHistory,\r\n IDepositHistoryPayload,\r\n IDepositCreate,\r\n IPayousDepositCreate,\r\n} from \"./../../core/models/deposit\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { IFiatSendFees } from \"src/app/core/models/fiat-send\";\r\n//import institutionlist from '../../../assets/json/institutionlist_uat.json';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DepositService {\r\n depositAmountEmitter = new BehaviorSubject(undefined);\r\n\r\n paymentStatus = new BehaviorSubject(undefined);\r\n depositDetails = new BehaviorSubject(undefined);\r\n\r\n apiUrl = environment.api;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getDepositAmountEmitter(): Observable {\r\n return this.depositAmountEmitter.asObservable();\r\n }\r\n\r\n emitDepositAmount(data: IDepositAmount): void {\r\n this.depositAmountEmitter.next(data);\r\n }\r\n\r\n getBankDetail(currency: string, recipientType): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/cashaainternalbankaccounts/${currency}?recipientType=${recipientType}`\r\n );\r\n }\r\n\r\n getDepositHistory(\r\n data: IDepositHistoryPayload\r\n ): Observable {\r\n return this.http.post(\r\n `${this.apiUrl}/InternalBankDeposit/getdepositlist`,\r\n data\r\n );\r\n }\r\n\r\n createDeposit(\r\n data: FormData\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/cashaainternalbankaccounts/create`,\r\n data\r\n );\r\n }\r\n\r\n // getInstitutinalList(): Observable {\r\n // // return institutionlist;\r\n\r\n // }\r\n\r\n createPayousDeposit(data: IPayousDepositCreate): Observable {\r\n return this.http.post(`${this.apiUrl}/payous/payment`, data);\r\n }\r\n\r\n getDepositStatus(): Observable {\r\n return this.paymentStatus.asObservable();\r\n }\r\n\r\n emitDepositStatus(data: boolean): void {\r\n this.paymentStatus.next(data);\r\n }\r\n\r\n getDepositDetails(): Observable {\r\n return this.depositDetails.asObservable();\r\n }\r\n\r\n emitDepositDetails(data: IDepositDetail): void {\r\n this.depositDetails.next(data);\r\n }\r\n\r\n getFiatSendFees(symbol: string, feeMode: number, deliveryMechanism: number, transferType: number, userType: number, recipientType: number): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/transferfees/getfiatsendfee?symbol=${symbol}&feeMode=${feeMode}&deliveryMechanism=${deliveryMechanism}&transferType=${transferType}&userType=${userType}&recipientType=${recipientType}`\r\n );\r\n }\r\n}\r\n","import { Component, EventEmitter, Output, OnInit, Input } from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { EventFeeService } from \"../services/event-fee.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-address\",\r\n templateUrl: \"./address.component.html\",\r\n styleUrls: [\"./address.component.scss\"],\r\n})\r\nexport class AddressComponent implements OnInit {\r\n copied\r\n loading = false;\r\n copiedAddress: boolean;\r\n @Output() onContinue = new EventEmitter();\r\n @Output() goBack = new EventEmitter();\r\n @Input() addressInfo;\r\n\r\n constructor(private eventFeeService: EventFeeService, private toastrService: ToastrService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n goToPreviousPage() {\r\n this.goBack.emit();\r\n }\r\n\r\n continue() {\r\n this.onContinue.emit();\r\n }\r\n\r\n copyMemoAddress(): void {\r\n if (this.addressInfo?.address) {\r\n this.copiedAddress = true;\r\n navigator.clipboard.writeText(this.addressInfo?.address);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copiedAddress = false), 2000);\r\n }\r\n }\r\n}","
{{addressInfo?.symbol}} - Deposit Address
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Address

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{addressInfo?.address}}\r\n
\r\n \r\n
\r\n
\r\n Deposit {{addressInfo?.symbol}} : {{addressInfo?.feeAmount}}\r\n \r\n

\r\n This deposit details valid for 30 minutes.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n Go back\r\n
\r\n
\r\n \r\n
","import { Component, EventEmitter, Output, OnInit, Input } from \"@angular/core\"\r\nimport { EventFeeService } from \"../services/event-fee.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-confirm\",\r\n templateUrl: \"./confirm.component.html\",\r\n styleUrls: [\"./confirm.component.scss\"],\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n loading = false;\r\n @Output() onConfirm = new EventEmitter();\r\n @Output() goBack = new EventEmitter();\r\n @Input() confirmedTicketDetails;\r\n ticketDetails;\r\n currentDate = new Date();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n goToPreviousPage() {\r\n this.goBack.emit();\r\n }\r\n\r\n continue() {\r\n this.onConfirm.emit();\r\n }\r\n}","
Does everything look right?
\r\n
\r\n
\r\n
Ticket Type
\r\n
Visitor
\r\n
Premium
\r\n
VIP
\r\n
\r\n
\r\n
Amount
\r\n
0
\r\n \r\n
{{confirmedTicketDetails?.amount}} {{confirmedTicketDetails?.symbol}}
\r\n
\r\n
\r\n
\r\n
Date
\r\n
{{currentDate | date:'dd-MM-yyyy'}}
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n Go back\r\n
\r\n
\r\n \r\n
","import { Component, EventEmitter, Output, OnInit } from \"@angular/core\";\r\nimport { EventFeeService } from \"../services/event-fee.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-currency-type\",\r\n templateUrl: \"./currency-type.component.html\",\r\n styleUrls: [\"./currency-type.component.scss\"],\r\n})\r\nexport class CurrencyTypeComponent implements OnInit {\r\n\r\n @Output() onCurrencySelection = new EventEmitter();\r\n @Output() goBack = new EventEmitter();\r\n loading = false;\r\n currencyType = [{icon: '../../../assets/icons/BTC.png', name: 'BTC', currencyId: '52619583-4cd6-477b-2532-08d7b39928d1'}, {icon: '../../../assets/icons/ETH.png', name: 'ETH', currencyId: 'ffc6c1df-073f-4f50-2534-08d7b39928d1'},\r\n {icon: '../../../assets/icons/USDC.png', name: 'USDC', currencyId: '3c421887-2020-4980-a257-4cb4a6e14487'}, {icon: '../../../assets/icons/USDT.png', name: 'USDT', currencyId: '2eca555f-379d-4d5e-9b5c-08d8320464d9'}];\r\n selectedCurrency = \r\n {'currencyId': ''}\r\n constructor(private eventFeeService: EventFeeService) {}\r\n ngOnInit(): void {\r\n }\r\n\r\n selectCurrency(event) {\r\n this.selectedCurrency = event;\r\n // this.onCurrencySelection.emit(this.selectedCurrency);\r\n }\r\n goToPreviousPage() {\r\n this.goBack.emit();\r\n }\r\n\r\n continue(){\r\n \r\n this.onCurrencySelection.emit(this.selectedCurrency);\r\n }\r\n}","\r\n
\r\n
\r\n \r\n
\r\n \"Card\r\n \r\n \r\n
\r\n
{{currency.name}}
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Go back\r\n
\r\n
\r\n \r\n
","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { EventFeeService } from \"../services/event-fee.service\";\r\nimport { MdbStepperComponent } from \"ng-uikit-pro-standard\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { TICKET_CREATED_TIME, UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { CommonSavedData } from \"src/app/shared/services/commonSavedData.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"cashaa-event-fee-home\",\r\n templateUrl: \"./event-fee-home.component.html\",\r\n styleUrls: [\"./event-fee-home.component.scss\"],\r\n})\r\nexport class EventFeeHomeComponent implements OnInit {\r\n\r\n @ViewChild(\"stepper\", { static: true }) stepper: MdbStepperComponent;\r\n\r\n ticketTypeList = [{ label: 'Visitors', value: 1 }, { label: 'Premium', value: 2 }, { label: 'VIP', value: 3 }];\r\n filteredOptions = [{ value: '', label: 'BTC', icon: './../../../assets/icons/BTC.png', symbol: 'BTC' },\r\n { value: '', label: 'ETH', icon: './../../../assets/icons/ETH.png', symbol: 'ETH' },\r\n { value: '', label: 'USDC', icon: './../../../assets/icons/USDC.png', symbol: 'USDC' },\r\n { value: '', label: 'USDT', icon: './../../../assets/icons/USDT.png', symbol: 'USDT' }];\r\n\r\n optionIcon;\r\n isConfirmed = false;\r\n isPaymentSuccess = false;\r\n ticketType;\r\n selectedCurrencyId;\r\n address;\r\n // createdAt = '2023-01-21T23:05:22.316Z';\r\n createdAt;\r\n currentTime;\r\n timeDiff;\r\n copiedAddress: boolean;\r\n paymentAddressData;\r\n confirmedTicketDetails;\r\n showPersonalPage = false;\r\n sub: Subscription;\r\n otherDetails;\r\n currencyDetails;\r\n constructor(\r\n private eventFeeService: EventFeeService, private toastrService: ToastrService,\r\n private modalService: ModalService, private commonSavedData: CommonSavedData,\r\n private activatedRoute: ActivatedRoute, private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.isTicketConfirmed();\r\n this.startTimer();\r\n }\r\n\r\n // onCurrencyChange(value: string): void {\r\n // this.selectedImg(\r\n // this.filteredOptions.find((option: any) => {\r\n // return option.value === value;\r\n // })\r\n // );\r\n // }\r\n\r\n // selectedImg(v) {\r\n // if (v.icon) {\r\n // this.optionIcon = v.icon;\r\n // }\r\n // }\r\n startTimer() {\r\n // this.timeLeft = Number(this.timeLeft);\r\n setInterval(() => {\r\n this.isTicketConfirmed();\r\n }, 600000)\r\n }\r\n confirmTicket() {\r\n this.stepper.next();\r\n\r\n }\r\n\r\n select(index) {\r\n this.ticketType = index;\r\n if (this.ticketType == 1) {\r\n this.showPersonalPage = true;\r\n } else {\r\n this.showPersonalPage = false;\r\n }\r\n this.stepper.next();\r\n }\r\n\r\n isTicketConfirmed() {\r\n this.eventFeeService.isTicketConfirmed().subscribe(res => {\r\n this.isConfirmed = res.isConfirmed;\r\n this.isPaymentSuccess = res.isPaymentSuccess;\r\n this.createdAt = res.created;\r\n this.otherDetails = res;\r\n //----------------------------------------------------------- \r\n let dt = new Date(this.createdAt);\r\n dt.setMinutes(dt.getMinutes() + 330)\r\n let rs = dt.toLocaleTimeString('en', { hour12: false });\r\n console.log(rs);\r\n localStorage.setItem(TICKET_CREATED_TIME, rs);\r\n\r\n // ------------------------------------------------------------\r\n\r\n }, err => {\r\n\r\n })\r\n }\r\n selectedCurrency(event) {\r\n console.log(event);\r\n this.currencyDetails = event;\r\n this.selectedCurrencyId = this.currencyDetails.currencyId;\r\n const payload = {\r\n \"currencyId\": this.selectedCurrencyId,\r\n \"eventSubscription\": this.ticketType,\r\n }\r\n this.eventFeeService.createEventPaymentAddress(payload).subscribe(res => {\r\n this.paymentAddressData = res;\r\n this.stepper.next();\r\n }, err => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n })\r\n\r\n }\r\n\r\n getPersonalDetails(event) {\r\n console.log(event);\r\n let personalDetails = event.value;\r\n if(this.showPersonalPage) {\r\n this.confirmedTicketDetails = {\r\n currencyId: this.selectedCurrencyId,\r\n eventSubscription: this.ticketType,\r\n name: personalDetails.name,\r\n email: personalDetails.email,\r\n mobileNo: personalDetails.mobileNo,\r\n title: personalDetails.title,\r\n companyName: personalDetails.companyName,\r\n symbol: this.currencyDetails.name\r\n };\r\n } else {\r\n // amount field is required below\r\n this.confirmedTicketDetails = {\r\n currencyId: this.selectedCurrencyId,\r\n eventSubscription: this.ticketType,\r\n name: personalDetails.name,\r\n email: personalDetails.email,\r\n mobileNo: personalDetails.mobileNo,\r\n amount: this.paymentAddressData.feeAmount,\r\n title: personalDetails.title,\r\n companyName: personalDetails.companyName,\r\n symbol: this.currencyDetails.name\r\n };\r\n }\r\n this.stepper.next();\r\n }\r\n\r\n\r\n\r\n confirmTicketDetails() {\r\n console.log(this.confirmedTicketDetails);\r\n this.modalService.openConfirmationModal(\"Do you want to proceed for payment?\");\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n if (status) {\r\n this.eventFeeService.confirmTicketDetails(this.confirmedTicketDetails).subscribe(res => {\r\n // this.currentTime = new Date(this.currentTime).toLocaleTimeString('en',\r\n // { hour12: false, timeZone: 'UTC' });\r\n // if (this.createdAt) {\r\n // this.createdAt = new Date(this.createdAt).toLocaleTimeString('en',\r\n // { hour12: false, timeZone: 'UTC' });\r\n // console.log('currentTime: ', this.currentTime);\r\n // console.log('createdAt: ', this.createdAt);\r\n // this.timeDiff = this.minsToStr(this.strToMins(this.currentTime) - this.strToMins(this.createdAt));\r\n // }\r\n this.toastrService.success(res.message);\r\n this.isTicketConfirmed();\r\n window.location.reload();\r\n\r\n }, err => {\r\n this.toastrService.error(err.error.message);\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n previous() {\r\n this.stepper.previous();\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n","\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuardService } from \"../core/services/auth-guard/auth-guard.service\";\r\nimport { NotFoundComponent } from \"../shared/components/not-found/not-found.component\";\r\nimport { EventFeeHomeComponent } from \"./event-fee-home/event-fee-home.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"spot\",\r\n component: NotFoundComponent,\r\n canActivate: [AuthGuardService]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class EventFeeRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { QRCodeModule } from \"angular2-qrcode\";\r\nimport { EventFeeHomeComponent } from \"./event-fee-home/event-fee-home.component\";\r\nimport { EventFeeRoutingModule } from \"./event-fee-routing.module\";\r\nimport { TicketTypeComponent } from \"./ticket-type/ticket-type.component\";\r\nimport { CurrencyTypeComponent } from \"./currency-type/currency-type.component\";\r\nimport { AddressComponent } from \"./address/address.component\";\r\nimport { ConfirmComponent } from \"./confirm/confirm.component\";\r\nimport { PaymentHistoryComponent } from \"./payment-history/payment-history.component\";\r\nimport { DepositTimerComponent } from \"./timer/deposit-timer.component\";\r\nimport { OtherDetailsComponent } from \"./other-details/other-details.component\";\r\n\r\n@NgModule({\r\n declarations: [EventFeeHomeComponent, TicketTypeComponent, CurrencyTypeComponent, AddressComponent, ConfirmComponent, DepositTimerComponent, PaymentHistoryComponent, OtherDetailsComponent],\r\n imports: [\r\n CommonModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ToastrModule.forRoot(),\r\n SharedModule,\r\n ReactiveFormsModule,\r\n EventFeeRoutingModule,\r\n QRCodeModule,\r\n ],\r\n})\r\nexport class EventFeeModule {}\r\n","import { Component, EventEmitter, Output, OnInit, Input } from \"@angular/core\"\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\n\r\n@Component({\r\n selector: \"cashaa-other-details\",\r\n templateUrl: \"./other-details.component.html\",\r\n styleUrls: [\"./other-details.component.scss\"],\r\n})\r\nexport class OtherDetailsComponent implements OnInit {\r\n loading = false;\r\n @Output() goBack = new EventEmitter();\r\n @Output() onAddingPersonalDetails = new EventEmitter();\r\n otherDetailsForm: FormGroup;\r\n\r\n constructor(private fb: FormBuilder) { \r\n this.otherDetailsForm = this.fb.group({\r\n name: ['', [ValidatorUtility.Required]],\r\n email: ['', [ValidatorUtility.Required, ValidatorUtility.EmailValidator]],\r\n mobileNo: ['', [ValidatorUtility.Required, ValidatorUtility.mobilenumber]],\r\n title: ['', [ValidatorUtility.Required]],\r\n companyName: ['', [ValidatorUtility.Required]]\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n onSubmit(){\r\n\r\n }\r\n\r\n goToPreviousPage() {\r\n this.goBack.emit();\r\n }\r\n\r\n continue() {\r\n this.onAddingPersonalDetails.emit(this.otherDetailsForm);\r\n }\r\n}","
Personal Details?
\r\n
\r\n \r\n
\r\n

\r\n Important:We will send you the ticket and payment confirmation on the email which you provided in your personal information. Make sure your email address is valid before submitting.\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n Go back\r\n
\r\n
\r\n \r\n
","import { Component, EventEmitter, Output, OnInit } from \"@angular/core\"\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { EventFeeService } from \"../services/event-fee.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-payment-history\",\r\n templateUrl: \"./payment-history.component.html\",\r\n styleUrls: [\"./payment-history.component.scss\"],\r\n})\r\nexport class PaymentHistoryComponent implements OnInit {\r\n \r\n depositHistoryData = [];\r\n ticketDetails;\r\n copiedTransactionID: boolean;;\r\n copiedFromAddress: boolean;\r\n copiedToAddress: boolean;\r\n constructor(private eventFeeService: EventFeeService, private toastrService: ToastrService) { }\r\n\r\n ngOnInit(): void {\r\n this.getTicketDetails();\r\n this.getDepositHistory();\r\n }\r\n\r\n getDepositHistory() {\r\n this.eventFeeService.getDepositPaymentHistory().subscribe(res => {\r\n this.depositHistoryData = res;\r\n }, err => {\r\n\r\n })\r\n }\r\n\r\n getTicketDetails() {\r\n this.eventFeeService.getTicketDetails().subscribe(res => {\r\n this.ticketDetails = res;\r\n }, err => {\r\n\r\n })\r\n }\r\n\r\n copyFromAddress(info) {\r\n if (info?.fromAddress) {\r\n this.copiedFromAddress = true;\r\n navigator.clipboard.writeText(info?.fromAddress);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copiedFromAddress = false), 2000);\r\n }\r\n }\r\n\r\n copyToAddress(info) {\r\n if (info?.toAddress) {\r\n this.copiedToAddress = true;\r\n navigator.clipboard.writeText(info?.toAddress);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copiedToAddress = false), 2000);\r\n }\r\n }\r\n\r\n copyTransactionID(info) {\r\n if (info?.transactionId) {\r\n this.copiedTransactionID = true;\r\n navigator.clipboard.writeText(info?.transactionId);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copiedTransactionID = false), 2000);\r\n }\r\n }\r\n\r\n}","
Your ticket has been confirmed and we have received your payment
\r\n
\r\n
\r\n
\r\n
Date
\r\n
\r\n
\r\n
\r\n
Ticket Type
\r\n
\r\n
\r\n
\r\n
Reference Number
\r\n
\r\n
\r\n
\r\n
Amount
\r\n
\r\n
\r\n
\r\n
Payment
\r\n
\r\n
\r\n
\r\n \r\n
{{ticketDetails?.created | date: 'dd-MM-yyyy'}}
\r\n
{{ticketDetails?.eventSubscription}}
\r\n
{{ticketDetails?.ticketReferance}}
\r\n
{{ticketDetails?.amount}} {{ticketDetails?.symbol}}
\r\n
{{ticketDetails?.isPaymentSuccess}}
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
Deposit History
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DateAmountTransaction IdFrom AddressTo AddressStatus
{{info?.created | date: 'dd-MM-yyyy'}}{{info?.amount}} {{info?.symbol}}{{(info?.transactionId | slice: 0:6)\r\n + \".....\" + (info?.transactionId | slice : info?.transactionId.length - 6)}}{{(info?.fromAddress | slice: 0:6)\r\n + \".....\" + (info?.fromAddress | slice : info?.fromAddress.length - 6)}}{{(info?.toAddress | slice: 0:6)\r\n + \".....\" + (info?.toAddress | slice : info?.toAddress.length - 6)}}{{info?.status}}
\r\n
\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class EventFeeService {\r\n private apiUrl = environment.api;\r\n private isLoading = new BehaviorSubject(false);\r\n private customerAddFlag = new BehaviorSubject(false);\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n\r\n isTicketConfirmed() {\r\n return this.http.get(\r\n `${this.apiUrl}/event/isticketconfirmed`\r\n );\r\n }\r\n\r\n /**\r\n* Create event payment\r\n* @param payload contains currency Id and selected event subscription type value.\r\n*/\r\n createEventPaymentAddress(\r\n payload\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/event/create`,\r\n payload\r\n );\r\n }\r\n\r\n /**\r\n* Create event payment\r\n* @param payload contains currencyId, event Subscription, amount.\r\n*/\r\n confirmEventPaymentTicket(\r\n payload\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/event/create`,\r\n payload\r\n );\r\n }\r\n\r\n /**\r\n* Create event payment\r\n* @param payload contains currencyId, event Subscription, amount.\r\n*/\r\nconfirmTicketDetails(\r\n payload\r\n): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/event/confirmticket`,\r\n payload\r\n );\r\n}\r\n\r\n getDepositPaymentHistory() {\r\n return this.http.get(\r\n `${this.apiUrl}/event/geteventledgerlist`\r\n );\r\n }\r\n\r\n getTicketDetails() {\r\n return this.http.get(\r\n `${this.apiUrl}/event/getticketdetails`\r\n );\r\n }\r\n\r\n}\r\n\r\n\r\n","import { Component, EventEmitter, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cashaa-ticket-type\",\r\n templateUrl: \"./ticket-type.component.html\",\r\n styleUrls: [\"./ticket-type.component.scss\"],\r\n})\r\nexport class TicketTypeComponent {\r\n loading = false;\r\n @Output() onContinue = new EventEmitter();\r\n @Output() onSelect = new EventEmitter();\r\n\r\n select(index) {\r\n this.onSelect.emit(index);\r\n }\r\n\r\n // continue() {\r\n // this.onContinue.emit();\r\n // }\r\n}","
\r\n
\r\n \r\n
Premium
\r\n
\r\n

800AED

\r\n
\r\n
    \r\n
  • Welcome Reception - Feb 4
  • \r\n
  • Networking Drinks - Feb 4
  • \r\n
  • Crypto Daddy Beach party - Feb 4
  • \r\n
  • Summit Access - Feb 5
  • \r\n
  • VIP/Investors Lunch - Feb 5
  • \r\n
  • Access to VIP/Speakers Lounge
  • \r\n
  • Golden Excellance Award - Feb 5
  • \r\n
  • Gala Dinner - Feb 5
  • \r\n
  • Exclusive post event investment report
  • \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
VIP
\r\n
\r\n

1500AED

\r\n
\r\n
    \r\n
  • Welcome Reception - Feb 4
  • \r\n
  • Networking Drinks - Feb 4
  • \r\n
  • Crypto Daddy Beach party - Feb 4
  • \r\n
  • Summit Access - Feb 5
  • \r\n
  • VIP/Investors Lunch - Feb 5
  • \r\n
  • Access to VIP/Speakers Lounge
  • \r\n
  • Golden Excellance Award - Feb 5
  • \r\n
  • Gala Dinner - Feb 5
  • \r\n
  • Exclusive post event investment report
  • \r\n
\r\n
\r\n \r\n
\r\n
","import { Component, Input, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n DEPOSIT_TIMING,\r\n} from \"src/app/app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-deposit-timer\",\r\n templateUrl: \"./deposit-timer.component.html\",\r\n styleUrls: [\"./deposit-timer.component.scss\"],\r\n})\r\nexport class DepositTimerComponent implements OnInit, OnDestroy {\r\n timeLeft;\r\n interval;\r\n depositTime: any = DEPOSIT_TIMING;\r\n createdTime;\r\n timeDiff;\r\n currentTime;\r\n secondTimer;\r\n secondInterval;\r\n @Input() otherDetails;\r\n copiedAddress: boolean;\r\n minutes;\r\n extraSeconds;\r\n constructor(private toastrService: ToastrService) {\r\n this.createdTime = localStorage.getItem('cashaa/ticketCreatedTime');\r\n }\r\n\r\n ngOnInit(): void {\r\n this.calTimeDiffernce();\r\n this.startTimer();\r\n }\r\n\r\n startTimer() {\r\n this.interval = setInterval(() => {\r\n this.calTimeDiffernce();\r\n }, 1000)\r\n }\r\n\r\n calTimeDiffernce() {\r\n let curTime = new Date();\r\n curTime.setMinutes(new Date().getMinutes() + 330)\r\n this.currentTime = curTime.toLocaleTimeString('en',\r\n { hour12: false, timeZone: 'UTC' });\r\n this.timeDiff = (this.strToMins(this.currentTime) - this.strToMins(this.createdTime));\r\n this.timeLeft = 1800 - this.timeDiff;\r\n this.minutes = Math.floor(this.timeLeft / 60);\r\n this.extraSeconds = this.timeLeft % 60;\r\n // this.minutes = this.minutes < 10 ? 0 + this.minutes : this.minutes;\r\n // this.extraSeconds = this.extraSeconds < 10 ? 0 + this.extraSeconds : this.extraSeconds;\r\n if(this.minutes <= 0 && this.extraSeconds <=0) {\r\n // this.interval.unsubscribe();\r\n clearInterval(this.interval);\r\n }\r\n }\r\n\r\n strToMins(t) {\r\n var s = t.split(\":\");\r\n return Number(s[0]) * 3600 + Number(s[1]) * 60 + (+Number(s[2]) || 0);\r\n // return Number(s[0]) * 60 + Number(s[1]) + Number(s[2]);\r\n }\r\n\r\n copyMemoAddress(): void {\r\n if (this.otherDetails?.address) {\r\n this.copiedAddress = true;\r\n navigator.clipboard.writeText(this.otherDetails?.address);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copiedAddress = false), 2000);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // if(this.interval) {\r\n // this.interval.unsubscribe();\r\n // }\r\n \r\n }\r\n\r\n}","
Please wait for 30 minute
\r\n

This deposit details valid for 30 minutes.

\r\n
\r\n
= 10\" class=\"p-3 bg-white mx-1 font-weight-600 minute\">{{minutes}}
\r\n
0{{minutes}}
\r\n
:
\r\n
= 10\" class=\"p-3 bg-white mx-1 font-weight-600 second\">{{extraSeconds}}
\r\n
0{{extraSeconds}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{otherDetails?.address}}\r\n
\r\n \r\n
\r\n
\r\n
Deposit {{otherDetails?.symbol}}: {{otherDetails?.amount}}
\r\n
\r\n
\r\n
\r\n
","import { Router } from \"@angular/router\";\r\nimport { Recipient } from \"./../../core/models/fIat/recipients\";\r\nimport { ITransferFees } from \"./../../core/models/transfer-types\";\r\nimport { DomainService } from \"./../../core/services/domain/domain.service\";\r\nimport { ICurrency } from \"./../../core/models/currency\";\r\nimport { FiatFlow } from \"./../../core/models/fIat/fiat-flow\";\r\nimport { FiatService } from \"./../services/fiat.service\";\r\nimport { Component, OnInit, Output, EventEmitter, Input } from \"@angular/core\";\r\nimport { APP_ROUTES, USER_FEE_MODE } from \"../../app.constants\";\r\nimport { interval } from \"rxjs\";\r\nimport { LedgerType } from \"src/app/core/enums/ledgerType\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { OnDestroy } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cashaa-fiat-completed\",\r\n templateUrl: \"./fiat-completed.component.html\",\r\n styleUrls: [\"./fiat-completed.component.scss\"],\r\n})\r\nexport class FiatCompletedComponent implements OnInit, OnDestroy {\r\n /** on continue click, emit event */\r\n @Output() continue = new EventEmitter();\r\n\r\n timer: any;\r\n\r\n // @Input() set transId(data) {\r\n // if (data) {\r\n // this.timer = interval(2000).subscribe((val) => {\r\n // this.fiatService.isCryptoSendVerified(data).subscribe((flag) => {\r\n // if (flag.message === \"success\") {\r\n // this.loading = false;\r\n // this.isVerified = true;\r\n // this.timer.unsubscribe();\r\n // }\r\n // });\r\n // });\r\n // }\r\n // }\r\n\r\n /** FiatFlow data */\r\n fiatFlowData?: FiatFlow;\r\n\r\n // hold pay data request\r\n fromcurrencyObject: ICurrency;\r\n\r\n /** fee amount object */\r\n feeAmountObject: ITransferFees;\r\n\r\n /** fiat recipient data */\r\n fiatRecipientData?: Recipient;\r\n /** feemode variable */\r\n userFeeMode = sessionStorage.getItem(USER_FEE_MODE);\r\n _casCurrecnyId = \"43796AC1-8F4E-4875-2533-08D7B39928D1\";\r\n casFee = 0;\r\n // isVerified: boolean;\r\n isVerified = true;\r\n loading = false;\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\"];\r\n\r\n constructor(\r\n private fiatService: FiatService,\r\n private domainService: DomainService,\r\n private router: Router,\r\n private modalService: ModalService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n // this.loading = true;\r\n\r\n this.getFiatFlowData();\r\n this.getRecipientData();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.timer) {\r\n this.timer.unsubscribe();\r\n }\r\n }\r\n\r\n getFiatFlowData(): void {\r\n this.fiatService.getfiatFlowPaydDataEmitter().subscribe((fiatFlowData) => {\r\n if (fiatFlowData) {\r\n // this.loading = false;\r\n this.fiatFlowData = fiatFlowData;\r\n this.getFromCurrency(this.fiatFlowData);\r\n this.getFee(this.fiatFlowData);\r\n }\r\n },\r\n err => {\r\n //this.loading = false;\r\n }\r\n );\r\n\r\n }\r\n\r\n getDecimalNumber(symbol) {\r\n let toFix = \"0\";\r\n if (symbol === \"CAS\" || symbol === \"BNB\") {\r\n toFix = \"\";\r\n } else if (this.fiatCurrencies.includes(symbol)) {\r\n toFix = \"0.2-2\";\r\n } else {\r\n toFix = \"0.4\";\r\n }\r\n return toFix;\r\n }\r\n\r\n getRecipientData(): void {\r\n this.fiatService.getemitRecipientdData().subscribe((fiatRecipientdData) => {\r\n if (fiatRecipientdData) {\r\n //this.loading = false;\r\n this.fiatRecipientData = fiatRecipientdData;\r\n }\r\n },\r\n err => {\r\n //this.loading = false;\r\n });\r\n }\r\n\r\n /**\r\n * Get from currency\r\n */\r\n getFromCurrency(fiatFlow: FiatFlow): void {\r\n this.fromcurrencyObject = fiatFlow.fromcurrencyObject;\r\n }\r\n\r\n /**\r\n * Get fee data\r\n */\r\n getFee(fiatFlow: FiatFlow): void {\r\n this.feeAmountObject = fiatFlow.feeAmountObject;\r\n if (this.userFeeMode !== \"InNative\") {\r\n this.casFee = this.feeAmountObject.sendFee / this.feeAmountObject.casRate;\r\n }\r\n }\r\n\r\n /**\r\n * On continue click\r\n */\r\n onContinue(): void {\r\n this.router.navigateByUrl(APP_ROUTES.ACTIVITY_LIST);\r\n }\r\n\r\n helpDeskSend(): void {\r\n this.modalService.openTicketCreateModal(LedgerType.sent);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n

All done!

\r\n \r\n\r\n

\r\n You've Sent {{ fiatFlowData?.senderAmount }}\r\n {{ fromcurrencyObject?.symbol }} to {{ fiatRecipientData?.name }}\r\n

\r\n\r\n

\r\n Fee Charged: {{ fiatFlowData?.fees| number:getDecimalNumber(fromcurrencyObject?.symbol) }}\r\n {{ fromcurrencyObject?.symbol }}\r\n

\r\n

\r\n Fee Charged: {{ fiatFlowData?.fees | number:getDecimalNumber(fromcurrencyObject?.symbol) }} CAS\r\n

\r\n

\r\n Please verify the transaction. Verification mail has been sent to you email id.\r\n

\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n Contact help desk for any question or\r\n query.\r\n
\r\n
\r\n","import { UserService } from \"./../../core/services/user/user.service\";\r\nimport {\r\n IFiatInOutTransferFees,\r\n TransferFeesByCurrencyModel,\r\n} from \"./../../core/models/transfer-types\";\r\nimport { CurrencyType } from \"./../../core/enums/currencyType\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Component, OnInit, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { FiatFlow } from \"src/app/core/models/fIat/fiat-flow\";\r\nimport { FiatService } from \"../services/fiat.service\";\r\nimport { DomainService } from \"../../core/services/domain/domain.service\";\r\nimport { ICurrency } from \"../../core/models/currency\";\r\nimport { ITransferFees } from \"../../core/models/transfer-types\";\r\nimport {\r\n WALLET_CURRENCY,\r\n USER_FEE_MODE,\r\n USER_TYPE,\r\n SUBSCRIPTION_PERSONAL_PLAN,\r\n SUBSCRIPTION_BUSINESS_PLAN,\r\n} from \"src/app/app.constants\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { DecimalPipe } from \"@angular/common\";\r\nimport { KycService } from \"src/app/kyc/services/kyc.service\";\r\nimport { AccountUpgradeService } from \"src/app/account-upgrade/services/account-upgrade.service\";\r\nimport { FiatRecipient } from \"src/app/core/models/fIat/fiat-pay\";\r\nimport { SubSink } from \"subsink\";\r\nimport { RecipientType } from \"src/app/core/enums/recipientTypeEnum\";\r\nimport { UserSubscriptionPlan } from \"src/app/core/models/account-upgrade/subscription-plan-response\";\r\nimport { DepositService } from \"src/app/deposit/services/deposit.service\";\r\nimport { IFiatSendFees } from \"src/app/core/models/fiat-send\";\r\n\r\n@Component({\r\n selector: \"cashaa-fiat-flow-amount\",\r\n templateUrl: \"./fiat-flow-amount.component.html\",\r\n styleUrls: [\"./fiat-flow-amount.component.scss\"],\r\n})\r\nexport class FiatFlowAmountComponent implements OnInit {\r\n /** on continue click, emit event */\r\n @Output() continue = new EventEmitter();\r\n\r\n /** input withdrawForm */\r\n withdrawForm: FormGroup;\r\n\r\n /** rate varibale */\r\n rate: number;\r\n\r\n /** sendCurrencySymbol varibale */\r\n sendCurrencySymbol: string;\r\n\r\n /** actulaconvertedamount varibale */\r\n actulaconvertedamount: number;\r\n\r\n /** selectedfeeamount varibale */\r\n selectedfeeamount: number;\r\n _inCashaaFee: number;\r\n transferFeesByCurrencyModel: IFiatInOutTransferFees;\r\n memoError = false;\r\n isCashaa = false;\r\n /** feemode variable */\r\n userFeeMode = sessionStorage.getItem(USER_FEE_MODE);\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n /** cas fee check varibale */\r\n casFeeCheckBalance: number;\r\n iscasfee = false;\r\n _casCurrecnyId = \"43796AC1-8F4E-4875-2533-08D7B39928D1\";\r\n casSendAmount = 0;\r\n fiatCurrencies = [\"USD\", \"EUR\", \"GBP\"];\r\n loading: boolean = false;\r\n memoRequiredCur: string[] = [\r\n \"b87668f2-cb17-48a8-2535-08d7b39928d1\",\r\n \"2633816a-dc95-4015-2536-08d7b39928d1\",\r\n \"43796ac1-8f4e-4875-2533-08d7b39928d1\",\r\n ];\r\n deliverMechOptions = [\r\n { value: \"2\", label: \"ACH\" },\r\n { value: \"3\", label: \"WIRE\" },\r\n ];\r\n\r\n networkTypeOptions = [];\r\n\r\n sendCurrency: ICurrency;\r\n feeAmountObject: ITransferFees;\r\n isKycDone: boolean = false;\r\n errorMessage: string;\r\n currencyFromBeneficiary: string;\r\n subsink = new SubSink();\r\n currentUserPlanDetail: UserSubscriptionPlan;\r\n isPremiumPlan: boolean = true;\r\n feesData: IFiatSendFees;\r\n minSendValue: number\r\n isMinSendValueError: boolean = false;\r\n showNetworkTypeOption = false;\r\n isFromBeneficiary = false;\r\n isFeeFree;\r\n constructor(\r\n private fb: FormBuilder,\r\n private fiatService: FiatService,\r\n private domainService: DomainService,\r\n private activatedRoute: ActivatedRoute,\r\n private userService: UserService,\r\n private decimalNumber: DecimalPipe,\r\n private kycService: KycService,\r\n private upgardeService: AccountUpgradeService,\r\n private depositService: DepositService,\r\n private activateRoute: ActivatedRoute\r\n ) {\r\n this.createForm();\r\n this.rate = 1;\r\n this.sendCurrencySymbol = \"EUR\";\r\n this.selectedfeeamount = 1;\r\n this.actulaconvertedamount = 0;\r\n }\r\n // setTimeout(() => {\r\n // this.loading = false;\r\n // }, 5000)\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.sendAmountChangeEvent();\r\n this.getGivenCurrency();\r\n this.getUserBalance();\r\n if (this.userType === '4') {\r\n this.getKycDetail();\r\n } else {\r\n this.getBusinessKycDetail();\r\n }\r\n this.subsink.add(this.upgardeService.getUserActionSubscriptionPlan().subscribe((data: UserSubscriptionPlan) => {\r\n this.currentUserPlanDetail = data;\r\n }));\r\n this.activateRoute.queryParams.subscribe(param => {\r\n if (param && param.recipientType) {\r\n if (param.recipientType === '0') {\r\n param.recipientType = '1';\r\n }\r\n this.withdrawForm.get('recipientType').setValue(param.recipientType);\r\n }\r\n })\r\n\r\n this.subsink.add(this.withdrawForm.controls[\"recipientType\"].valueChanges.subscribe((val) => {\r\n if (val) {\r\n if (Number(val) === RecipientType.Others) {\r\n if (this.userType === '4') {\r\n if (SUBSCRIPTION_PERSONAL_PLAN.BASIC === this.currentUserPlanDetail.planName) {\r\n this.isPremiumPlan = false;\r\n }\r\n } else {\r\n if (SUBSCRIPTION_BUSINESS_PLAN.BASIC === this.currentUserPlanDetail.planName) {\r\n this.isPremiumPlan = false;\r\n }\r\n }\r\n } else {\r\n this.isPremiumPlan = true;\r\n }\r\n this.fiatService.getmonthlyfreewithdrawlimit().subscribe((data: boolean) => {\r\n this.isFeeFree = data;\r\n this.getFee(this.sendCurrencySymbol === 'GBP' ? 4: this.sendCurrencySymbol === 'EUR' ? 1 : this.sendCurrencySymbol === 'USD' ? this.withdrawForm.controls.deliveryMech.value === '2' ? 2 : 3 : undefined, Number(val));\r\n });\r\n }\r\n }));\r\n\r\n this.withdrawForm.controls.senderAmount.valueChanges.subscribe(res => {\r\n this.checkMinSendAmountError();\r\n })\r\n\r\n }\r\n\r\n checkMinSendAmountError() {\r\n if (this.actulaconvertedamount < this.minSendValue) {\r\n this.isMinSendValueError = true;\r\n } else {\r\n this.isMinSendValueError = false;\r\n }\r\n\r\n }\r\n getGivenCurrency(): void {\r\n this.activatedRoute.queryParamMap.subscribe((val) => {\r\n let currency = val.get(\"c\"); // from account\r\n this.currencyFromBeneficiary = val.get(\"cur\"); // from beneficiary\r\n if (this.currencyFromBeneficiary) {\r\n currency = this.currencyFromBeneficiary;\r\n this.isFromBeneficiary = true;\r\n }\r\n this.fiatCurrencies.includes(currency) ? this.showNetworkTypeOption = false : this.showNetworkTypeOption = true;\r\n this.domainService\r\n .getCurrenciesList(CurrencyType.all)\r\n .subscribe((list) => {\r\n if (currency) {\r\n const found = list.currencies.filter((c) => c.symbol === currency && c.isSendActive);\r\n if (found.length > 0) {\r\n this.withdrawForm.controls.sendercurrencyId.setValue(found[0].id);\r\n this.withdrawForm.controls.receivercurrencyId.setValue(found[0].id);\r\n } else {\r\n const gbpFound = list.currencies.filter(\r\n (c) => c.symbol === WALLET_CURRENCY.EUR\r\n );\r\n if (gbpFound.length > 0) {\r\n this.withdrawForm.controls.sendercurrencyId.setValue(gbpFound[0].id);\r\n this.withdrawForm.controls.receivercurrencyId.setValue(gbpFound[0].id);\r\n }\r\n }\r\n } else {\r\n const gbpFound = list.currencies.filter(\r\n (c) => c.symbol === WALLET_CURRENCY.EUR\r\n );\r\n if (gbpFound.length > 0) {\r\n this.withdrawForm.controls.sendercurrencyId.setValue(gbpFound[0].id);\r\n this.withdrawForm.controls.receivercurrencyId.setValue(gbpFound[0].id);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n getFee(deliveryMechanism: number, recipientType: number): void {\r\n if (deliveryMechanism !=undefined && recipientType !=undefined) {\r\n this.depositService.getFiatSendFees(this.sendCurrencySymbol, this.userFeeMode === \"InNative\" ? 2 : 1, deliveryMechanism, 1,\r\n Number(this.userType === '6' ? '5' : this.userType), recipientType).subscribe((data: IFiatSendFees) => {\r\n this.feesData = data;\r\n this.minSendValue = data.minSendAmount;\r\n if(!this.isFeeFree) {\r\n this.feesCalculation(Number(this.withdrawForm.controls.senderAmount.value.replaceAll(\",\", \"\")));\r\n } else {\r\n this.selectedfeeamount = 0;\r\n }\r\n });\r\n }\r\n }\r\n\r\n feesCalculation(amount: number) {\r\n if (amount && amount > 0 && this.feesData) {\r\n if (this.userFeeMode === \"InNative\") {\r\n if ((amount * this.feesData.feeInPercent) > this.feesData.minimumFee) {\r\n this.selectedfeeamount = (amount * this.feesData.feeInPercent);\r\n } else {\r\n this.selectedfeeamount = this.feesData.minimumFee;\r\n }\r\n this.actulaconvertedamount = Number(Number(amount) - this.selectedfeeamount);\r\n } else {\r\n if ((amount * this.feesData.feeInPercent) > this.feesData.minimumFee) {\r\n this.selectedfeeamount = amount * this.feesData.feeInPercent / this.feesData.casRate;\r\n } else {\r\n this.selectedfeeamount = this.feesData.minimumFee / this.feesData.casRate;\r\n }\r\n this.actulaconvertedamount = Number(Number(amount));\r\n }\r\n\r\n this.withdrawForm.controls[\"receiverAmount\"].patchValue(\r\n (this.actulaconvertedamount > 0\r\n ? this.actulaconvertedamount\r\n : 0\r\n ).toFixed(2),\r\n { emitEvent: false, onlySelf: true }\r\n );\r\n if (this.actulaconvertedamount < this.minSendValue) {\r\n this.isMinSendValueError = true;\r\n } else {\r\n this.isMinSendValueError = false;\r\n }\r\n } else {\r\n if (this.feesData) {\r\n this.selectedfeeamount = this.userFeeMode === \"InNative\" ? this.feesData.minimumFee : this.feesData.minimumFee / this.feesData.casRate;\r\n } else {\r\n this.selectedfeeamount = 0;\r\n }\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.withdrawForm = this.fb.group({\r\n sendercurrencyId: [\"\"],\r\n senderAmount: [\"\", [ValidatorUtility.Required]],\r\n receivercurrencyId: [{ value: \"\", disabled: true }],\r\n receiverAmount: [\r\n { value: \"\", disabled: true },\r\n [ValidatorUtility.Required],\r\n ],\r\n sendertransferFeeId: [\"\"],\r\n deliveryMech: [\"2\", [ValidatorUtility.Required]],\r\n memo: [\"\"],\r\n networkType: [\"\"],\r\n recipientType: [\"\"]\r\n });\r\n this.listenToCurrencyChange();\r\n }\r\n\r\n /**\r\n * Listen to currency change\r\n */\r\n listenToCurrencyChange(): void {\r\n this.isMinSendValueError = false;\r\n this.withdrawForm.controls.sendercurrencyId.valueChanges.subscribe((value) => {\r\n this.withdrawForm.controls.receivercurrencyId.setValue(value);\r\n this.withdrawForm.controls.senderAmount.setValue(0);\r\n this.withdrawForm.controls.receiverAmount.setValue(0);\r\n // this.withdrawForm.controls.recipientType.setValue('');\r\n this.checkMemoRequirement();\r\n });\r\n }\r\n\r\n checkMemoRequirement(): void {\r\n const cur = this.withdrawForm.controls.sendercurrencyId.value;\r\n if (this.memoRequiredCur.indexOf(cur) !== -1) {\r\n this.memoError = true;\r\n } else {\r\n this.memoError = false;\r\n }\r\n }\r\n\r\n /**\r\n * On continue click\r\n */\r\n onContinue(): void {\r\n let payData: FiatFlow;\r\n let recipientType;\r\n payData = new FiatFlow(\r\n this.withdrawForm.controls[\"sendercurrencyId\"].value,\r\n this.withdrawForm.controls[\"senderAmount\"].value.replaceAll(\",\", \"\"),\r\n this.withdrawForm.controls[\"receivercurrencyId\"].value,\r\n this.withdrawForm.controls[\"receiverAmount\"].value.replaceAll(\",\", \"\"),\r\n this.withdrawForm.controls[\"sendertransferFeeId\"].value,\r\n this.withdrawForm.controls[\"memo\"].value,\r\n this.sendCurrency,\r\n this.feeAmountObject,\r\n this.selectedfeeamount,\r\n\r\n );\r\n if (\r\n this.sendCurrencySymbol === \"USD\" ||\r\n this.sendCurrencySymbol === \"AUSD\"\r\n ) {\r\n payData.deliveryMech = this.withdrawForm.controls[\"deliveryMech\"].value;\r\n }\r\n\r\n if (this.sendCurrencySymbol === \"EUR\") {\r\n payData.deliveryMech = \"1\";\r\n }\r\n if (this.sendCurrencySymbol === \"GBP\") {\r\n payData.deliveryMech = \"4\";\r\n }\r\n\r\n if (!this.fiatCurrencies.includes(this.sendCurrencySymbol)) {\r\n payData.networkType = this.withdrawForm.controls[\"networkType\"].value;\r\n }\r\n\r\n if (this.fiatCurrencies.includes(this.sendCurrencySymbol)) {\r\n payData.recipientType = this.withdrawForm.controls[\"recipientType\"].value\r\n }\r\n this.fiatService.emitfiatFlowPaydDataEmitter(payData);\r\n this.fiatService.emitCurrencySymbolEmitter(\r\n new FiatRecipient(this.sendCurrencySymbol, Number(payData.networkType), payData.recipientType));\r\n if (this.sendCurrencySymbol === this.currencyFromBeneficiary) {\r\n this.continue.emit(false);\r\n } else {\r\n this.continue.emit(true);\r\n }\r\n }\r\n\r\n onsendCurrencyChangeEvent(data: ICurrency): void {\r\n if (this.userFeeMode === \"InNative\") {\r\n this.isCashaa = false;\r\n this.sendCurrencySymbol = data.symbol;\r\n let toFix = 0;\r\n if (this.fiatCurrencies.includes(data.symbol)) {\r\n this.showNetworkTypeOption = false;\r\n toFix = 2;\r\n this.convertNewAmount(this.withdrawForm.controls.senderAmount.value);\r\n } else {\r\n if (data.symbol !== this.currencyFromBeneficiary) {\r\n this.isFromBeneficiary = false;\r\n }\r\n this.selectedfeeamount = 0;\r\n this.loading = true;\r\n this.fiatService.getmonthlyfreewithdrawlimit().subscribe((data: boolean) => {\r\n this.isFeeFree = data;\r\n if (!data) {\r\n this.loading = false;\r\n this.showNetworkTypeOption = true;\r\n if(!this.isFiatCurrency()) {\r\n this.fiatService.getcryptosendfee(this.sendCurrencySymbol, Number(this.withdrawForm.controls.networkType.value)).subscribe((data: { nativeFee: number, casFee: number, minSendAmount: number }) => {\r\n if (data) {\r\n this.selectedfeeamount = data.nativeFee;\r\n this.minSendValue = data.minSendAmount\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n } else {\r\n this.loading = false;\r\n this.showNetworkTypeOption = false;\r\n }\r\n });\r\n toFix = 4;\r\n }\r\n this.withdrawForm.patchValue(\r\n {\r\n senderAmount: parseInt(this.withdrawForm.controls.senderAmount.value).toFixed(\r\n toFix\r\n ),\r\n },\r\n {\r\n emitEvent: false,\r\n }\r\n );\r\n } else {\r\n this.isCashaa = false;\r\n this.sendCurrencySymbol = data.symbol;\r\n if (this.isFiatCurrency()) {\r\n this.showNetworkTypeOption = false;\r\n this.convertNewAmount(this.withdrawForm.controls.senderAmount.value);\r\n } else {\r\n this.selectedfeeamount = 0;\r\n this.loading = true;\r\n this.fiatService.getmonthlyfreewithdrawlimit().subscribe((res: boolean) => {\r\n this.isFeeFree = res;\r\n this.fiatService.getcryptosendfee(this.sendCurrencySymbol, Number(this.withdrawForm.controls.networkType.value)).subscribe((data: { nativeFee: number, casFee: number, minSendAmount: number }) => {\r\n if (data) {\r\n this.selectedfeeamount = data.casFee;\r\n this.minSendValue = data.minSendAmount;\r\n this.loading = false;\r\n }\r\n });\r\n if (!res) {\r\n this.showNetworkTypeOption = true;\r\n // this.loading = false;\r\n // this.loading = true;\r\n } else {\r\n // this.loading = false;\r\n this.showNetworkTypeOption = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (this.getMemoReferenceValid()) {\r\n if (this.sendCurrencySymbol === \"CAS\" || this.sendCurrencySymbol === \"BNB\" || this.sendCurrencySymbol === \"XRP\") {\r\n this.withdrawForm.controls[\"memo\"].setValidators([Validators.maxLength(20)]);\r\n } else {\r\n this.withdrawForm.controls[\"memo\"].setValidators([Validators.maxLength(8)]);\r\n }\r\n this.withdrawForm.updateValueAndValidity();\r\n }\r\n this.sendCurrency = data;\r\n if (!this.fiatCurrencies.includes(this.sendCurrencySymbol)) {\r\n this.withdrawForm.controls[\"networkType\"].setValidators(ValidatorUtility.Required);\r\n this.networkTypeOptions = data.networkType;\r\n this.networkTypeOptions = this.networkTypeOptions.filter(item => item.isSendActive === true);\r\n let defaultNetworkType = this.networkTypeOptions.filter(item => item.isDefaultNetwork == true)[0]\r\n this.withdrawForm.controls.networkType.setValue(defaultNetworkType.networkValue);\r\n // if (!(this.sendCurrencySymbol === 'BTC' || this.sendCurrencySymbol === 'BNB')) {\r\n // this.withdrawForm.controls[\"networkType\"].setValue(\"\");\r\n // this.networkTypeOptions = [{ value: \"2\", label: \"BNB Smart Chain (BEP-20)\" }];\r\n\r\n // if (this.sendCurrencySymbol === 'BNB' || this.sendCurrencySymbol === 'BCH' || this.sendCurrencySymbol === 'DOG' ||\r\n // this.sendCurrencySymbol === 'LTC' || this.sendCurrencySymbol === 'XRP') {\r\n // this.networkTypeOptions.push({ value: \"0\", label: this.getLabelValue(this.sendCurrencySymbol) });\r\n // } else {\r\n // if(this.sendCurrencySymbol !== 'CAS') {\r\n // this.networkTypeOptions.push({ value: \"1\", label: \"Ethereum (ERC-20)\" });\r\n // }\r\n // }\r\n\r\n // // if (this.sendCurrencySymbol === 'CAS') {\r\n // // this.networkTypeOptions.push({ value: \"3\", label: \"Polygon\" });\r\n // // }\r\n\r\n // if (this.sendCurrencySymbol === 'ETH' || this.sendCurrencySymbol === 'USDT' || this.sendCurrencySymbol === 'UNI' ||\r\n // this.sendCurrencySymbol === 'USDC' || this.sendCurrencySymbol === 'LINK') {\r\n // this.withdrawForm.controls[\"networkType\"].setValue(\"1\");\r\n // }\r\n // if (this.sendCurrencySymbol === 'BNB' || this.sendCurrencySymbol === 'BCH' || this.sendCurrencySymbol === 'CAS'\r\n // || this.sendCurrencySymbol === 'DOG' || this.sendCurrencySymbol === 'LTC' || this.sendCurrencySymbol === 'XRP') {\r\n // this.withdrawForm.controls[\"networkType\"].setValue(\"0\");\r\n // }\r\n // }\r\n }\r\n\r\n if (this.sendCurrencySymbol === 'EUR' || this.sendCurrencySymbol === 'USD' || this.sendCurrencySymbol === 'GBP') {\r\n this.withdrawForm.controls.recipientType.setValidators(ValidatorUtility.Required);\r\n this.fiatService.getmonthlyfreewithdrawlimit().subscribe((res: boolean) => {\r\n this.isFeeFree = res;\r\n this.getFee(data.symbol === 'GBP' ? 4: data.symbol === 'EUR' ? 1 : data.symbol === 'USD' ? this.withdrawForm.controls.deliveryMech.value === '2' ? 2 : 3 : undefined, Number(this.withdrawForm.controls.recipientType.value));\r\n })\r\n } else {\r\n this.withdrawForm.controls.recipientType.clearValidators();\r\n }\r\n this.withdrawForm.controls.recipientType.updateValueAndValidity();\r\n\r\n }\r\n\r\n minSendAmount(minSendValue: number): void {\r\n // this.minSendValue = minSendValue\r\n if(!this.isFiatCurrency()) {\r\n this.fiatService.getcryptosendfee(this.sendCurrencySymbol, Number(this.withdrawForm.controls.networkType.value)).subscribe((data: { nativeFee: number, casFee: number, minSendAmount: number, maxSendAmount: number }) => {\r\n if (data) {\r\n this.minSendValue = data.minSendAmount;\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n getLabelValue(currency: string): string {\r\n if (currency === 'BNB') {\r\n return \"BNB Beacon Chain (BEP2)\"\r\n } else {\r\n return this.getCurrencyName(currency);\r\n }\r\n }\r\n\r\n getMemoReferenceValid(): boolean {\r\n if ((this.sendCurrencySymbol === 'BNB' || this.sendCurrencySymbol === 'XRP' || this.sendCurrencySymbol === 'CAS') &&\r\n (this.withdrawForm.controls[\"networkType\"].value == '2' || this.withdrawForm.controls[\"networkType\"].value == '3')) {\r\n return false;\r\n }\r\n if (\r\n this.sendCurrencySymbol === \"USD\" ||\r\n this.sendCurrencySymbol === \"AUSD\" ||\r\n this.sendCurrencySymbol === \"EUR\" ||\r\n this.sendCurrencySymbol === \"GBP\" ||\r\n this.sendCurrencySymbol === \"CAS\" ||\r\n this.sendCurrencySymbol === \"BNB\" ||\r\n this.sendCurrencySymbol === \"XRP\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n sendAmountChangeEvent(): void {\r\n this.isMinSendValueError = false;\r\n if (this.userFeeMode === \"InNative\") {\r\n this.withdrawForm.controls[\"senderAmount\"].valueChanges.subscribe((val) => {\r\n if (val) {\r\n this.convertNewAmount(val);\r\n }\r\n });\r\n } else {\r\n this.withdrawForm.controls[\"senderAmount\"].valueChanges.subscribe((val) => {\r\n this.actulaconvertedamount = val;\r\n if (val) {\r\n this.convertNewAmount(val);\r\n }\r\n if (this.selectedfeeamount > this.casFeeCheckBalance) {\r\n this.memoError = true;\r\n this.isCashaa = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getDecimalNumber(symbol) {\r\n if (this.userFeeMode === \"InNative\") {\r\n let toFix = \"0\";\r\n if (this.fiatCurrencies.includes(symbol)) {\r\n toFix = \"0.2-2\";\r\n } else {\r\n toFix = \"0.4\";\r\n }\r\n return toFix;\r\n } else {\r\n return \"0.0\";\r\n }\r\n }\r\n\r\n convertToDecimal(val, symbol) {\r\n let toFix = 0;\r\n if (this.fiatCurrencies.includes(symbol)) {\r\n toFix = 2;\r\n } else {\r\n toFix = 4;\r\n }\r\n return parseFloat(parseFloat(val).toFixed(toFix)) * 1;\r\n }\r\n\r\n convertNewAmount(val: any): void {\r\n \r\n val = val ? val.replaceAll(\",\", \"\") : val;\r\n if (this.userFeeMode === \"InNative\") {\r\n let toFix = 0;\r\n if (this.fiatCurrencies.includes(this.sendCurrencySymbol)) {\r\n if(!this.isFeeFree) {\r\n this.feesCalculation(val);\r\n toFix = 2;\r\n }\r\n } else {\r\n toFix = 4;\r\n }\r\n this.actulaconvertedamount = Number(Number(val) - this.selectedfeeamount);\r\n this.withdrawForm.controls[\"receiverAmount\"].patchValue(\r\n (this.actulaconvertedamount > 0\r\n ? this.actulaconvertedamount\r\n : 0\r\n ).toFixed(toFix),\r\n { emitEvent: false, onlySelf: true }\r\n );\r\n\r\n } else {\r\n this.isCashaa = false;\r\n if (this.fiatCurrencies.includes(this.sendCurrencySymbol)) {\r\n if(!this.isFeeFree) {\r\n this.feesCalculation(val);\r\n }\r\n } else {\r\n this.actulaconvertedamount = Number(Number(val));\r\n if (this.sendCurrencySymbol === 'CAS') {\r\n this.actulaconvertedamount = this.actulaconvertedamount - this.selectedfeeamount;\r\n }\r\n this.withdrawForm.controls[\"receiverAmount\"].patchValue(this.actulaconvertedamount > 0 ? this.actulaconvertedamount.toString() : 0, {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n }\r\n }\r\n\r\n if (parseFloat(this.withdrawForm.controls[\"receiverAmount\"].value) !== 0) {\r\n this.withdrawForm.controls[\"receiverAmount\"].patchValue(\r\n this.decimalNumber.transform(\r\n this.withdrawForm.controls[\"receiverAmount\"].value.replaceAll(\",\", \"\"),\r\n \"0.0-4\"\r\n ),\r\n {\r\n emitEvent: false,\r\n onlySelf: true,\r\n }\r\n );\r\n }\r\n\r\n if (this.actulaconvertedamount < this.minSendValue) {\r\n this.isMinSendValueError = true;\r\n } else {\r\n this.isMinSendValueError = false;\r\n }\r\n }\r\n getTransferFeeByCurrecny(): void {\r\n const data = new TransferFeesByCurrencyModel(\r\n this.withdrawForm.controls[\"sendercurrencyId\"].value,\r\n this.withdrawForm.controls[\"senderAmount\"].value,\r\n 1,\r\n false\r\n );\r\n\r\n this.domainService.getTransferFeeByCurrecny(data).subscribe((res) => {\r\n this.transferFeesByCurrencyModel = res;\r\n if (res.otherFeeAmountInPercent > 0) {\r\n const otherFee = res.otherFeeAmountInPercent;\r\n const finalFee = otherFee * this.withdrawForm.controls[\"senderAmount\"].value;\r\n this._inCashaaFee = res.feeAmount + finalFee;\r\n if (this._inCashaaFee > this.casFeeCheckBalance) {\r\n this.iscasfee = true;\r\n this.memoError = true;\r\n }\r\n\r\n this.selectedfeeamount = res.feeAmount + finalFee;\r\n this.actulaconvertedamount = this.withdrawForm.controls[\"senderAmount\"].value;\r\n this.withdrawForm.controls[\"receiverAmount\"].patchValue(\r\n this.actulaconvertedamount > 0 ? this.actulaconvertedamount : 0,\r\n { emitEvent: false, onlySelf: true }\r\n );\r\n if (this.actulaconvertedamount < this.minSendValue) {\r\n this.isMinSendValueError = true;\r\n } else {\r\n this.isMinSendValueError = false;\r\n }\r\n } else {\r\n this._inCashaaFee = res.feeAmount;\r\n }\r\n });\r\n }\r\n /**\r\n * get user balance\r\n */\r\n getUserBalance(): void {\r\n this.iscasfee = false;\r\n this.userService.getUserBalance().subscribe((balance) => {\r\n const found = balance.filter((b) => b.currencyType === \"CAS\");\r\n if (found.length > 0) {\r\n this.casFeeCheckBalance = found[0].available;\r\n this.casFeeCheckBalance = Number(this.casFeeCheckBalance.toFixed(4));\r\n if (this.selectedfeeamount > this.casFeeCheckBalance) {\r\n this.memoError = true;\r\n this.isCashaa = true;\r\n }\r\n } else {\r\n this.casFeeCheckBalance = 0;\r\n }\r\n });\r\n }\r\n\r\n getLabel(): string {\r\n if (this.sendCurrencySymbol === \"CAS\" || this.sendCurrencySymbol === \"BNB\") {\r\n return \"Memo\";\r\n } if (this.sendCurrencySymbol === \"XRP\") {\r\n return \"Tag\"\r\n } else {\r\n return \"Reference\";\r\n }\r\n }\r\n\r\n getSentValue(): boolean {\r\n return this.actulaconvertedamount < 0;\r\n }\r\n\r\n checkValues(): boolean {\r\n return (\r\n this.withdrawForm.controls.senderAmount.value === \".\" ||\r\n parseFloat(this.withdrawForm.controls.senderAmount.value) === 0\r\n );\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"Dogecoin (DOGE)\";\r\n if (curr === \"BCH\") return \"Bitcoin Cash (BCH)\";\r\n if (curr === \"XRP\") return \"Ripple (XRP)\";\r\n if (curr === \"LTC\") return \"Litecoin (LTC)\";\r\n else return curr;\r\n }\r\n\r\n getKycDetail(): void {\r\n this.loading = true;\r\n this.kycService.getKycDetails().subscribe((res) => {\r\n if (res) {\r\n this.loading = false;\r\n if (res.verified) {\r\n this.isKycDone = true;\r\n } else {\r\n this.errorMessage = `In order to initiate a withdrawal, complete your KYC by clicking here.`;\r\n }\r\n }\r\n }, (err) => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getBusinessKycDetail(): void {\r\n this.upgardeService.usdStatus().subscribe(\r\n (flag) => {\r\n if (flag.status === 5) {\r\n this.isKycDone = true;\r\n } else {\r\n this.errorMessage = `In order to initiate a withdrawal, complete your KYC by clicking here.`;\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n isWithdrawCurrencyFiat(): boolean {\r\n return this.sendCurrencySymbol === 'GBP' || this.sendCurrencySymbol === 'EUR' || this.sendCurrencySymbol === 'USD';\r\n }\r\n\r\n isFiatCurrency(): boolean {\r\n return this.fiatCurrencies.includes(this.sendCurrencySymbol);\r\n }\r\n\r\n deliveryMechChanges(event: IFormSelect): void {\r\n this.isMinSendValueError = true;\r\n this.fiatService.getmonthlyfreewithdrawlimit().subscribe((data: boolean) => {\r\n this.isFeeFree = data; \r\n this.getFee(this.sendCurrencySymbol === 'GBP' ? 4 : this.sendCurrencySymbol === 'EUR' ? 1 : this.sendCurrencySymbol === 'USD' ? event.value === '2' ? 2 : 3 : undefined, Number(this.withdrawForm.controls.recipientType.value));\r\n })\r\n }\r\n\r\n networkTypeChanges(event: IFormSelect): void {\r\n this.loading = true;\r\n this.isMinSendValueError = true;\r\n this.withdrawForm.controls.networkType.setValue(event.networkValue);\r\n this.fiatService.getmonthlyfreewithdrawlimit().subscribe((data: boolean) => {\r\n this.isFeeFree = data;\r\n let isFee = data;\r\n this.loading = false;\r\n // this.loading = true;\r\n this.fiatService.getcryptosendfee(this.sendCurrencySymbol, Number(event.networkValue)).subscribe((data: { nativeFee: number, casFee: number, minSendAmount: number, maxSendAmount: number }) => {\r\n if (data) {\r\n this.minSendValue = data.minSendAmount;\r\n this.checkMinSendAmountError();\r\n if(!isFee) {\r\n if (this.userFeeMode === \"InNative\") {\r\n this.selectedfeeamount = data.nativeFee;\r\n } else {\r\n this.selectedfeeamount = data.casFee;\r\n }\r\n } else {\r\n \r\n }\r\n this.loading = false;\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n

\r\n How much would you like to transfer?\r\n

\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n *Do you want to send money to someone else? \r\n \r\n Click here to upgrade.\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {{ convertToDecimal(selectedfeeamount,sendCurrencySymbol) }} {{ getCurrencyName(sendCurrencySymbol) }}\r\n\r\n

\r\n \r\n

Fee

\r\n

\r\n {{ convertToDecimal(selectedfeeamount,'CAS') }} CAS Fee\r\n

\r\n \r\n\r\n
\r\n \r\n  Insufficient, {{casFeeCheckBalance}} CAS balance\r\n \r\n \r\n You have {{casFeeCheckBalance}}\r\n CAS balance\r\n \r\n
\r\n
\r\n
\r\n

0\" class=\"font-weight-bolder ml-2 mr-3 mb-0\">\r\n {{ actulaconvertedamount | number: getDecimalNumber(sendCurrencySymbol)}} {{ getCurrencyName(sendCurrencySymbol)\r\n }} amount we'll\r\n transfer\r\n

\r\n\r\n

0)\"\r\n class=\"tran-amt ml-2 mr-3 mb-0\">\r\n 0 {{ getCurrencyName(sendCurrencySymbol) }} amount we'll transfer\r\n

\r\n
\r\n
\r\n

0\" class=\"font-weight-bolder ml-2 mr-3 mb-0\">\r\n {{ actulaconvertedamount | number: getDecimalNumber(sendCurrencySymbol)}} {{\r\n getCurrencyName(sendCurrencySymbol) }} amount we'll\r\n transfer\r\n

\r\n\r\n

0)\"\r\n class=\"font-weight-bolder ml-2 mr-3 mb-0\">\r\n 0 {{ getCurrencyName(sendCurrencySymbol) }} amount we'll transfer\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n

\r\n {{sendCurrencySymbol}} amount should not be less than {{minSendValue}} \r\n \r\n on ({{nt.label}})\r\n \r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FiatService } from \"../services/fiat.service\";\r\nimport { Pay, SkipBenificry } from \"src/app/core/models/fIat/fiat-pay\";\r\nimport { Recipient } from \"src/app/core/models/fIat/recipients\";\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\n@Component({\r\n selector: \"cashaa-fiat-flow-pay-approve\",\r\n templateUrl: \"./fiat-flow-pay-approve.component.html\",\r\n styleUrls: [\"./fiat-flow-pay-approve.component.scss\"],\r\n})\r\nexport class FiatFlowPayApproveComponent implements OnInit {\r\n /** fiat send ata */\r\n fiatdata?: Pay;\r\n symbol: string;\r\n\r\n /** fiat recipient data */\r\n fiatRecipientData?: Recipient;\r\n\r\n /** is some request in progress */\r\n isInProgress = false;\r\n\r\n constructor(\r\n private fiatService: FiatService,\r\n public modalRef: MDBModalRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getFiateData();\r\n this.getRecipientData();\r\n }\r\n\r\n /**\r\n * Get fiat data from previous requests\r\n *\r\n */\r\n getFiateData(): void {\r\n this.fiatService.getPayRequestData().subscribe((recipentsListData) => {\r\n if (recipentsListData) {\r\n this.fiatdata = recipentsListData;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get recipient data\r\n */\r\n getRecipientData(): void {\r\n this.fiatService.getemitRecipientdData().subscribe((fiatRecipientdData) => {\r\n if (fiatRecipientdData) {\r\n this.fiatRecipientData = fiatRecipientdData;\r\n this.symbol = fiatRecipientdData.currency;\r\n\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Skip approval requesst next time\r\n */\r\n skipApprovalRequest(): void {\r\n this.storeConfirmation(true);\r\n }\r\n\r\n /**\r\n * ALways requrie approval\r\n *\r\n */\r\n requireApprovalRequest(): void {\r\n this.modalRef.hide();\r\n }\r\n\r\n /**\r\n * Store confirmation given by use to\r\n * server\r\n */\r\n storeConfirmation(skipstatus: boolean): void {\r\n // this.fiatdata.isrecipientSkiped = skipstatus;\r\n \r\n const data = new SkipBenificry(this.fiatdata.fiatBeneficiaryId, skipstatus, this.symbol);\r\n\r\n this.fiatService.Skiprecipent(data).subscribe((success) => {\r\n this.modalRef.hide();\r\n });\r\n }\r\n}\r\n","\r\n \r\n\r\n
\r\n \r\n
\r\n

\r\n Skip your approval Request for future balance transfer to\r\n {{ fiatRecipientData?.name }}\r\n

\r\n\r\n \r\n\r\n \r\n\r\n
\r\n

\r\n You can always change in the recipients section\r\n

\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
","import { CreateWithdrawRequest } from \"./../../core/models/withdraw-fund\";\r\nimport { WalletService } from \"./../../wallet/services/wallet.service\";\r\nimport { Component, ElementRef, OnInit, QueryList, ViewChildren } from \"@angular/core\";\r\nimport { FiatService } from \"../services/fiat.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { APP_ROUTES, UNABLE_TO_PERFORM_ERROR, USER_TWO_FACTOR_CODE } from \"src/app/app.constants\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { Recipient } from \"src/app/core/models/fIat/recipients\";\r\nimport { Pay } from \"src/app/core/models/fIat/fiat-pay\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\nimport { WithdrawService } from \"src/app/withdraw/services/withdraw.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { SubSink } from \"subsink\";\r\nimport { AccountService } from \"src/app/account/sevices/account.service\";\r\n@Component({\r\n selector: \"cashaa-fiat-flow-pay-auth-approval\",\r\n templateUrl: \"./fiat-flow-pay-auth-approval.component.html\",\r\n styleUrls: [\"./fiat-flow-pay-auth-approval.component.scss\"],\r\n})\r\nexport class FiatFlowPayAuthApprovalComponent implements OnInit {\r\n /** form */\r\n authApprovalForm: FormGroup;\r\n\r\n /** pay flow data */\r\n payflowdata: Pay;\r\n\r\n /** is some request in progress */\r\n isInProgress = false;\r\n\r\n /** any error come */\r\n errorMessage = \"\";\r\n currecnyType: string;\r\n subSink = new SubSink();\r\n /** fiat recipient data */\r\n fiatRecipientData?: Recipient;\r\n\r\n isTwoFactorEnable = false;\r\n allCodeEntered = false;\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n twoFACode: string = \"\";\r\n @ViewChildren(\"twoFAInputs\") twoFAInputs: QueryList;\r\n isTwoFAInProgress = false;\r\n constructor(\r\n private fiatService: FiatService,\r\n private fb: FormBuilder,\r\n private modalService: ModalService,\r\n public modalRef: MDBModalRef,\r\n private withdrawService: WithdrawService,\r\n private toastrService: ToastrService,\r\n private accountService: AccountService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n // this.createForm();\r\n this.getFiateData();\r\n this.checkTwoFactorEnable();\r\n this.subSink.add(\r\n this.fiatService\r\n .getemitRecipientdData()\r\n .subscribe((fiatRecipientdData) => {\r\n if (fiatRecipientdData) {\r\n this.fiatRecipientData = fiatRecipientdData;\r\n }\r\n })\r\n );\r\n }\r\n\r\n \r\n\r\n /**\r\n * Create empty form\r\n *\r\n */\r\n // createForm(): void {\r\n // this.authApprovalForm = this.fb.group({\r\n // password: [\"\", [ValidatorUtility.Required]],\r\n // });\r\n // }\r\n\r\n /**\r\n * Get fiat data\r\n *\r\n */\r\n getFiateData(): void {\r\n this.fiatService.getPayRequestData().subscribe((recipentsListData) => {\r\n if (recipentsListData) {\r\n this.payflowdata = recipentsListData;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * on submission of form\r\n */\r\n onFormSubmit(): void {\r\n this.isInProgress = true;\r\n this.errorMessage = \"\";\r\n // get transfer currency type\r\n this.payflowdata[\"password\"] = {\"twoFA\": this.twoFACode, \"password\": null};\r\n this.fiatService.getCurrencyType(this.payflowdata.fromCurrencyId).subscribe(\r\n (res) => {\r\n this.currecnyType = res.message;\r\n this.finalSubmit();\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n finalSubmit(): void {\r\n if (this.currecnyType === \"Fiat\") {\r\n if (this.payflowdata.isrecipientSkiped === false) {\r\n // this.payflowdata.password = this.authApprovalForm.value;\r\n this.payflowdata.password = {\"twoFA\": this.twoFACode, \"password\": null};\r\n this.fiatService.sendPayRequest(this.payflowdata).subscribe(\r\n (senddataresponse) => {\r\n if (senddataresponse) {\r\n this.fiatService.setTransactionId(senddataresponse.message);\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.modalService.openRecipentSkipRequiredPopup();\r\n }\r\n },\r\n (err) => {\r\n this.fiatService.setTransactionId(null);\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n } else {\r\n // this.payflowdata.password = this.authApprovalForm.value;\r\n this.payflowdata.password = {\"twoFA\": this.twoFACode, \"password\": null};\r\n this.fiatService.sendPayRequest(this.payflowdata).subscribe(\r\n (senddataresponse) => {\r\n this.isInProgress = false;\r\n if (senddataresponse) {\r\n this.fiatService.setTransactionId(senddataresponse.message);\r\n this.modalRef.hide();\r\n this.modalService.openRecipentSkipRequiredPopup();\r\n }\r\n },\r\n (err) => {\r\n this.fiatService.setTransactionId(null);\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n } else if (this.currecnyType === \"Crypto\") {\r\n if(!this.fiatRecipientData.memo) {\r\n this.fiatRecipientData.memo = \"\";\r\n }\r\n // this.payflowdata.password = this.authApprovalForm.value;\r\n this.payflowdata.password = {\"twoFA\": this.twoFACode, \"password\": null};;\r\n const data = this.payflowdata;\r\n const withdrawRequestData = new CreateWithdrawRequest(\r\n // data.currency,\r\n // data.accountNumber,\r\n // data.amount,\r\n // data.remark,\r\n // data.networkType\r\n data.currency,\r\n this.fiatRecipientData.id,\r\n data.amount,\r\n this.fiatRecipientData.memo,\r\n this.fiatRecipientData.network.toString().length > 0 ? this.fiatRecipientData.network.toString(): undefined,\r\n data.password,\r\n data.isrecipientSkiped\r\n );\r\n this.withdrawService.createWithdrawRequest(withdrawRequestData).subscribe(\r\n (res) => {\r\n this.fiatService.setTransactionId(res.message);\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.modalService.openRecipentSkipRequiredPopup();\r\n },\r\n (err) => {\r\n this.fiatService.setTransactionId(null);\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n checkTwoFactorEnable() {\r\n this.accountService.isTwoFactorEnabled().subscribe(res => {\r\n sessionStorage.setItem(USER_TWO_FACTOR_CODE, res.toString());\r\n this.isTwoFactorEnable = res;\r\n }, err => {\r\n\r\n })\r\n }\r\n\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfTwoFACodeIsFilled(idx: number): void {\r\n if (idx >= 0 && idx < 5 && this.code[idx]) {\r\n this.twoFAInputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n \r\n this.allCodeEntered = true;\r\n this.code.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allCodeEntered = false;\r\n }\r\n });\r\n if (this.allCodeEntered) {\r\n this.isTwoFAInProgress = true;\r\n this.errorMessage = \"\";\r\n this.twoFACode = this.code.join(\"\");\r\n }\r\n }\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onTwoFACodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.code = pastedText.split(\"\");\r\n this.checkIfTwoFACodeIsFilled(-1);\r\n }\r\n }\r\n removeTwoFAOTPBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.twoFAInputs.toArray()[index].nativeElement.focus();\r\n }\r\n }\r\n\r\n removeError(): void {\r\n if (this.errorMessage !== undefined) {\r\n this.errorMessage = undefined;\r\n }\r\n }\r\n\r\n hideModal(){\r\n this.modalRef.hide();\r\n }\r\n}\r\n","\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n Two - Factor Authentication\r\n
\r\n
\r\n \r\n

\r\n Input the 6-digit code in your Google Authentication app\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Your google 2FA is not enabled\r\n click here to\r\n enable.\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n {{ errorMessage }}\r\n
\r\n
\r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\n\r\n@Component({\r\n selector: \"cashaa-fiat-flow-recipient-add-business\",\r\n templateUrl: \"./fiat-flow-recipient-add-business.component.html\",\r\n styleUrls: [\"./fiat-flow-recipient-add-business.component.scss\"],\r\n})\r\nexport class FiatFlowRecipientAddBusinessComponent implements OnInit {\r\n /** form group */\r\n form: FormGroup;\r\n\r\n constructor(private fb: FormBuilder, public modalRef: MDBModalRef) {\r\n this.createEmptyForm();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n createEmptyForm(): void {\r\n this.form = this.fb.group({\r\n email: [\"\"],\r\n name: [\"\"],\r\n countryId: [\"\"],\r\n city: [\"\"],\r\n address: [\"\"],\r\n zipcode: [\"\"],\r\n state: [\"\"],\r\n bankCountryId: [\"\"],\r\n routingNumber: [\"\"],\r\n accountNumber: [\"\"],\r\n accountType: [\"c\"],\r\n });\r\n }\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {}\r\n}\r\n","
\r\n \r\n ×\r\n \r\n \r\n Send to business / charity\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
Recipient's address
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
Bank details
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n Confirm\r\n \r\n
\r\n","import { SUBSCRIPTION_BUSINESS_PLAN, SUBSCRIPTION_PERSONAL_PLAN, USER_ID, USER_NAME_ID, USER_NAME_PATH, USER_TYPE } from \"./../../app.constants\";\r\nimport { Component, OnInit, Output, EventEmitter, OnDestroy, Input } from \"@angular/core\";\r\nimport { FiatService } from \"../services/fiat.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FiatFlow } from \"src/app/core/models/fIat/fiat-flow\";\r\nimport { IRecipient } from \"src/app/core/models/fIat/recipients\";\r\nimport { APP_ROUTES, USER_EMAIL_PATH } from \"src/app/app.constants\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { SubSink } from \"subsink\";\r\nimport { IFiatRecipient } from \"src/app/core/models/fIat/fiat-pay\";\r\nimport { AccountUpgradeService } from \"../../account-upgrade/services/account-upgrade.service\"\r\nimport { UserSubscriptionPlan } from \"src/app/core/models/account-upgrade/subscription-plan-response\";\r\n\r\n@Component({\r\n selector: \"cashaa-fiat-flow-recipient\",\r\n templateUrl: \"./fiat-flow-recipient.component.html\",\r\n styleUrls: [\"./fiat-flow-recipient.component.scss\"],\r\n})\r\nexport class FiatFlowRecipientComponent implements OnInit, OnDestroy {\r\n /** Recipients */\r\n recipients: IRecipient[];\r\n selectedRecipients: IRecipient[];\r\n symbol: string;\r\n loading = false;\r\n currentPlanDetails;\r\n isPremuimPlan;\r\n @Input() selected: IRecipient;\r\n fiatFlowData: FiatFlow;\r\n data;\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\"];\r\n @Input() set skipped(status: boolean) {\r\n if (status) {\r\n this.selectRecipients(this.selected);\r\n }\r\n }\r\n\r\n /** on continue click */\r\n @Output() continue = new EventEmitter();\r\n\r\n subSink = new SubSink();\r\n networkTypeOptions = [];\r\n networkVal: number;\r\n constructor(\r\n private fiatService: FiatService,\r\n private modalService: ModalService,\r\n private router: Router,\r\n private upgardeService: AccountUpgradeService\r\n ) {}\r\n \r\n ngOnInit(): void {\r\n\r\n this.getActionSubscriptionPlan();\r\n this.getCurrencySymbol();\r\n this.fiatService.getfiatFlowPaydDataEmitter().subscribe((fiatFlowData) => {\r\n if (fiatFlowData) {\r\n this.fiatFlowData = fiatFlowData;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get recipient list\r\n */\r\n getRecipientList(symbol: string, network: number, recipientType): void {\r\n this.loading = true;\r\n this.networkVal = network;\r\n this.subSink.add(this.fiatService.getRecipents(symbol, network, recipientType).subscribe((recipentsListData) => {\r\n this.loading = false;\r\n if (recipentsListData) {\r\n this.recipients = recipentsListData;\r\n }\r\n }));\r\n }\r\n\r\n /**\r\n * on some recipient is selected\r\n * Selected recipient\r\n */\r\n selectRecipients(recipient: IRecipient): void {\r\n if(recipient?.isCashaaAddress && !recipient?.memo && recipient?.network === 0) {\r\n } else {\r\n this.fiatService.emitFiatRecipientdData(recipient);\r\n this.continue.emit();\r\n } \r\n }\r\n \r\n getCurrencySymbol(): void {\r\n this.loading = true;\r\n this.subSink.add(this.fiatService.getCurrencySymbolEmitter().subscribe((data:IFiatRecipient) => {\r\n if (data) {\r\n this.data = data;\r\n this.symbol = data.currencySymbol;\r\n this.loading = false;\r\n this.updateNetworkType();\r\n this.getRecipientList(this.symbol, data.network, data.recipientType);\r\n \r\n } else {\r\n this.loading = false;\r\n }\r\n }));\r\n }\r\n\r\n /**\r\n * Add new business\r\n */\r\n openAddBusiness(): void {\r\n this.modalService.openSendMoneyAddRecipientBusiness(this.symbol);\r\n }\r\n\r\n openAddRecipient(): void {\r\n const name = sessionStorage.getItem(USER_NAME_ID);\r\n const email = sessionStorage.getItem(USER_EMAIL_PATH);\r\n this.router.navigateByUrl('recipient');\r\n // this.modalService.openRecipientAddModal(name, email, this.symbol, \"Self Bank Account\");\r\n }\r\n \r\n\r\n openAddRecipientOther(): void {\r\n if(this.isPremuimPlan) {\r\n this.router.navigateByUrl('add-customer');\r\n } else {\r\n this.router.navigateByUrl('recipient');\r\n }\r\n\r\n // this.modalService.openRecipientAddModal(\"\", \"\", this.symbol, \"Other Bank Account\");\r\n }\r\n\r\n openAddRecipientCharity(): void {\r\n this.modalService.openRecipientAddModal(\"\", \"\", this.symbol, \"Charitable\");\r\n }\r\n\r\n getActionSubscriptionPlan() {\r\n this.upgardeService.getUserActionSubscriptionPlan().subscribe((data: UserSubscriptionPlan) => {\r\n if (data) {\r\n this.currentPlanDetails = data;\r\n if (sessionStorage.getItem(USER_TYPE) === '4') {\r\n if (SUBSCRIPTION_PERSONAL_PLAN.PREMIUM === this.currentPlanDetails.planName) {\r\n this.isPremuimPlan = true;\r\n }\r\n } else {\r\n if (SUBSCRIPTION_BUSINESS_PLAN.PREMIUM === this.currentPlanDetails.planName) {\r\n this.isPremuimPlan = true;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n getLabelValue(currency: string): string {\r\n if (currency === 'CAS' || currency === 'BNB') {\r\n return \"BNB Beacon Chain (BEP2)\"\r\n } else {\r\n return this.getCurrencyName(currency);\r\n }\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"Dogecoin (DOGE)\";\r\n if (curr === \"BCH\") return \"Bitcoin Cash (BCH)\";\r\n if (curr === \"XRP\") return \"Ripple (XRP)\";\r\n if (curr === \"LTC\") return \"Litecoin (LTC)\";\r\n else return curr;\r\n }\r\n\r\n updateNetworkType() {\r\n if(this.symbol === 'BNB') {\r\n this.networkTypeOptions = [{ value: \"0\", label: \"BNB Beacon Chain (BEP-2)\" }];\r\n }\r\n\r\n if(this.symbol === 'BTC') {\r\n this.networkTypeOptions = [{ value: \"0\", label: \"BTC (Bitcoin)\" }];\r\n }\r\n\r\n if (!this.fiatCurrencies.includes(this.symbol) && !(this.symbol === 'BTC' || this.symbol === 'BNB')) {\r\n this.networkTypeOptions = [{ value: \"2\", label: \"BNB Smart Chain (BEP-20)\" }];\r\n if (this.symbol === 'BNB' || this.symbol === 'BCH' || this.symbol === 'DOG' ||\r\n this.symbol === 'LTC' || this.symbol === 'XRP' || this.symbol === 'CAS') {\r\n this.networkTypeOptions.push({ value: \"0\", label: this.getLabelValue(this.symbol) });\r\n } else {\r\n this.networkTypeOptions.push({ value: \"1\", label: \"Ethereum (ERC-20)\" });\r\n }\r\n\r\n // if (this.symbol === 'CAS') {\r\n // this.networkTypeOptions.push({ value: \"3\", label: \"Polygon\" });\r\n // }\r\n if (this.symbol === 'ETH' || this.symbol === 'USDT' || this.symbol === 'UNI' ||\r\n this.symbol === 'USDC' || this.symbol === 'LINK') {\r\n }\r\n if (this.symbol === 'BNB' || this.symbol === 'BCH' || this.symbol === 'CAS'\r\n || this.symbol === 'DOG' || this.symbol === 'LTC' || this.symbol === 'XRP') {\r\n // this.recipientAddForm.controls[\"networkType\"].setValue(\"0\");\r\n }\r\n }\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.subSink.unsubscribe();\r\n }\r\n}\r\n","
\r\n

\r\n Who are you sending {{symbol}} to?\r\n

\r\n

Existing address\r\n \r\n ({{nt.label}})\r\n \r\n

\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n Add {{symbol}} Address\r\n

\r\n

\r\n Add Bank Account\r\n

\r\n \r\n
\r\n\r\n

New recipient

\r\n

New Address

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { MDBModalService } from \"ng-uikit-pro-standard\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { FiatFlow } from \"src/app/core/models/fIat/fiat-flow\";\r\n\r\nimport { FiatService } from \"../services/fiat.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Recipient, IRecipient } from \"src/app/core/models/fIat/recipients\";\r\nimport { Pay } from \"src/app/core/models/fIat/fiat-pay\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { ICurrency } from \"src/app/core/models/currency\";\r\nimport {\r\n IFiatInOutTransferFees,\r\n ITransferFees,\r\n TransferFeesByCurrencyModel,\r\n} from \"src/app/core/models/transfer-types\";\r\nimport {\r\n APP_ROUTES,\r\n UNABLE_TO_PERFORM_ERROR,\r\n USER_FEE_MODE,\r\n} from \"src/app/app.constants\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { WithdrawService } from \"src/app/withdraw/services/withdraw.service\";\r\nimport { CreateWithdrawRequest } from \"src/app/core/models/withdraw-fund\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { SubSink } from \"subsink\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\n\r\n@Component({\r\n selector: \"cashaa-fiat-flow-review\",\r\n templateUrl: \"./fiat-flow-review.component.html\",\r\n styleUrls: [\"./fiat-flow-review.component.scss\"],\r\n})\r\nexport class FiatFlowReviewComponent implements OnInit, OnDestroy {\r\n /** go back given number of steps */\r\n @Output() goback = new EventEmitter();\r\n\r\n @Output() completed = new EventEmitter();\r\n\r\n form: FormGroup;\r\n\r\n /** FiatFlow data */\r\n fiatFlowData?: FiatFlow;\r\n\r\n /** fiat recipient data */\r\n fiatRecipientData?: Recipient;\r\n\r\n // hold pay data request\r\n fromcurrencyObject: ICurrency;\r\n\r\n /** to currency object */\r\n tocurrencyObject: ICurrency;\r\n\r\n /** fee amount object */\r\n feeAmountObject: ITransferFees;\r\n\r\n /** balance data */\r\n balanceData?: IUserBalance[];\r\n\r\n /** conditions accepted */\r\n conditionsAccepted = false;\r\n\r\n defaultAccountNo = [\r\n \"bnb13q87ekxvvte78t2q7z05lzfethnlht5agfh4ur\",\r\n \"bnb1jygevqedp4dfcgqjxvdz0jlp6jtg687k799jxt\",\r\n \"bnb1gx5n6tnu70h0aec3cd68l8g27lrnnrvvu7nla8\",\r\n ];\r\n loading = false;\r\n /** feemode variable */\r\n userFeeMode = sessionStorage.getItem(USER_FEE_MODE);\r\n transferFeesByCurrencyModel: IFiatInOutTransferFees;\r\n isCashaaFee?: number;\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\"];\r\n subSink = new SubSink();\r\n memo: string;\r\n isMemoActive: boolean;\r\n /**\r\n * This currency id for CAS Fee\r\n *\r\n *\r\n * @memberOf FiatFlowReviewComponent\r\n */\r\n _casCurrecnyId = \"43796AC1-8F4E-4875-2533-08D7B39928D1\";\r\n constructor(\r\n private fb: FormBuilder,\r\n private fiatService: FiatService,\r\n private domainService: DomainService,\r\n private modalService: ModalService,\r\n private mdbModalService: MDBModalService,\r\n private withdrawService: WithdrawService,\r\n private toastrService: ToastrService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.listenToDataEmitted();\r\n this.form = this.fb.group({\r\n memo: [\r\n \"\",\r\n [\r\n Validators.required,\r\n Validators.maxLength(20),\r\n ValidatorUtility.OnlyNumberRequired,\r\n Validators.minLength(4),\r\n ],\r\n ],\r\n });\r\n this.form.controls.memo.valueChanges.subscribe((val) => {\r\n this.memo = val;\r\n });\r\n }\r\n\r\n /**\r\n * Listen to data emitted in previous\r\n * steps\r\n */\r\n listenToDataEmitted(): void {\r\n this.subSink.add(\r\n this.fiatService\r\n .getemitRecipientdData()\r\n .subscribe((fiatRecipientdData) => {\r\n if (fiatRecipientdData) {\r\n this.fiatRecipientData = fiatRecipientdData;\r\n }\r\n })\r\n );\r\n\r\n this.subSink.add(\r\n this.fiatService\r\n .getfiatFlowPaydDataEmitter()\r\n .subscribe((fiatFlowData) => {\r\n if (fiatFlowData) {\r\n this.fiatFlowData = fiatFlowData;\r\n this.getFromCurrency(this.fiatFlowData);\r\n this.getFee(this.fiatFlowData);\r\n this.getToCurrency(this.fiatFlowData);\r\n if (this.fiatFlowData.memo) {\r\n this.form.get(\"memo\").setValue(this.fiatFlowData.memo);\r\n this.form.get(\"memo\").markAsTouched();\r\n this.form.get(\"memo\").updateValueAndValidity();\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Get to currency data\r\n */\r\n getToCurrency(fiatFlow: FiatFlow): void {\r\n this.tocurrencyObject = fiatFlow.fromcurrencyObject;\r\n }\r\n\r\n /**\r\n * Get fee data\r\n */\r\n getFromCurrency(fiatFlow: FiatFlow): void {\r\n this.fromcurrencyObject = fiatFlow.fromcurrencyObject;\r\n }\r\n\r\n /**\r\n * Get fee data\r\n */\r\n getFee(fiatFlow: FiatFlow): void {\r\n this.feeAmountObject = fiatFlow.feeAmountObject;\r\n }\r\n\r\n getTransferFeeByCurrecny(): void {\r\n const data = new TransferFeesByCurrencyModel(\r\n this.fiatFlowData.sendercurrencyId,\r\n String(this.fiatFlowData?.senderAmount),\r\n 1,\r\n false\r\n );\r\n\r\n this.subSink.add(\r\n this.domainService.getTransferFeeByCurrecny(data).subscribe((res) => {\r\n this.transferFeesByCurrencyModel = res;\r\n if (res.otherFeeAmountInPercent > 0) {\r\n const otherFee = res.otherFeeAmountInPercent;\r\n const finalFee = otherFee * this.fiatFlowData?.senderAmount;\r\n this.isCashaaFee = res.feeAmount + finalFee;\r\n }\r\n })\r\n );\r\n }\r\n\r\n getDecimalNumber(symbol) {\r\n let toFix = \"0\";\r\n if (symbol === \"CAS\" || symbol === \"BNB\") {\r\n toFix = \"0.4\";\r\n } else if (this.fiatCurrencies.includes(symbol)) {\r\n toFix = \"0.2-2\";\r\n } else {\r\n toFix = \"0.4\";\r\n }\r\n return toFix;\r\n }\r\n\r\n convertToDecimal(val, symbol) {\r\n let toFix = 0;\r\n if (this.fiatCurrencies.includes(symbol)) {\r\n toFix = 2;\r\n } else {\r\n toFix = 4;\r\n }\r\n\r\n return parseFloat(parseFloat(val).toFixed(toFix)) * 1;\r\n }\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {\r\n let data;\r\n data = new Pay(\r\n this.fiatFlowData.sendercurrencyId,\r\n this.fiatFlowData.recivercurrencyId,\r\n Number(this.userFeeMode === 'InCashaa' && this.fromcurrencyObject.symbol === 'CAS' ? this.fiatFlowData.reciverAmount : this.fiatFlowData.senderAmount),\r\n this.fiatFlowData.sendertransferFeeId,\r\n // this.memo ? this.memo : this.fiatFlowData.memo,\r\n this.fiatRecipientData.memo,\r\n this.fiatRecipientData.id,\r\n this.fiatRecipientData.isrecipientSkiped,\r\n this.fromcurrencyObject.symbol,\r\n this.fiatRecipientData.accountNumber\r\n );\r\n\r\n if (this.fiatFlowData.networkType?.length > 0) {\r\n data.networkType = this.fiatFlowData.networkType;\r\n }\r\n\r\n if (this.fiatFlowData.deliveryMech) {\r\n data.deliveryMech = this.fiatFlowData.deliveryMech;\r\n }\r\n\r\n if (this.fiatFlowData.recipientType) {\r\n data.recipientType = this.fiatFlowData.recipientType;\r\n }\r\n\r\n const IsRecipientSkip = data.isrecipientSkiped;\r\n if (!IsRecipientSkip) {\r\n this.fiatService.emitPayRequestDataEmitter(data);\r\n this.modalService.openSendMoneySecurityConfirmation();\r\n this.subSink.add(\r\n this.mdbModalService.closed.subscribe(\r\n (r) => {\r\n if (this.fiatService.getTransactionId()) {\r\n this.completed.emit(this.fiatService.getTransactionId());\r\n }\r\n },\r\n (err) => {\r\n this.loading = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n )\r\n );\r\n } else {\r\n this.loading = true;\r\n if (\r\n data.currency == \"GBP\" ||\r\n data.currency == \"EUR\" ||\r\n data.currency == \"AUSD\" ||\r\n data.currency == \"USD\"\r\n ) {\r\n this.subSink.add(\r\n this.fiatService.sendPayRequest(data).subscribe((payRequestData) => {\r\n this.loading = false;\r\n this.completed.emit(payRequestData.message);\r\n })\r\n );\r\n } else {\r\n const withdrawRequestData = new CreateWithdrawRequest(\r\n data.currency,\r\n this.fiatRecipientData.id,\r\n data.amount,\r\n // data.remark,\r\n this.fiatRecipientData.memo? this.fiatRecipientData.memo : \"\",\r\n // this.fiatFlowData.networkType?.length > 0 ? this.fiatFlowData.networkType : undefined\r\n this.fiatRecipientData.network.toString().length > 0 ? this.fiatRecipientData.network.toString(): undefined\r\n );\r\n this.subSink.add(\r\n this.withdrawService\r\n .createWithdrawRequest(withdrawRequestData)\r\n .subscribe(\r\n (res) => {\r\n this.loading = false;\r\n this.completed.emit(res.message);\r\n },\r\n (err) => {\r\n this.loading = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n )\r\n );\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * On transfer detail edit click\r\n */\r\n onTransferDetailEdit(): void {\r\n this.goback.emit(2);\r\n }\r\n\r\n /**\r\n * On transfer detail edit click\r\n */\r\n onRecipientDetailEdit(): void {\r\n this.goback.emit(1);\r\n }\r\n\r\n getLabel(): string {\r\n if (\r\n this.fiatFlowData?.fromcurrencyObject?.symbol === \"USDT\" ||\r\n this.fiatFlowData?.fromcurrencyObject?.symbol === \"CAS\" ||\r\n this.fiatFlowData?.fromcurrencyObject?.symbol === \"BTC\" ||\r\n this.fiatFlowData?.fromcurrencyObject?.symbol === \"ETH\" ||\r\n this.fiatFlowData?.fromcurrencyObject?.symbol === \"BNB\"\r\n ) {\r\n return \"Memo\";\r\n } if (this.fiatFlowData?.fromcurrencyObject?.symbol === \"XRP\") {\r\n return \"Tag\"\r\n } else {\r\n return \"Reference\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subSink.unsubscribe();\r\n }\r\n\r\n getMemoReferenceValid(): boolean {\r\n if (\r\n (this.fiatFlowData?.fromcurrencyObject?.symbol === \"CAS\" || this.fiatFlowData?.fromcurrencyObject?.symbol === \"BNB\" || this.fiatFlowData?.fromcurrencyObject?.symbol === \"XRP\") &&\r\n (this.fiatFlowData?.memo === \"\" ||\r\n this.form.invalid ||\r\n this.isMemoActive) &&\r\n this.defaultAccountNo.includes(this.fiatRecipientData?.accountNumber)\r\n ) {\r\n this.isMemoActive = true;\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n}","
\r\n

\r\n Review details of your transfer\r\n

\r\n
\r\n
\r\n

Transfer details

\r\n

\r\n Edit\r\n

\r\n
\r\n
\r\n

You send

\r\n
\r\n {{ convertToDecimal(fiatFlowData?.senderAmount,fromcurrencyObject?.symbol) }}\r\n {{ getCurrencyName(fromcurrencyObject?.symbol) }}\r\n
\r\n
\r\n
\r\n

Total fees (included)

\r\n
\r\n {{ convertToDecimal(fiatFlowData?.fees,fromcurrencyObject?.symbol) }}\r\n {{ getCurrencyName(fromcurrencyObject?.symbol) }}\r\n
\r\n
\r\n {{ convertToDecimal(fiatFlowData?.fees,'CAS') }}\r\n CAS\r\n
\r\n\r\n
\r\n
\r\n

amount we'll send

\r\n
\r\n {{ convertToDecimal(fiatFlowData?.reciverAmount,fromcurrencyObject?.symbol)\r\n }}\r\n {{ getCurrencyName(tocurrencyObject?.symbol) }}\r\n
\r\n
\r\n {{ convertToDecimal(fiatFlowData?.reciverAmount,fromcurrencyObject?.symbol) }}\r\n {{ getCurrencyName(tocurrencyObject?.symbol) }}\r\n
\r\n
\r\n
\r\n

\r\n {{ fiatRecipientData?.name }} gets\r\n

\r\n
\r\n {{ convertToDecimal(fiatFlowData?.reciverAmount,fromcurrencyObject?.symbol)\r\n }}\r\n {{ getCurrencyName(tocurrencyObject?.symbol) }}\r\n
\r\n
\r\n {{ convertToDecimal(fiatFlowData?.reciverAmount,fromcurrencyObject?.symbol) }}\r\n {{ getCurrencyName(tocurrencyObject?.symbol) }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Recipient details

\r\n

\r\n Change\r\n

\r\n
\r\n
\r\n

\r\n Name\r\n

\r\n

\r\n Label\r\n

\r\n
\r\n {{ fiatRecipientData?.name }}\r\n
\r\n
\r\n
\r\n

\r\n Swift or BIC Code\r\n

\r\n\r\n
\r\n {{ fiatRecipientData?.sortCode }}\r\n
\r\n
\r\n
\r\n

\r\n Account number\r\n

\r\n

\r\n Address\r\n

\r\n
\r\n {{ fiatRecipientData?.accountNumber.substr(0, 4) }} ... {{fiatRecipientData?.accountNumber.substr(fiatRecipientData?.accountNumber.length -5,\r\n fiatRecipientData?.accountNumber.length-1)}}\r\n
\r\n
\r\n
\r\n

{{getLabel()}}

\r\n
\r\n {{ this.isMemoActive ? this.memo : fiatRecipientData?.memo}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n I accept the\r\n Terms of Use\r\n \r\n
\r\n\r\n \r\n
","import { FiatService } from \"./../services/fiat.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChildren,\r\n ViewChild,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { MdbStepperComponent } from \"ng-uikit-pro-standard\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { NavigationService } from \"src/app/core/services/navigation/navigation.service\";\r\nimport { RecipientService } from \"src/app/recipient/services/recipient.service\";\r\nimport { IRecipient, IRecipientDelete } from \"src/app/core/models/fIat/recipients\";\r\nimport { SubSink } from \"subsink\";\r\n\r\n@Component({\r\n selector: \"cashaa-fiat-flow-wrapper\",\r\n templateUrl: \"./fiat-flow-wrapper.component.html\",\r\n styleUrls: [\"./fiat-flow-wrapper.component.scss\"],\r\n})\r\nexport class FiatFlowWrapperComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"stepper\", { static: true }) stepper: MdbStepperComponent;\r\n\r\n /** amount form */\r\n amountForm: FormGroup;\r\n\r\n /** recipient form */\r\n recipientForm: FormGroup;\r\n\r\n /** is flow completed */\r\n completed = false;\r\n\r\n transId: string;\r\n\r\n isRecipientSkipped = false;\r\n\r\n subSink = new SubSink();\r\n\r\n sendMoneyRecipient: IRecipient;\r\n constructor(private fb: FormBuilder, private fiatService: FiatService, \r\n private navigationService: NavigationService, private recipientService: RecipientService) {\r\n this.createEmptyForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subSink.add(this.recipientService.getSendMoneyRecipient().subscribe((rec: IRecipient) => {\r\n if (rec) {\r\n this.sendMoneyRecipient = rec;\r\n }\r\n }));\r\n }\r\n\r\n /**\r\n * create initial empty forms\r\n */\r\n createEmptyForm(): void {\r\n this.amountForm = this.fb.group({\r\n valid: [\"\", ValidatorUtility.Required],\r\n });\r\n this.recipientForm = this.fb.group({\r\n valid: [\"\", ValidatorUtility.Required],\r\n });\r\n }\r\n\r\n /**\r\n * on amount form continue click\r\n */\r\n onAmountFormContinue(event: boolean): void {\r\n this.amountForm.controls.valid.setValue(true);\r\n this.fiatService.setTransactionId(null);\r\n if (!event) {\r\n setTimeout(()=> {\r\n this.isRecipientSkipped = true;\r\n },10);\r\n }\r\n this.stepper.next();\r\n }\r\n\r\n /**\r\n * on amount form continue click\r\n */\r\n onRecipientFormContinue(): void {\r\n this.recipientForm.controls.valid.setValue(true);\r\n this.stepper.next();\r\n }\r\n\r\n /**\r\n * on go back click, go back\r\n * given number of steps\r\n */\r\n onGoBack(step: number): void {\r\n if (step === 1) {\r\n this.stepper.previous();\r\n } else if (step === 2) {\r\n this.stepper.resetAll();\r\n }\r\n }\r\n\r\n response(res: string): void {\r\n if (res !== null) {\r\n this.transId = res;\r\n this.completed = true;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.fiatService.emitCurrencySymbolEmitter(undefined);\r\n this.fiatService.emitFiatRecipientdData(undefined);\r\n this.fiatService.emitPasswordAuthDataEmitter(undefined);\r\n this.fiatService.emitPayRequestDataEmitter(undefined);\r\n this.fiatService.emitfiatFlowPaydDataEmitter(undefined);\r\n this.subSink.unsubscribe();\r\n }\r\n\r\n backRoute() {\r\n this.navigationService.back();\r\n }\r\n\r\n \r\n}\r\n","\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { FiatFlowWrapperComponent } from \"./fiat-flow-wrapper/fiat-flow-wrapper.component\";\r\nimport { AuthGuardService } from \"../core/services/auth-guard/auth-guard.service\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"fiat\",\r\n component: FiatFlowWrapperComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class FiatRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FiatFlowAmountComponent } from \"./fiat-flow-amount/fiat-flow-amount.component\";\r\nimport { FiatFlowRecipientComponent } from \"./fiat-flow-recipient/fiat-flow-recipient.component\";\r\nimport { FiatFlowReviewComponent } from \"./fiat-flow-review/fiat-flow-review.component\";\r\nimport { FiatRoutingModule } from \"./fiat-routing.module\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { FiatFlowPayApproveComponent } from \"./fiat-flow-pay-approve/fiat-flow-pay-approve.component\";\r\nimport { FiatFlowPayAuthApprovalComponent } from \"./fiat-flow-pay-auth-approval/fiat-flow-pay-auth-approval.component\";\r\nimport { FiatFlowWrapperComponent } from \"./fiat-flow-wrapper/fiat-flow-wrapper.component\";\r\nimport { FiatFlowRecipientAddBusinessComponent } from \"./fiat-flow-recipient-add-business/fiat-flow-recipient-add-business.component\";\r\nimport { FiatCompletedComponent } from \"./fiat-completed/fiat-completed.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\n\r\n@NgModule({\r\n declarations: [\r\n FiatFlowAmountComponent,\r\n FiatFlowRecipientComponent,\r\n FiatFlowReviewComponent,\r\n FiatFlowPayApproveComponent,\r\n FiatFlowPayAuthApprovalComponent,\r\n FiatFlowWrapperComponent,\r\n FiatFlowRecipientAddBusinessComponent,\r\n FiatCompletedComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FiatRoutingModule,\r\n SharedModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastrModule.forRoot(),\r\n MDBBootstrapModulesPro.forRoot(),\r\n ],\r\n})\r\nexport class FiatModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { CreateFiatFlowPay } from \"src/app/core/models/fiat-flow-pay\";\r\nimport { HttpClient, HttpResponse } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { TransferFeeType } from \"src/app/core/models/fIat/transfer-type\";\r\nimport { FiatFlow } from \"src/app/core/models/fIat/fiat-flow\";\r\nimport { Recipient, IRecipient } from \"src/app/core/models/fIat/recipients\";\r\nimport { IFiatRecipient, IPay, Pay, SkipBenificry } from \"src/app/core/models/fIat/fiat-pay\";\r\nimport { FiatPayPasswordConfirm } from \"src/app/core/models/fIat/fiat-pay-confirm\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FiatService {\r\n /** api url */\r\n private apiUrl = environment.api;\r\n\r\n private tranId;\r\n\r\n setTransactionId(transId: string) {\r\n this.tranId = transId;\r\n }\r\n\r\n getTransactionId() {\r\n return this.tranId;\r\n }\r\n\r\n /** TransferFeeType data emitter */\r\n private fiatFlowPaydDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n private recipientDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n /** PayRequest data emitter */\r\n private payRequestDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n private passwordAuthDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n private currencySymbolEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n Skiprecipent(data: SkipBenificry): Observable {\r\n return this.http.post(\r\n `${this.apiUrl}/recipients/approvetopay`,\r\n data\r\n );\r\n }\r\n\r\n /**\r\n * send pay request\r\n * /api/v1/send/fiatsend\r\n */\r\n sendPayRequest(\r\n paydata: Pay\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/send/fiatsend`,\r\n paydata\r\n );\r\n }\r\n /**\r\n * send pay request\r\n * /api/v1/send/fiatsend\r\n */\r\n isCryptoSendVerified(\r\n id\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/send/cryptowithdrawconfirmation?transactionId=${id}`,\r\n id\r\n );\r\n }\r\n /**\r\n * send pay request\r\n * /api/v1/send/fiatsend\r\n */\r\n isCryptoReSendVerification(id): Observable<{ message: boolean }> {\r\n return this.http.post<{ message: boolean }>(\r\n `${this.apiUrl}/send/resendwithdrawtokenrequest?transactionId=${id}`,\r\n id\r\n );\r\n }\r\n /**\r\n * send pay request\r\n * /api/v1/send/fiatsend\r\n */\r\n cancelTransaction(id): Observable<{ message: string }> {\r\n return this.http.get<{ message: string }>(\r\n `${this.apiUrl}/send/canceletransaction?leadgerid=${id}`\r\n );\r\n }\r\n /**\r\n * send pay request\r\n * /api/v1/send/fiatsend\r\n */\r\n verifyRecipient(recipientId, currency): Observable<{ message: boolean }> {\r\n return this.http.post<{ message: boolean }>(\r\n `${this.apiUrl}/recipients/verifyrecipient?recipientId=${recipientId}¤cy=${currency}`,\r\n {\r\n recipientId: recipientId,\r\n currency: currency,\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * white list a device\r\n * Get getRecipents data emitter\r\n */\r\n getRecipents(symbol: string, network: number, recipientType?: number): Observable> {\r\n let url = `${this.apiUrl}/recipients/${symbol}`;\r\n if (recipientType) {\r\n url = url + `/${recipientType}`\r\n }\r\n if (network) {\r\n url = url + `?network=${network}`;\r\n }\r\n return this.http.get>(\r\n `${url}`\r\n );\r\n }\r\n\r\n getCurrencyType(fromCurrencyId: any): Observable<{ message: string }> {\r\n return this.http.get<{ message: string }>(\r\n `${this.apiUrl}/currencies/getcurrencytype?currencyId=${fromCurrencyId}`\r\n );\r\n }\r\n\r\n /**\r\n * Approve request\r\n *\r\n */\r\n passwordConfirm(passwordData: FiatPayPasswordConfirm): Observable {\r\n return this.http.post(\r\n `${this.apiUrl}/account/approvetransfer`,\r\n passwordData\r\n );\r\n }\r\n\r\n /**\r\n * Get fiatFlowPay data emitter\r\n */\r\n getfiatFlowPaydDataEmitter(): Observable {\r\n return this.fiatFlowPaydDataEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit fiatFlowPay data\r\n */\r\n emitfiatFlowPaydDataEmitter(data: FiatFlow): void {\r\n this.fiatFlowPaydDataEmitter.next(data);\r\n }\r\n\r\n /**\r\n * Get Currency Symbol data emitter\r\n */\r\n getCurrencySymbolEmitter(): Observable {\r\n return this.currencySymbolEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit Currency Symbol data\r\n */\r\n emitCurrencySymbolEmitter(data: IFiatRecipient): void {\r\n this.currencySymbolEmitter.next(data);\r\n }\r\n\r\n /** Emit Fiat flow Data */\r\n emitFiatRecipientdData(data: Recipient): void {\r\n this.recipientDataEmitter.next(data);\r\n }\r\n /** Emit Fiat Recipient Data */\r\n getemitRecipientdData(): Observable {\r\n return this.recipientDataEmitter.asObservable();\r\n }\r\n\r\n emitPayRequestDataEmitter(data: Pay): void {\r\n this.payRequestDataEmitter.next(data);\r\n }\r\n /** Emit Pay Request Data */\r\n getPayRequestData(): Observable {\r\n return this.payRequestDataEmitter.asObservable();\r\n }\r\n\r\n emitPasswordAuthDataEmitter(data: boolean): void {\r\n this.passwordAuthDataEmitter.next(data);\r\n }\r\n /** Emit Pay Request Data */\r\n getPasswordAuthData(): Observable {\r\n return this.passwordAuthDataEmitter.asObservable();\r\n }\r\n getmonthlyfreewithdrawlimit(): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/users/getmonthlyfreewithdrawlimit`\r\n );\r\n }\r\n getcryptosendfee(symbol: string,networkType: number): Observable<{ nativeFee: number, casFee: number }> {\r\n return this.http.get<{ nativeFee: number, casFee: number, minSendAmount: number, maxSendAmount: number }>(\r\n `${this.apiUrl}/transferfees/getcryptosendfee?symbol=${symbol}&networkType=${networkType}`\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { HelpdeskTicketService } from \"../services/helpdesk-ticket.service\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport {\r\n IHelpDeskCategories,\r\n IHelpDeskTicket,\r\n ICreateHelpDesk,\r\n} from \"src/app/core/models/create-helpdesk\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { MDBModalRef, MDBModalService } from \"ng-uikit-pro-standard\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n TICKET_CREATED_SUCCESS,\r\n UNABLE_TO_PERFORM_ERROR,\r\n} from \"src/app/app.constants\";\r\nimport { LedgerType } from \"src/app/core/enums/ledgerType\";\r\n\r\n@Component({\r\n selector: \"cashaa-helpdesk-create-ticket\",\r\n templateUrl: \"./helpdesk-create-ticket.component.html\",\r\n styleUrls: [\"./helpdesk-create-ticket.component.scss\"],\r\n})\r\nexport class HelpdeskCreateTicketComponent implements OnInit {\r\n /** Form Group */\r\n createHelpdeskTicket: FormGroup;\r\n ticketDetail: IHelpDeskTicket[] = [];\r\n helpCategories: IFormSelect[] = [];\r\n selectedLedgerType: number;\r\n isInProgress: boolean;\r\n public attachedFile: File;\r\n constructor(\r\n private helpdeskService: HelpdeskTicketService,\r\n private fb: FormBuilder,\r\n public modalRef: MDBModalRef,\r\n private toastrService: ToastrService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.helpdeskService\r\n .getHelpDeskCatagories()\r\n .subscribe((catagories: IHelpDeskCategories[]) => {\r\n this.helpCategories = catagories.map((catagory) => {\r\n if (catagory.active) {\r\n return {\r\n value: catagory.id,\r\n label: catagory.categoryName,\r\n };\r\n }\r\n });\r\n\r\n if (this.selectedLedgerType) {\r\n if (\r\n this.selectedLedgerType === LedgerType.sent ||\r\n this.selectedLedgerType === LedgerType.Withdraw ||\r\n this.selectedLedgerType === LedgerType.Received ||\r\n this.selectedLedgerType === LedgerType.convert\r\n ) {\r\n const categoryType = this.getCategoryType(this.selectedLedgerType);\r\n this.createHelpdeskTicket.controls[\"categoryId\"].setValue(\r\n categoryType.value\r\n );\r\n this.createHelpdeskTicket.updateValueAndValidity();\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.createHelpdeskTicket = this.fb.group({\r\n categoryId: [\"\", [ValidatorUtility.Required]],\r\n subject: [\"\", [ValidatorUtility.Required]],\r\n message: [\"\", [ValidatorUtility.Required]],\r\n attachment: [\"\"]\r\n });\r\n }\r\n /**\r\n * Create new form\r\n */\r\n close(): void {\r\n this.modalRef.hide();\r\n }\r\n\r\n submit(): void {\r\n this.isInProgress = true;\r\n const formData = new FormData();\r\n formData.append(\"categoryId\", this.createHelpdeskTicket.value.categoryId);\r\n formData.append(\"subject\", this.createHelpdeskTicket.value.subject);\r\n formData.append(\"message\", this.createHelpdeskTicket.value.message);\r\n formData.append(\"attachment\", this.attachedFile);\r\n this.helpdeskService.createHelpDesk(formData).subscribe(\r\n (data: { statusCode: number; message: string }) => {\r\n if (data.message !== undefined) {\r\n this.isInProgress = false;\r\n this.toastrService.success(TICKET_CREATED_SUCCESS);\r\n this.createHelpdeskTicket.reset();\r\n this.modalRef.hide();\r\n }\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getCategoryType(ledgerType: number): IFormSelect {\r\n if (ledgerType === LedgerType.sent) {\r\n return this.helpCategories.filter((cat) => cat.label === \"Transfer\")[0];\r\n } else if (ledgerType === LedgerType.Withdraw) {\r\n return this.helpCategories.filter((cat) => cat.label === \"Withdraw\")[0];\r\n } else if (ledgerType === LedgerType.Received) {\r\n return this.helpCategories.filter(\r\n (cat) => cat.label === \"Crypto Deposit\"\r\n )[0];\r\n } else if (ledgerType === LedgerType.convert) {\r\n return this.helpCategories.filter((cat) => cat.label === \"Convert\")[0];\r\n }\r\n }\r\n\r\n \r\n onFileChange(event, control): void {\r\n if (event.target.files.length > 0) {\r\n if (control === \"attachment\") {\r\n this.attachedFile = event.target.files[0];\r\n \r\n const file = event.target.files[0];\r\n this.attachedFile = event.target.files[0];\r\n this.createHelpdeskTicket.patchValue({\r\n control: file,\r\n });\r\n }\r\n }\r\n}\r\n\r\n}\r\n","
\r\n
\r\n \r\n

Create New Ticket

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MDBModalRef, MDBModalService } from 'ng-uikit-pro-standard';\r\nimport { HelpdeskStatus } from 'src/app/core/enums/help-desk-enum';\r\nimport { LedgerType } from 'src/app/core/enums/ledgerType';\r\nimport { ICreateHelpDesk, IHelpDeskCategories, IHelpDeskTicket } from 'src/app/core/models/create-helpdesk';\r\nimport { IFormSelect } from 'src/app/core/models/form-select';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { ValidatorUtility } from 'src/app/core/utility/validator.utility';\r\nimport { HelpdeskTicketService } from '../services/helpdesk-ticket.service';\r\n\r\n@Component({\r\n selector: 'cashaa-helpdesk-home-ticket',\r\n templateUrl: './helpdesk-home-ticket.component.html',\r\n styleUrls: ['./helpdesk-home-ticket.component.scss']\r\n})\r\nexport class HelpdeskHomeTicketComponent implements OnInit {\r\n\r\n /** Form Group */\r\n createHelpdeskTicket: FormGroup;\r\n ticketDetail: IHelpDeskTicket[] = [];\r\n helpCategories: IFormSelect[] = [];\r\n loading: boolean = false;\r\n \r\n constructor(\r\n private helpdeskService: HelpdeskTicketService,\r\n private activateRoute: ActivatedRoute,\r\n private modalService: ModalService,\r\n private mdbModalService: MDBModalService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.helpdeskService.getHelpDeskCatagories().subscribe((catagories :IHelpDeskCategories[]) => {\r\n this.helpCategories = catagories.map((catagory) => {\r\n if (catagory.active) {\r\n return {\r\n value :catagory.id,\r\n label : catagory.categoryName\r\n }\r\n }\r\n })\r\n\r\n });\r\n this.loadHelpDeskData();\r\n }\r\n\r\n showTicketCreate() {\r\n this.modalService.openTicketCreateModal();\r\n }\r\n\r\n loadHelpDeskData (): void {\r\n this.helpdeskService.getAllHelpDeskTickets().subscribe((helpDeskData: IHelpDeskTicket[]) => {\r\n this.ticketDetail = helpDeskData;\r\n this.loading = true;\r\n });\r\n }\r\n \r\n\r\n getStatusName(status: number): string {\r\n return HelpdeskStatus[status];\r\n }\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n

Helpdesk

\r\n
\r\n
\r\n
\r\n
\r\n

All Tickets

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DateCategorySubjectStatus
{{otd.created | date:'medium'}}{{otd.categoryName}}{{otd.subject}}\r\n {{getStatusName(otd.status)}}
\r\n
\r\n

There is no statements list found.

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nimport { HelpdeskHomeTicketComponent } from \"./helpdesk-home-ticket/helpdesk-home-ticket.component\";\r\nconst routes: Routes = [\r\n {\r\n path: \"helpdesk\",\r\n canActivate: [AuthGuardService],\r\n children: [\r\n {\r\n path: \"create-ticket\",\r\n component: HelpdeskHomeTicketComponent,\r\n },\r\n\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HelpdeskRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { HelpdeskCreateTicketComponent } from \"./helpdesk-create-ticket/helpdesk-create-ticket.component\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { HelpdeskRoutingModule } from './helpdesk-routing.module';\r\nimport { MDBBootstrapModulesPro } from 'ng-uikit-pro-standard';\r\nimport { HelpdeskHomeTicketComponent } from './helpdesk-home-ticket/helpdesk-home-ticket.component';\r\n\r\n@NgModule({\r\n declarations: [HelpdeskCreateTicketComponent, HelpdeskHomeTicketComponent],\r\n imports: [CommonModule,\r\n HelpdeskRoutingModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MDBBootstrapModulesPro.forRoot()],\r\n})\r\nexport class HelpdeskModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient, HttpResponse } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport {\r\n IHelpDeskTicket,\r\n IHelpDeskCategories,\r\n ICreateHelpDesk,\r\n} from \"src/app/core/models/create-helpdesk\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class HelpdeskTicketService {\r\n /** api url */\r\n private apiUrl = environment.api;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n /**\r\n * Get all the helpdesk tickets //getallhelpdesktickets\r\n */\r\n\r\n getAllHelpDeskTickets(): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/helpdesktickets/getallhelpdesktickets`\r\n );\r\n }\r\n\r\n /**\r\n * Get all catagories for help desk\r\n */\r\n\r\n getHelpDeskCatagories(): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/helpdesktickets/gethelpdeskcategories`\r\n );\r\n }\r\n\r\n /**\r\n *\r\n * @param helpDeskData : Help desk ticket data\r\n */\r\n\r\n createHelpDesk(\r\n helpDeskData: FormData\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/helpdesktickets/createhelpdeskticket`,\r\n helpDeskData\r\n );\r\n }\r\n\r\n /**\r\n *\r\n * @param ticketId : Get Ticket detail by ticket id\r\n */\r\n\r\n getHelpDeskTicketById(ticketId: string): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/helpdesktickets/gethelpdeskticketdetails`\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cashaa-invite-home-completed',\r\n templateUrl: './invite-home-completed.component.html',\r\n styleUrls: ['./invite-home-completed.component.scss']\r\n})\r\nexport class InviteHomeCompletedComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n

\r\n All done! We sent your invites\r\n

\r\n

\r\n Tell your friends to keep an eye on their inbox. Their invite to
\r\n Cashaa, including their free transfers, should be with them shortly\r\n

\r\n
\r\n \r\n\r\n \r\n
\r\n
","import { Router } from \"@angular/router\";\r\nimport { InviteService } from \"./../services/invite.service\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { USER_EMAIL_PATH } from \"src/app/app.constants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\n@Component({\r\n selector: \"cashaa-invite-home-email\",\r\n templateUrl: \"./invite-home-email.component.html\",\r\n styleUrls: [\"./invite-home-email.component.scss\"],\r\n})\r\nexport class InviteHomeEmailComponent implements OnInit {\r\n form: FormGroup;\r\n\r\n /** list of email addresa dded */\r\n emailAddress: string[] = [];\r\n\r\n loader = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private inviteService: InviteService,\r\n private toastrService: ToastrService\r\n ) {\r\n this.form = this.fb.group({\r\n email: [\"\", [ValidatorUtility.Required]],\r\n });\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n addEmailAddress(): void {\r\n if (\r\n this.form.controls.email.value === sessionStorage.getItem(USER_EMAIL_PATH)\r\n ) {\r\n this.toastrService.error(\"Cannot invite yourself, add another email.\");\r\n } else if (this.emailAddress.includes(this.form.controls.email.value)) {\r\n this.toastrService.error(\"Email already added.\");\r\n } else if (this.form.controls.email.valid) {\r\n this.emailAddress.push(this.form.controls.email.value);\r\n }\r\n }\r\n\r\n deleteEmail(idx: number): void {\r\n this.emailAddress.splice(idx, 1);\r\n }\r\n\r\n invitePeople(): void {\r\n this.loader = true;\r\n const emails = this.emailAddress.map((email) => {\r\n return {\r\n recipientEmail: email,\r\n };\r\n });\r\n const dto = {\r\n toEmail: emails,\r\n };\r\n\r\n this.inviteService.invitePeople(dto).subscribe(() => {\r\n this.loader = false;\r\n this.router.navigateByUrl(\"/invite/done\");\r\n });\r\n }\r\n}\r\n","
\r\n

\r\n Invite via email\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
{{ email }}
\r\n \r\n
\r\n \r\n\r\n
\r\n Send another way\r\n
\r\n
","import { WalletService } from './../../wallet/services/wallet.service';\r\nimport { ICryptoAccountDetails } from './../../core/models/crypto-account-details';\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { USER_NAME_ID } from \"src/app/app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-invite-home-link\",\r\n templateUrl: \"./invite-home-link.component.html\",\r\n styleUrls: [\"./invite-home-link.component.scss\"],\r\n})\r\nexport class InviteHomeLinkComponent implements OnInit {\r\n userId = sessionStorage.getItem(USER_NAME_ID);\r\n constructor(private toastrService: ToastrService,private walletService: WalletService) {}\r\n \r\n accountDetailsCryptoData: ICryptoAccountDetails;\r\n /** Error message if any */\r\n errorMessageCrypto?: string;\r\n cryptoLoading = false;\r\n\r\n ngOnInit(): void {\r\n\r\n this.accountDetailsCryptoData = null;\r\n this.errorMessageCrypto = null;\r\n\r\n this.walletService.getCryptoAccountDetails(\"CAS\").subscribe(\r\n (res) => {\r\n this.accountDetailsCryptoData = res;\r\n this.cryptoLoading = false;\r\n },\r\n (err) => {\r\n this.cryptoLoading = false;\r\n }\r\n );\r\n\r\n }\r\n\r\n copyInvite(): void {\r\n navigator.clipboard.writeText(this.accountDetailsCryptoData.memo);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n }\r\n}\r\n","
\r\n

\r\n Refer & Earn CAS\r\n

\r\n
\r\n\r\n
\r\n

Earn 100 CAS every time someone uses your referral code and stakes CAS.

\r\n

Share your referral code with your family and friends.

\r\n

They get all the benefits of Cashaa, including a 30% APR.

\r\n

You get rewarded with 100 CAS.

\r\n
\r\n
\r\n
\r\n Your Referral Code : {{ !accountDetailsCryptoData && !cryptoLoading?\"Loading..\":accountDetailsCryptoData.memo}} \r\n
\r\n
\r\n Copy and share your personal link invite...\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { NavigationService } from 'src/app/core/services/navigation/navigation.service';\r\n\r\n@Component({\r\n selector: 'cashaa-invite-home',\r\n templateUrl: './invite-home.component.html',\r\n styleUrls: ['./invite-home.component.scss']\r\n})\r\nexport class InviteHomeComponent implements OnInit {\r\n\r\n constructor(private navigationService: NavigationService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n backRoute() {\r\n this.navigationService.back();\r\n }\r\n \r\n}\r\n","
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
","import { USER_ID, USER_NAME_ID } from \"./../../app.constants\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\n@Component({\r\n selector: \"cashaa-invite-share-link\",\r\n templateUrl: \"./invite-share-link.component.html\",\r\n styleUrls: [\"./invite-share-link.component.scss\"],\r\n})\r\nexport class InviteShareLinkComponent implements OnInit {\r\n constructor(private toastrService: ToastrService) {}\r\n @Input() refcode: string;\r\n userId = sessionStorage.getItem(USER_NAME_ID);\r\n\r\n invite: string;\r\n\r\n isDropdownOpened = false;\r\n\r\n ngOnInit(): void {\r\n this.invite = `https://platform.cashaa.com/account/signup?referralId=${this.refcode}`;\r\n }\r\n\r\n /**\r\n * get user balance\r\n */\r\n getUserId(): void {}\r\n\r\n onLinkClick(input: HTMLInputElement): void {\r\n if (input) {\r\n input.select();\r\n }\r\n navigator.clipboard.writeText(this.invite);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n }\r\n\r\n copyLink(): void {\r\n navigator.clipboard.writeText(this.invite);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n }\r\n\r\n shareTwitter(): void {\r\n window.open(\r\n `https://twitter.com/intent/tweet?url=${this.invite}&text=Please%20join%20Cashaa%20using%20following%20link`,\r\n \"_blank\"\r\n );\r\n }\r\n\r\n shareFacebook(): void {\r\n window.open(\r\n `https://www.facebook.com/sharer/sharer.php?u=${this.invite}`,\r\n \"_blank\"\r\n );\r\n }\r\n\r\n shareWhtsapp(): void {\r\n window.open(`https://api.whatsapp.com/send?text=${this.invite}`, \"_blank\");\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n Share\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n

Copy link

\r\n
\r\n
\r\n \r\n

Send with Whatsapp

\r\n
\r\n
\r\n \r\n

Send with Messenger

\r\n
\r\n
\r\n \r\n

Post to Facebook

\r\n
\r\n
\r\n \r\n

Tweet

\r\n
\r\n
\r\n
","import { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from \"./../shared/shared.module\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { InviteHomeComponent } from \"./invite-home/invite-home.component\";\r\nimport { InviteHomeLinkComponent } from \"./invite-home-link/invite-home-link.component\";\r\nimport { InviteShareLinkComponent } from \"./invite-share-link/invite-share-link.component\";\r\nimport { InviteHomeEmailComponent } from \"./invite-home-email/invite-home-email.component\";\r\nimport { InviteHomeCompletedComponent } from \"./invite-home-completed/invite-home-completed.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\n@NgModule({\r\n declarations: [\r\n InviteHomeComponent,\r\n InviteHomeLinkComponent,\r\n InviteShareLinkComponent,\r\n InviteHomeEmailComponent,\r\n InviteHomeCompletedComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ToastrModule.forRoot(),\r\n MDBBootstrapModulesPro.forRoot(),\r\n RouterModule.forChild([\r\n {\r\n path: \"invite\",\r\n component: InviteHomeComponent,\r\n children: [\r\n {\r\n path: \"link\",\r\n component: InviteHomeLinkComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"email\",\r\n component: InviteHomeEmailComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"done\",\r\n component: InviteHomeCompletedComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n ],\r\n },\r\n ]),\r\n ],\r\n})\r\nexport class InviteModule {}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class InviteService {\r\n private api = environment.api;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n invitePeople(\r\n inviteDto: any\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.api}/invite`,\r\n inviteDto\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AccountService } from \"src/app/account/sevices/account.service\";\r\nimport { KYC_STATUS, UNABLE_TO_PERFORM_ERROR, USER_COUNTRY_ID, USER_EMAIL_PATH, USER_REFERRAL_CODE } from \"src/app/app.constants\";\r\nimport { KycSignupData } from \"src/app/core/models/signup\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { KycService } from \"../services/kyc.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\n@Component({\r\n selector: \"cashaa-kyc-home\",\r\n templateUrl: \"./kyc-home.component.html\",\r\n styleUrls: [\"./kyc-home.component.scss\"],\r\n})\r\nexport class KycHomeComponent implements OnInit {\r\n\r\n countryId = sessionStorage.getItem(USER_COUNTRY_ID);\r\n userInfo;\r\n isKycStatus;\r\n msg;\r\n imgUrl;\r\n desc;\r\n isButton = false;\r\n loader = false;\r\n emailId;\r\n maskedEmail;\r\n errorMessage;\r\n constructor(private userService: UserService, private accountService: AccountService,\r\n private kycService: KycService, private toastrService: ToastrService\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loader = true;\r\n this.userService.getUserInfo().subscribe(res => {\r\n this.isKycStatus = res.kycStatus;\r\n this.loader = false;\r\n if (this.isKycStatus) {\r\n this.msg = \"Your KYC verification has been approved!\";\r\n this.imgUrl = '../../../assets/images/account/verified.svg';\r\n this.desc = `You're all set to enjoy our services with enhanced security and convenience.`;\r\n } else {\r\n this.msg = \"Your KYC verification has not been completed. Please click on the button below to verify now!\";\r\n this.imgUrl = '../../../assets/images/account/cancel.svg';\r\n \r\n this.isButton = true;\r\n this.userInfo = {\r\n email: res.email,\r\n countryId: this.countryId,\r\n referralCode: \"\"\r\n }\r\n }\r\n })\r\n }\r\n\r\n updateKyc() {\r\n let observable$: Observable;\r\n this.loader = true;\r\n observable$ = this.accountService.createTemporaryAccount(this.userInfo);\r\n observable$.subscribe(\r\n (res) => {\r\n this.loader = false;\r\n this.isKycStatus = res.kycStatus;\r\n sessionStorage.setItem(KYC_STATUS, this.isKycStatus.toString());\r\n this.emailId = sessionStorage.getItem(USER_EMAIL_PATH);\r\n this.maskedEmail = this.kycService.getMaskedEmail(this.emailId);\r\n this.isButton = false;\r\n this.updateScreen(this.isKycStatus);\r\n }, \r\n (err) => {\r\n this.loader = false\r\n if (err.error.message) {\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n })\r\n }\r\n\r\n updateScreen(status) {\r\n switch (status) {\r\n case 1:\r\n // Pending\r\n this.imgUrl = '../../../assets/images/account/pending.svg';\r\n this.msg = \"Your KYC has not been approved yet kindly wait a while.\";\r\n break;\r\n case 4:\r\n // Inititated\r\n this.msg = `We’ve sent a KYC link to your registered email address: ${this.maskedEmail}. Please complete your KYC verification to enjoy all our services with enhanced security and convenience.`\r\n this.imgUrl = '../../../assets/images/account/mail.svg';\r\n break;\r\n\r\n case 5:\r\n // Approved\r\n this.msg = \"Your KYC verification has been approved!\"\r\n this.imgUrl = '../../../assets/images/account/verified.svg';\r\n this.desc = `You're all set to enjoy our services with enhanced security and convenience.`\r\n break;\r\n\r\n case 6:\r\n // Rejected\r\n this.msg = `We have rejected you KYC and send a reason of rejection to your registered email ...${this.maskedEmail}.`\r\n this.imgUrl = '../../../assets/images/account/cancel.svg';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n}","\r\n
\r\n
\r\n

KYC Verification

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n
{{msg}}
\r\n
{{desc}}
\r\n
\r\n
\r\n {{ errorMessage }}\r\n
\r\n
\r\n
","import { KycHomeComponent } from \"./kyc-home/kyc-home.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nconst routes: Routes = [\r\n {\r\n path: \"kyc\",\r\n children: [\r\n {\r\n path: \"kyc-status\",\r\n component: KycHomeComponent,\r\n canActivate: [AuthGuardService],\r\n }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class KycRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { KycRoutingModule } from \"./kyc-routing.module\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { KycHomeComponent } from \"./kyc-home/kyc-home.component\";\r\n\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { QRCodeModule } from \"angular2-qrcode\";\r\n\r\n@NgModule({\r\n declarations: [\r\n KycHomeComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n KycRoutingModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ToastrModule.forRoot(),\r\n MDBBootstrapModulesPro.forRoot(),\r\n QRCodeModule,\r\n ],\r\n})\r\nexport class KycModule {}\r\n","import { BKYCStakeholderDocuments } from \"./../../core/models/kyc-business-stakeholders-doc\";\r\nimport { IBusinessDocList } from \"./../../core/models/kyc-business-document-list\";\r\nimport { IBusinessKycDetails } from \"./../../core/models/business-account/business-key-detail-list\";\r\nimport { IAPIEnumLoad, IFile } from \"./../../core/models/Lerex/enum-load\";\r\nimport { ICreateKYC, IDeleteApplicationDoc } from \"./../../core/models/create-kyc\";\r\nimport { ICustomerEmailConfermation } from \"./../../core/models/kyc-customer-email-verification-model\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nimport { HttpClient, HttpHeaders, HttpResponse } from \"@angular/common/http\";\r\nimport { IPayBrokerFee } from \"./../../core/models/pay-fee\";\r\nimport { Observable, BehaviorSubject } from \"rxjs\";\r\nimport { IDirectorVerification } from \"../../core/models/director-verification-link\";\r\nimport {\r\n CreateBusinessKYC,\r\n IStakeholders,\r\n} from \"../../core/models/create-business-kyc\";\r\nimport { CreateKYC } from \"../../core/models/create-kyc\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { ICreateBusinessUser } from \"../../core/models/business-account/kyc-business-user\";\r\nimport { IKycBusinessUser } from \"src/app/core/models/kyc-business-user-model\";\r\nimport { EmailVerificationRequest } from \"src/app/core/models/kyc-verification-request-model\";\r\nimport { IPaymentFeesDetail, IUpgradePayment, IUSPersonal } from \"src/app/core/models/kyc-us-personal/us-personal\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class KycService {\r\n /** KYC data emitter */\r\n private createKycDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n private createBusinessKycDataEmitter = new BehaviorSubject<\r\n CreateBusinessKYC | undefined\r\n >(undefined);\r\n\r\n private createDirectorBusinessKycDataEmitter = new BehaviorSubject<\r\n Array | undefined\r\n >(undefined);\r\n\r\n private kycUsPersonalMobileCode = new BehaviorSubject(undefined);\r\n\r\n private kycUsPersonalObj = new BehaviorSubject(undefined);\r\n\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n createKyc(createKycData: CreateKYC): Observable<{ message: string }> {\r\n return this.http.post(`${environment.api}/kyc/create`, createKycData);\r\n }\r\n\r\n /*** Get KYC data emitter***/\r\n getcreateKycDataEmitter(): Observable {\r\n return this.createKycDataEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit KYC data\r\n */\r\n emitCreateKycData(data: CreateKYC): void {\r\n this.createKycDataEmitter.next(data);\r\n }\r\n\r\n createBusinessKyc(\r\n createBusinessKycData: CreateBusinessKYC\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/kyc/createBusinessKyc`,\r\n createBusinessKycData\r\n );\r\n }\r\n\r\n payPremiumFees(payment: IUpgradePayment): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(`${environment.api}/subscriptions/upgradeFee`, payment);\r\n }\r\n\r\n getPremuimFeesDetail(): Observable {\r\n return this.http.get(`${environment.api}/subscriptions/getupgradeplanfee`);\r\n }\r\n\r\n\r\n /*** Get Business KYC data emitter***/\r\n getcreateBusinessKycDataEmitter(): Observable {\r\n return this.createBusinessKycDataEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit Business KYC data\r\n */\r\n emitBusinessCreateKycData(data: CreateBusinessKYC): void {\r\n this.createBusinessKycDataEmitter.next(data);\r\n }\r\n\r\n emitKycUsPersonalMobileCode(data: string): void {\r\n this.kycUsPersonalMobileCode.next(data);\r\n }\r\n\r\n getKycUsPersonalMobileCode(): Observable {\r\n return this.kycUsPersonalMobileCode.asObservable();\r\n }\r\n\r\n emitKycUsPersonal(data: IUSPersonal): void {\r\n this.kycUsPersonalObj.next(data);\r\n }\r\n\r\n getKycUsPersonal(): Observable {\r\n return this.kycUsPersonalObj.asObservable();\r\n }\r\n\r\n /*** Get Director Business KYC data emitter***/\r\n getcreateBusinessKycDirectorDataEmitter(): Observable {\r\n return this.createDirectorBusinessKycDataEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit Director Business KYC data\r\n */\r\n emitBusinessCreateKycDirectorData(data: IStakeholders[]): void {\r\n this.createDirectorBusinessKycDataEmitter.next(data);\r\n }\r\n\r\n getKYCDirectorDetails(): Observable {\r\n return this.http.get(\r\n `${environment.api}/kyc/getkycdirectorsdetails`\r\n );\r\n }\r\n\r\n getBusinessDocuments(businessId: string): Observable {\r\n return this.http.get(\r\n `${environment.api}/kyc/getbusinessdocuments?BusinessKYCDetailId=${businessId}`\r\n );\r\n }\r\n\r\n getStakeholderDocuments(\r\n businessKYCStakeholderId: string\r\n ): Observable {\r\n return this.http.get(\r\n `${environment.api}/kyc/getstakeholderdocument?businessKYCStakeholderId=${businessKYCStakeholderId}`\r\n );\r\n }\r\n\r\n getBusinessKycDetails(): Observable {\r\n return this.http.get(\r\n `${environment.api}/kyc/getBusinesskycdetails`\r\n );\r\n }\r\n /**\r\n * Get business user details\r\n *\r\n * @param {IDirectorVerification} data\r\n * @returns {Observable}\r\n *\r\n * @memberOf KycService\r\n */\r\n getBusinessUserDetails(): Observable {\r\n return this.http.get(\r\n `${environment.api}/kyc/getbusinessusers`\r\n );\r\n }\r\n\r\n sendVerificationLink(\r\n data: IDirectorVerification\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/kyc/sendverificationlink`,\r\n data\r\n );\r\n }\r\n // Verify business User email\r\n verifyBusinessUserEmail(\r\n data: EmailVerificationRequest\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/kyc/verifybusinessuseremail`,\r\n data\r\n );\r\n }\r\n // Customer email verification\r\n\r\n verifyCustomerEmail(\r\n data: ICustomerEmailConfermation\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/broker/emailverification`,\r\n data\r\n );\r\n }\r\n\r\n // load KYC details from database\r\n getKycDetails(): Observable {\r\n return this.http.get(`${environment.api}/kyc/getkycdetails`);\r\n }\r\n // Get this list of Enum Values\r\n // Load all Lerex API Industry code\r\n // 1\r\n getIndustryCode(): Observable {\r\n return this.http.get(`${environment.api}/kyc/industrycode`);\r\n }\r\n // 2\r\n // Load all Lerex API Company code\r\n getCompanyCode(): Observable {\r\n return this.http.get(\r\n `${environment.api}/kyc/organizationtype`\r\n );\r\n }\r\n // 3\r\n // Load all Lerex API stackholders contact types code\r\n getContactType(): Observable {\r\n return this.http.get(`${environment.api}/kyc/contacttype`);\r\n }\r\n // 4\r\n // Load all Lerex API Industry code\r\n getBusinessDocumentTypes(type: number): Observable {\r\n return this.http.get(\r\n `${environment.api}/kyc/businessdocumenttypes?accountDocumentType=${type}`\r\n );\r\n }\r\n // Uplaod Director files\r\n createBusinessKycContact(\r\n contactData: FormData\r\n ): Observable> {\r\n return this.http.post(\r\n `${environment.api}/kyc/uploadkycdocument`,\r\n contactData\r\n );\r\n }\r\n // Uplaod business Contact files\r\n uplaodBusinessKycContactDocument(\r\n contactData: FormData\r\n ): Observable> {\r\n return this.http.post(\r\n `${environment.api}/kyc/uploadkyccontactdocument`,\r\n contactData\r\n );\r\n }\r\n //uploadpersonalkycdocument\r\n // Uplaod personal kyc file files\r\n uplaodPersonalKycDocument(\r\n contactData: FormData\r\n ): Observable> {\r\n return this.http.post(\r\n `${environment.api}/kyc/uploadpersonalkycdocument`,\r\n contactData\r\n );\r\n }\r\n\r\n /**\r\n *\r\n * @param businessUser get source of business account fund\r\n */\r\n getSourceOfFund(): Observable {\r\n return this.http.get(\r\n `${environment.api}/kyc/getsourceoffunds`\r\n );\r\n }\r\n\r\n /**\r\n * Create a business user to the Lerex\r\n */\r\n createBusinessUser(\r\n businessUser: ICreateBusinessUser\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/kyc/createbusinessuser`,\r\n businessUser\r\n );\r\n }\r\n\r\n createUSPersoanlKYC(\r\n data: IUSPersonal\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/kyc/us-kyc-personal`,\r\n data\r\n );\r\n }\r\n\r\n getUSPersonalKYC(): Observable {\r\n return this.http.get(\r\n `${environment.api}/kyc/us-kyc-personal-details`\r\n );\r\n }\r\n\r\n payBrokerFee(feedata: IPayBrokerFee): Observable {\r\n return this.http.post(`${environment.api}/kyc/feepayment`, feedata);\r\n }\r\n\r\n getFeeStatus(): Observable<{ status: boolean }> {\r\n return this.http.get<{ status: boolean }>(\r\n `${environment.api}/broker/feestatus`\r\n );\r\n }\r\n\r\n deleteDocument(docId: string): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>\r\n (`${environment.api}/kyc/delete-director-doc?documentId=${docId}`, null);\r\n }\r\n\r\n deleteBusinessDocument(docId: string): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>\r\n (`${environment.api}/kyc/delete-business-doc?documentId=${docId}`, null);\r\n }\r\n\r\n uploadApplicationFormDoc(applicationData: FormData): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>\r\n (`${environment.api}/kyc/uploadkycdocument`, applicationData);\r\n }\r\n\r\n\r\n deleteApplicationFormDoc(deleteDoc: IDeleteApplicationDoc): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>\r\n (`${environment.api}/kyc/deletebusinessapplicationfile`, deleteDoc);\r\n }\r\n\r\n getMaskedEmail(emailId) {\r\n const atIndex = emailId.lastIndexOf('@');\r\n\r\n if (atIndex === -1) {\r\n // Return the original email if no @ symbol is found (invalid email)\r\n return emailId;\r\n }\r\n\r\n const localPart = emailId.slice(0, atIndex);\r\n const domain = emailId.slice(atIndex + 1);\r\n\r\n if (localPart.length <= 4) {\r\n return `${localPart}...@${domain}`;\r\n }\r\n\r\n const firstTwo = localPart.slice(0, 2);\r\n const lastChar = localPart.slice(-2);\r\n return `${firstTwo}...${lastChar}@${domain}`;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport {\r\n BusinessProfile,\r\n IBusinessProfile,\r\n} from \"src/app/core/models/business-profile\";\r\nimport { ProfileService } from \"../services/profile.service\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { PROFILE_MESG, UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nconst organisationType = require(\"../../../assets/json/organisationType.json\");\r\nconst contactType = require(\"../../../assets/json/contactType.json\");\r\n@Component({\r\n selector: \"cashaa-profile-business-edit\",\r\n templateUrl: \"./profile-business-edit.component.html\",\r\n styleUrls: [\"./profile-business-edit.component.scss\"],\r\n})\r\nexport class ProfileBusinessEditComponent implements OnInit {\r\n /** edit profile form */\r\n businessProfileForm: FormGroup;\r\n\r\n /** user profile data */\r\n profile: IBusinessProfile;\r\n\r\n /** company type options */\r\n businessCompany: IFormSelect[] = [];\r\n\r\n isInProgress: boolean;\r\n\r\n businessRole: IFormSelect[] = [];\r\n\r\n loading: boolean = true;\r\n\r\n /** is form disabled */\r\n isDisabled = true;\r\n initialValueCountry;\r\n constructor(\r\n public modalRef: MDBModalRef,\r\n private profileService: ProfileService,\r\n private fb: FormBuilder,\r\n private domainService: DomainService,\r\n private toastrService: ToastrService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getBusinessProfileDetails();\r\n this.businessCompany = organisationType;\r\n this.businessRole = contactType;\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.businessProfileForm = this.fb.group({\r\n companyName: [\"\", [ValidatorUtility.Required]],\r\n companyType: [\"\", [ValidatorUtility.Required]],\r\n registrationNumber: [\"\"],\r\n website: [\"\"],\r\n category: [\"\"],\r\n subcategory: [\"\"],\r\n phoneNumber: [\"\", [ValidatorUtility.Required]],\r\n city: [\"\", [ValidatorUtility.Required]],\r\n postalCode: [\"\", [ValidatorUtility.Required]],\r\n countryId: [\"\", [ValidatorUtility.Required]],\r\n addressLine1: [\"\", [ValidatorUtility.Required]],\r\n addressLine2: [\"\", [ValidatorUtility.Required]],\r\n });\r\n }\r\n\r\n /**\r\n * Get user profile details from api\r\n *\r\n */\r\n getBusinessProfileDetails(): void {\r\n this.profileService.getProfileDetails().subscribe((res) => {\r\n this.profile = res;\r\n this.patchFormWithProfile();\r\n });\r\n }\r\n\r\n /**\r\n * Patch form with new values from profile\r\n */\r\n patchFormWithProfile(): void {\r\n this.initialValueCountry = this.profile.countryId;\r\n this.businessProfileForm.patchValue({\r\n registrationNumber: this.profile.registration\r\n ? this.profile.registration\r\n : \"\",\r\n website: this.profile.website ? this.profile.website : \"\",\r\n category: this.profile.category ? this.profile.category : \"\",\r\n subcategory: this.profile.subCategory ? this.profile.subCategory : \"\",\r\n companyType: this.profile.companyType\r\n ? this.profile.companyType?.toString()\r\n : \"2\",\r\n companyName: this.profile.companyName ? this.profile.companyName : \"\",\r\n phoneNumber: this.profile.phoneNumber ? this.profile.phoneNumber : \"\",\r\n city: this.profile.city ? this.profile.city : \"\",\r\n postalCode: this.profile.postalCode ? this.profile.postalCode : \"\",\r\n countryId: this.profile.countryId ? this.profile.countryId : \"\",\r\n addressLine1: this.profile.addressLine1 ? this.profile.addressLine1 : \"\",\r\n addressLine2: this.profile.addressLine2 ? this.profile.addressLine2 : \"\",\r\n });\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 500);\r\n }\r\n\r\n /**\r\n * On Edit profile click\r\n */\r\n editProfileClick(): void {\r\n this.isDisabled = false;\r\n }\r\n\r\n /**\r\n * On edit profile form submission\r\n */\r\n onFormSubmit(): void {\r\n const data = this.businessProfileForm.value;\r\n this.isInProgress = true;\r\n const editProfileData = new BusinessProfile(\r\n data.companyName,\r\n parseInt(data.companyType),\r\n data.phoneNumber,\r\n data.city,\r\n data.postalCode,\r\n data.countryId.value,\r\n data.addressLine1,\r\n data.addressLine2,\r\n data.registrationNumber,\r\n data.website,\r\n data.category,\r\n data.subcategory\r\n );\r\n\r\n \r\n\r\n this.profileService.updateBusinessProfile(editProfileData).subscribe(\r\n (res) => {\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.toastrService.success(PROFILE_MESG);\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n \r\n

\r\n Edit Your Profile\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Business Profile
\r\n

\r\n *Please note we cannot offer our services to unregistered charities from\r\n the UK\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
What does your bank do?
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
Business Address
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n

\r\n *By clicking continue, you confirm that you are an authorized representative of\r\n CASHAA TECHNOLOGIES LTD and have an authorization to make payments on the behalf of CASHAA\r\n TECHNOLOGIES LTD's\r\n

\r\n\r\n \r\n \r\n \r\n
\r\n
","import {\r\n Component,\r\n EventEmitter,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from \"@angular/core\";\r\nimport { ProfileService } from \"../services/profile.service\";\r\nimport { IBusinessProfile } from \"src/app/core/models/business-profile\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { USER_EMAIL_PATH } from \"src/app/app.constants\";\r\nimport { MDBModalService } from \"ng-uikit-pro-standard\";\r\nimport { SubSink } from \"subsink\";\r\nconst organisationType = require(\"../../../assets/json/organisationType.json\");\r\nconst contactType = require(\"../../../assets/json/contactType.json\");\r\n\r\n@Component({\r\n selector: \"cashaa-profile-business\",\r\n templateUrl: \"./profile-business.component.html\",\r\n styleUrls: [\"./profile-business.component.scss\"],\r\n})\r\nexport class ProfileBusinessComponent implements OnInit, OnDestroy {\r\n @Output() editProfile = new EventEmitter();\r\n public organisationType: IFormSelect[] = [];\r\n public contactType: IFormSelect[] = [];\r\n profileName: string;\r\n companyType: string;\r\n profile: IBusinessProfile;\r\n loading: boolean = false;\r\n sink = new SubSink();\r\n constructor(\r\n private profileService: ProfileService,\r\n private mdbModalService: MDBModalService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.organisationType = organisationType;\r\n this.contactType = contactType;\r\n this.getProfileDetail();\r\n this.sink.add(\r\n this.mdbModalService.closed.subscribe(() => {\r\n this.getProfileDetail();\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Get Profile detail\r\n */\r\n getProfileDetail(): void {\r\n this.profileService.getProfileDetails().subscribe((profile) => {\r\n this.loading = false;\r\n this.profile = profile;\r\n this.companyType = this.getOrganisationType(profile.companyType);\r\n const userEmail = sessionStorage.getItem(USER_EMAIL_PATH);\r\n this.profileName = (\r\n userEmail[0].toString() + userEmail[1].toString()\r\n ).toUpperCase();\r\n });\r\n }\r\n\r\n getOrganisationType(value: any): string {\r\n return this.organisationType.filter((org: IFormSelect) => {\r\n return org.value === value?.toString();\r\n })[0]?.label;\r\n }\r\n\r\n getContactType(value: any): string {\r\n return this.contactType.filter((cont: IFormSelect) => {\r\n return cont.value === value?.toString();\r\n })[0]?.label;\r\n }\r\n\r\n editDetails(): void {\r\n this.editProfile.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.sink.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
Business information
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Registered business name

\r\n

{{ profile?.companyName }}

\r\n
\r\n
\r\n

Company Type

\r\n

{{companyType}}

\r\n
\r\n
\r\n
\r\n
\r\n

Website

\r\n

{{profile?.website}}

\r\n
\r\n
\r\n

Category

\r\n

{{profile?.category}}

\r\n
\r\n
\r\n
\r\n
\r\n

SubCategory

\r\n

{{profile?.subCategory}}

\r\n
\r\n
\r\n

Registration

\r\n

{{profile?.registration}}

\r\n
\r\n
\r\n\r\n \r\n
Business address
\r\n
\r\n
\r\n
\r\n

Country

\r\n

{{ profile?.country}}

\r\n
\r\n
\r\n

City

\r\n

{{ profile?.city }}

\r\n
\r\n
\r\n
\r\n
\r\n

Address1

\r\n

{{ profile?.addressLine1 }}

\r\n
\r\n
\r\n

Address2

\r\n

{{ profile?.addressLine2 }}

\r\n
\r\n
\r\n
\r\n
\r\n

Postal Code

\r\n

{{ profile?.postalCode}}

\r\n
\r\n
\r\n

Phone Number

\r\n

{{ profile?.phoneNumber}}

\r\n
\r\n
\r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-profile-home\",\r\n templateUrl: \"./profile-home.component.html\",\r\n styleUrls: [\"./profile-home.component.scss\"],\r\n})\r\nexport class ProfileHomeComponent implements OnInit {\r\n constructor(private modalService: ModalService) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n /**\r\n * Edit user profile\r\n */\r\n editProfile(): void {\r\n this.modalService.openBusinessProfileModal();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

Business Details

\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cashaa-profile-personal',\r\n templateUrl: './profile-personal.component.html',\r\n styleUrls: ['./profile-personal.component.scss']\r\n})\r\nexport class ProfilePersonalComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

profile-personal works!

\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { ProfileBusinessComponent } from \"./profile-business/profile-business.component\";\r\nimport { ProfileHomeComponent } from \"./profile-home/profile-home.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nconst routes: Routes = [\r\n {\r\n path: \"profile\",\r\n component: ProfileHomeComponent,\r\n canActivate: [AuthGuardService],\r\n children: [\r\n {\r\n path: \"business\",\r\n component: ProfileBusinessComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n ],\r\n },\r\n];\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class ProfileRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { ProfileRoutingModule } from \"./profile-routing.module\";\r\nimport { ProfileBusinessComponent } from \"./profile-business/profile-business.component\";\r\nimport { ProfilePersonalComponent } from \"./profile-personal/profile-personal.component\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { ProfileHomeComponent } from './profile-home/profile-home.component';\r\nimport { ProfileBusinessEditComponent } from './profile-business-edit/profile-business-edit.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ProfileBusinessComponent, ProfilePersonalComponent, ProfileHomeComponent, ProfileBusinessEditComponent],\r\n imports: [\r\n CommonModule,\r\n ProfileRoutingModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MDBBootstrapModulesPro.forRoot()\r\n ]\r\n})\r\nexport class ProfileModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpResponse } from \"@angular/common/http\";\r\nimport {\r\n IBusinessProfile,\r\n BusinessProfile,\r\n} from \"src/app/core/models/business-profile\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { Observable, BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ProfileService {\r\n /** Api url */\r\n private apiUrl = environment.api;\r\n\r\n /** CategoryId data emitter */\r\n private categoryIdDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n /*** Get Profile Details*/\r\n getProfileDetails(): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/users/getbusinessuserprofile`\r\n );\r\n }\r\n\r\n updateBusinessProfile(\r\n updateProfileData: BusinessProfile\r\n ): Observable> {\r\n return this.http.post(\r\n `${environment.api}/users/updatebusinessuserprofile`,\r\n updateProfileData\r\n );\r\n }\r\n\r\n /**\r\n * Emit Categoryid data\r\n */\r\n emiCategoryIdData(data: string): void {\r\n this.categoryIdDataEmitter.next(data);\r\n }\r\n\r\n /*** Get Category Id data emitter***/\r\n getCategoryIdDataEmitter(): Observable {\r\n return this.categoryIdDataEmitter.asObservable();\r\n }\r\n}\r\n","import { Component, OnInit, NgZone } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ReceiveService } from \"../services/receive.service\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { ReceiveFundRequest, ReceiveFundResponse } from \"src/app/core/models/receive-fund\";\r\n\r\n@Component({\r\n selector: \"cashaa-receive-fund\",\r\n templateUrl: \"./receive-fund.component.html\",\r\n styleUrls: [\"./receive-fund.component.scss\"]\r\n})\r\nexport class ReceiveFundComponent implements OnInit {\r\n\r\n createReceiveFund: FormGroup;\r\n\r\n serviceResponse: ReceiveFundResponse;\r\n\r\n constructor(private zone: NgZone, private receiveService: ReceiveService, private fb: FormBuilder) { }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n }\r\n\r\n createForm(): void {\r\n this.createReceiveFund = this.fb.group({\r\n\r\n\r\n });\r\n }\r\n\r\n OnCurrencySelect(UserBalance: IUserBalance): void {\r\n\r\n const receiveFundData = new ReceiveFundRequest(\r\n \"\", UserBalance.currencyType,\r\n );\r\n\r\n this.receiveService.createReceiveFund(receiveFundData).subscribe(\r\n (res) => {\r\n\r\n this.zone.run(() => { // <== added\r\n this.serviceResponse = res;\r\n });\r\n\r\n },\r\n (err) => {\r\n\r\n }\r\n );\r\n\r\n }\r\n\r\n\r\n copyText(val: string): void {\r\n\r\n const selBox = document.createElement(\"textarea\");\r\n selBox.style.position = \"fixed\";\r\n selBox.style.left = \"0\";\r\n selBox.style.top = \"0\";\r\n selBox.style.opacity = \"0\";\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand(\"copy\");\r\n document.body.removeChild(selBox);\r\n\r\n }\r\n\r\n}\r\n","

receive-fund works!

\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n\r\n


\r\n
\r\n \r\n      \r\n Copy\r\n\r\n
\r\n\r\n


\r\n
\r\n \r\n      \r\n\r\n\r\n
\r\n\r\n


\r\n
\r\n \r\n      \r\n\r\n\r\n
\r\n


\r\n
\r\n
    Important
\r\n
  • Send only CAS-BEP2 to this address. Sending any other coin or token to this address may result in the loss\r\n of your deposit.
  • \r\n
  • Coins will be deposited immediately after 3 network confirmations
  • \r\n
  • After making a deposit, you can track its progress on the Reports
  • \r\n \r\n\r\n
    \r\n\r\n\r\n
    ","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { ReceiveFundComponent } from \"./receive-fund/receive-fund.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"receive\",\r\n canActivate: [AuthGuardService],\r\n children: [\r\n {\r\n path: \"fund\",\r\n component: ReceiveFundComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n ],\r\n },\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ReceiveRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ReceiveRoutingModule } from \"./receive-routing.module\";\r\nimport { ReceiveFundComponent } from \"./receive-fund/receive-fund.component\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\n\r\n\r\n@NgModule({\r\n declarations: [ReceiveFundComponent],\r\n imports: [\r\n CommonModule,\r\n ReceiveRoutingModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MDBBootstrapModulesPro.forRoot()\r\n ]\r\n})\r\nexport class ReceiveModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { Observable } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { ReceiveFundRequest, ReceiveFundResponse, IReceiveFundResponse } from \"src/app/core/models/receive-fund\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ReceiveService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n createReceiveFund(receiveFundData: ReceiveFundRequest): Observable {\r\n return this.http.post(`${environment.api}/wallets/create`, receiveFundData\r\n\r\n\r\n\r\n );\r\n }\r\n}\r\n","import { USER_NAME_PATH, USER_EMAIL_PATH } from \"./../../app.constants\";\r\nimport { AddRecipient } from \"./../../core/models/recipient/recipient-add\";\r\nimport { ICurrency } from \"./../../core/models/currency\";\r\nimport { ValidatorUtility } from \"./../../core/utility/validator.utility\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { RecipientService } from \"../services/recipient.service\";\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\n\r\n@Component({\r\n selector: \"cashaa-recipient-add-bankaccount\",\r\n templateUrl: \"./recipient-add-bankaccount.component.html\",\r\n styleUrls: [\"./recipient-add-bankaccount.component.scss\"],\r\n})\r\nexport class RecipientAddBankaccountComponent implements OnInit {\r\n /** Recipient Form Group */\r\n recipientAddForm: FormGroup;\r\n\r\n /** is some network call in progress */\r\n isInProgress = false;\r\n\r\n isCrypto = true;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n public modalRef: MDBModalRef,\r\n private recipientService: RecipientService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n const userEmail = sessionStorage.getItem(USER_EMAIL_PATH);\r\n const userName = sessionStorage.getItem(USER_NAME_PATH);\r\n this.recipientAddForm = this.fb.group({\r\n currency: [\"\", [ValidatorUtility.Required]],\r\n email: [\r\n { value: userEmail, disabled: true },\r\n ,\r\n [ValidatorUtility.Required],\r\n ],\r\n fullName: [\r\n { value: userName, disabled: true },\r\n [ValidatorUtility.Required],\r\n ],\r\n accountNumber: [\"\", [ValidatorUtility.OnlyNumberRequired]],\r\n sortCode: [\"\", [ValidatorUtility.Required]],\r\n ibanOrSortCode: [\"\", [ValidatorUtility.Required]],\r\n userType: [\"4\"],\r\n cryptoAddress: [\"\", ValidatorUtility.Required],\r\n cryptoEmail: [\"\", ValidatorUtility.Required],\r\n cryptoPassword: [\"\", ValidatorUtility.Required],\r\n });\r\n }\r\n\r\n listenToCurrencyChange(newValue: ICurrency): void {\r\n if (newValue.currencyType === 2) {\r\n this.isCrypto = false;\r\n } else {\r\n this.isCrypto = true;\r\n }\r\n }\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {\r\n if (this.isCrypto) {\r\n // call new api here for crypto\r\n }\r\n\r\n // const data = this.recipientAddForm.value;\r\n\r\n // const recipientData = new AddRecipient(\r\n // data.currency.value,\r\n // parseInt(data.userType, 10),\r\n // data.email,\r\n // data.fullName,\r\n // data.ibanOrSortCode,\r\n // data.sortCode,\r\n // data.accountNumber,\r\n // \"Self Bank Account\"\r\n // );\r\n\r\n // this.isInProgress = true;\r\n // this.recipientService.addRecipientRequest(recipientData).subscribe(\r\n // (res) => {\r\n // this.isInProgress = false;\r\n // this.modalRef.hide();\r\n // this.recipientService.emitaddRecipientFlag(true);\r\n // },\r\n // (err) => {\r\n // this.isInProgress = false;\r\n // this.modalRef.hide();\r\n // }\r\n // );\r\n }\r\n}\r\n","
    \r\n \r\n

    \r\n Add your bank account\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    Bank Details
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    ","import { ICurrency } from \"src/app/core/models/currency\";\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { RecipientService } from \"../services/recipient.service\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { IMyOptions, MDBModalRef } from \"ng-uikit-pro-standard\";\r\nimport { AddressWhitelist } from \"src/app/core/models/address-whitelist\";\r\nimport { WithdrawService } from \"src/app/withdraw/services/withdraw.service\";\r\nimport {\r\n APP_ROUTES,\r\n CUSTOMER_ADDED_SUCCESS,\r\n RECIPIENT_EMAIL_MESG,\r\n UNABLE_TO_PERFORM_ERROR,\r\n USER_TWO_FACTOR_CODE,\r\n CUSTOMER_UPDATED_SUCCESS,\r\n SUBSCRIPTION_PERSONAL_PLAN,\r\n SUBSCRIPTION_BUSINESS_PLAN,\r\n USER_TYPE,\r\n} from \"src/app/app.constants\";\r\nimport {\r\n AddRecipientUsd,\r\n PostalAddress,\r\n Person,\r\n Recipient,\r\n Account,\r\n RecipientAccount,\r\n RecipientAddGbp,\r\n ICustomer,\r\n} from \"src/app/core/models/recipient/recipient-add-usd\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { CommonSavedData } from \"src/app/shared/services/commonSavedData.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CustomerService } from \"src/app/customer/services/customer.service\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { FileUpload, IFile } from \"src/app/core/models/Lerex/enum-load\";\r\nimport { UserSubscriptionPlan } from \"src/app/core/models/account-upgrade/subscription-plan-response\";\r\nimport { RecipientType } from \"src/app/core/enums/recipientTypeEnum\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Google2faDto } from \"src/app/core/models/EnableTwoFa\";\r\nimport { AccountService } from \"src/app/account/sevices/account.service\";\r\nconst savingAccountType = require(\"../../../assets/json/accountType.json\");\r\nconst addressdocumentTypes = require(\"../../../assets/json/addressProofDocumentType.json\");\r\nconst identitydocumentTypes = require(\"../../../assets/json/identityProofDocumentType.json\");\r\n@Component({\r\n selector: \"cashaa-recipient-add\",\r\n templateUrl: \"./recipient-add.component.html\",\r\n styleUrls: [\"./recipient-add.component.scss\"],\r\n})\r\nexport class RecipientAddComponent implements OnInit, OnDestroy {\r\n google2fa: Google2faDto;\r\n /** Recipient Form Group */\r\n recipientAddForm: FormGroup;\r\n /** is some network call in progress */\r\n isInProgress = false;\r\n twofactor = false;\r\n isCrypto = true;\r\n currentCur: ICurrency;\r\n userEmail?: string = undefined;\r\n initialValue;\r\n initialValueSortCode;\r\n userName?: string = undefined;\r\n beneficiarytype?: string;\r\n addressType?: string;\r\n symbol?: string;\r\n currecncyId = \"\";\r\n errorMessage = false;\r\n response = \"\";\r\n currencySymbol: string = \"\";\r\n savingAcTypesList: IFormSelect[] = [];\r\n isLoading = true;\r\n currFlag;\r\n isEdit: boolean;\r\n myDatePickerOptions: IMyOptions = {\r\n minYear: 1900,\r\n maxYear: 2099,\r\n };\r\n code: string = \"\";\r\n customer: {\r\n selectedCustomer: ICustomer;\r\n isUploadKyc: boolean;\r\n };\r\n isUploadKyc: boolean;\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n isPremiumPlan: boolean = true;\r\n initialValueCountry: string;\r\n public identityfile: IFile = new FileUpload(null);\r\n public addressfile: IFile = new FileUpload(null);\r\n public selfiefile: IFile = new FileUpload(null);\r\n public addressProofOptions: IFormSelect[] = [];\r\n public identityProofOptions: IFormSelect[] = [];\r\n networkTypeOptions = [];\r\n currentUserPlanDetail: UserSubscriptionPlan;\r\n sub: Subscription;\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\"];\r\n constructor(\r\n private fb: FormBuilder,\r\n public modalRef: MDBModalRef,\r\n private recipientService: RecipientService,\r\n private addressWhitelistService: WithdrawService,\r\n private commonSavedData: CommonSavedData,\r\n private toastrService: ToastrService,\r\n private router: Router,\r\n private customerService: CustomerService,\r\n private domainService: DomainService,\r\n private accountService: AccountService,\r\n private modalService: ModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.checkTwoFactorEnable();\r\n if (this.beneficiarytype !== 'broker') {\r\n this.setPremiumStatus();\r\n }\r\n this.identityfile.docType = \"IdentityFile\";\r\n this.addressfile.docType = \"AddressFile\";\r\n this.selfiefile.docType = \"SelfieFile\";\r\n if (this.addressType === 'cryptoAddress') {\r\n this.initialValue = '43796ac1-8f4e-4875-2533-08d7b39928d1';\r\n }\r\n else {\r\n this.initialValue = \"2633816a-dc95-4015-2536-08d7b39928d1\";\r\n }\r\n this.savingAcTypesList = savingAccountType;\r\n this.createForm();\r\n if (this.currentCur?.symbol === \"USD\") {\r\n // if (this.userType === \"5\") {\r\n // this.recipientAddForm.controls[\"lastName\"].clearValidators();\r\n // } else {\r\n // this.recipientAddForm.controls[\"lastName\"].setValidators(\r\n // Validators.required\r\n // );\r\n // }\r\n setTimeout(() => {\r\n // this.recipientAddForm.controls[\"lastName\"].updateValueAndValidity({\r\n // onlySelf: true,\r\n // });\r\n // this.recipientAddForm.updateValueAndValidity({ onlySelf: true });\r\n });\r\n }\r\n if (this.userType === \"4\" && (this.customer || this.isUploadKyc)) {\r\n this.recipientAddForm.get(\"googleDriveUrl\").setValue(undefined);\r\n }\r\n this.recipientAddForm.controls[\"currency\"].valueChanges.subscribe(\r\n (data) => {\r\n if (data) {\r\n this.changeCurr(data);\r\n }\r\n }\r\n );\r\n if (this.beneficiarytype !== 'broker') {\r\n this.recipientAddForm.controls[\"recipientType\"].valueChanges.subscribe((val) => {\r\n if (val) {\r\n if (Number(val) === RecipientType.Others) {\r\n this.recipientAddForm.controls[\"firstName\"].disable();\r\n this.recipientAddForm.controls[\"firstName\"].setValue(this.userName)\r\n if (this.isPremiumPlan) {\r\n this.recipientAddForm.controls[\"email\"].enable();\r\n this.recipientAddForm.controls[\"fullName\"].disable();\r\n this.recipientAddForm.controls[\"email\"].setValue('');\r\n this.recipientAddForm.controls[\"firstName\"].disable();\r\n this.recipientAddForm.controls[\"firstName\"].setValue(this.userName)\r\n // this.recipientAddForm.controls[\"fullName\"].setValue('');\r\n }\r\n } else {\r\n this.recipientAddForm.controls[\"email\"].setValue(this.userEmail);\r\n this.recipientAddForm.controls[\"fullName\"].setValue(this.userName);\r\n this.recipientAddForm.controls[\"firstName\"].setValue(this.userName)\r\n this.recipientAddForm.controls[\"email\"].disable();\r\n this.recipientAddForm.controls[\"fullName\"].disable();\r\n // this.isPremiumPlan = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n if (this.customer) {\r\n this.isLoading = true;\r\n this.addressProofOptions = addressdocumentTypes;\r\n this.identityProofOptions = identitydocumentTypes;\r\n this.isUploadKyc = this.customer.isUploadKyc;\r\n this.editBrokerCustomer(this.customer.selectedCustomer);\r\n this.domainService.getKycUploadFile().subscribe(data => {\r\n if (data.docType === \"SelfieFile\") {\r\n this.selfiefile = data;\r\n this.selfiefile.isDeletedValid = true;\r\n } else if (data.docType === \"IdentityFile\") {\r\n this.identityfile = data;\r\n this.identityfile.isDeletedValid = true;\r\n } else if (data.docType === \"AddressFile\") {\r\n this.addressfile = data;\r\n this.addressfile.isDeletedValid = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n checkTwoFactorEnable() {\r\n this.accountService.isTwoFactorEnabled().subscribe(res => {\r\n sessionStorage.setItem(USER_TWO_FACTOR_CODE, res.toString());\r\n this.twofactor = res;\r\n }, err => {\r\n\r\n })\r\n }\r\n\r\n editBrokerCustomer(customer: ICustomer) {\r\n this.isEdit = true;\r\n this.beneficiarytype = customer.beneficiaryType;\r\n this.initialValue = customer.currencyId;\r\n this.domainService\r\n .getFiatCurrency()\r\n .subscribe((currencies: ICurrency[]) => {\r\n if (currencies && !this.currentCur) {\r\n this.currentCur = currencies.filter(\r\n (c) => c.id === this.initialValue\r\n )[0];\r\n this.recipientAddForm.get(\"email\").setValue(customer.email);\r\n this.recipientAddForm.get(\"fullName\").setValue(customer.firstName);\r\n this.recipientAddForm.get(\"userType\").setValue(customer.userType);\r\n this.recipientAddForm.get(\"ibanOrSortCode\").setValue(customer.iban);\r\n this.recipientAddForm.get(\"swiftOrBic\").setValue(customer.swiftCode);\r\n this.recipientAddForm.get(\"sortCode\").setValue(customer.sortCode);\r\n this.initialValueSortCode = customer.sortCode;\r\n this.recipientAddForm.get(\"branchName\").setValue(customer.branchName);\r\n if (this.currentCur.symbol === \"EUR\") {\r\n this.recipientAddForm.get(\"address1\").setValue(customer.address1);\r\n }\r\n if (this.currentCur.symbol === \"USD\") {\r\n this.recipientAddForm\r\n .get(\"routingNumber\")\r\n .setValue(customer.routingNumber);\r\n this.recipientAddForm.get(\"bankCode\").setValue(customer.swiftCode);\r\n this.recipientAddForm.get(\"accountType\").setValue(customer.type);\r\n // if (customer.userType === \"4\") {\r\n this.initialValueCountry = customer.countryOfBirth;\r\n // this.recipientAddForm.get(\"dob\").setValue(customer.dob);\r\n // }\r\n this.recipientAddForm.get(\"firstName\").setValue(customer.firstName);\r\n // this.recipientAddForm\r\n // .get(\"middleName\")\r\n // .setValue(customer.middleName);\r\n // this.recipientAddForm.get(\"lastName\").setValue(customer.lastName);\r\n this.recipientAddForm\r\n .get(\"address1\")\r\n .setValue(customer.addressLine1);\r\n // this.recipientAddForm\r\n // .get(\"address2\")\r\n // .setValue(customer.addressLine2);\r\n // this.recipientAddForm\r\n // .get(\"address3\")\r\n // .setValue(customer.addressLine3);\r\n // this.recipientAddForm.get(\"mobile\").setValue(customer.mobile);\r\n }\r\n this.recipientAddForm.get(\"postalCode\").setValue(customer.postalCode);\r\n this.recipientAddForm.get(\"city\").setValue(customer.city);\r\n this.recipientAddForm.get(\"bankName\").setValue(customer.bankName);\r\n this.recipientAddForm\r\n .get(\"accountNumber\")\r\n .setValue(\r\n this.currentCur.symbol === \"USD\"\r\n ? customer.accountNumber\r\n : customer.accountNo\r\n );\r\n this.recipientAddForm\r\n .get(\"countryCode\")\r\n .setValue(customer.countryCode);\r\n if (customer.userType === \"5\") {\r\n this.recipientAddForm\r\n .get(\"googleDriveUrl\")\r\n .setValue(customer.googleDriveUrl);\r\n }\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 1000);\r\n }\r\n\r\n this.recipientAddForm.updateValueAndValidity();\r\n });\r\n }\r\n\r\n changeCurr(data: string): void {\r\n let currencies = this.commonSavedData.getCurrencies()\r\n ? this.commonSavedData.getCurrencies()\r\n : null;\r\n if (currencies) {\r\n let selectedCurr = currencies.filter((c) => c.id === data);\r\n this.listenToCurrencyChange(selectedCurr[0]);\r\n if (this.symbol) {\r\n selectedCurr = currencies.filter((c) => c.symbol === this.symbol);\r\n this.initialValue = selectedCurr[0].id;\r\n }\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 500);\r\n }\r\n }\r\n\r\n onCurrencyChange(cur: ICurrency): void {\r\n this.code = \"\";\r\n this.currentCur = cur;\r\n this.networkTypeOptions = cur.networkType;\r\n let defaultNetwork = this.networkTypeOptions.filter(item => item.isDefaultNetwork == true)[0];\r\n this.recipientAddForm.controls[\"networkType\"].setValue(defaultNetwork.networkValue);\r\n this.recipientAddForm.patchValue(\r\n {\r\n currency: cur.id,\r\n },\r\n {\r\n emitEvent: false,\r\n }\r\n );\r\n this.changeCurr(cur.id);\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.recipientAddForm = this.fb.group({\r\n currency: [\"\"],\r\n email: [{ value: this.userEmail, disabled: this.beneficiarytype === 'broker' ? false : true }],\r\n fullName: [{ value: \"\", disabled: this.beneficiarytype === 'broker' ? false : true }],\r\n sortCode: [\"\"],\r\n ibanOrSortCode: [\"\"],\r\n swiftOrBic: [\"\"],\r\n userType: [\"4\"],\r\n recipientType: [\"\"],\r\n cryptoAddress: [\"\"],\r\n // cryptoEmail: [\"\"],\r\n bankName: [\"\"],\r\n branchName: [\"\"],\r\n postCode: \"\",\r\n addressLabel: [\"\"],\r\n countryCode: [\"\"],\r\n routingNumber: [\"\"],\r\n bankCode: [\"\"],\r\n nickname: [\"\"],\r\n firstName: [\"\"],\r\n address1: [\"\"],\r\n postalCode: [\"\"],\r\n city: [\"\"],\r\n province: [],\r\n country: [\"US\"],\r\n accountType: [],\r\n accountNumber: [\"\"],\r\n accountCurrencyCode: [\"USD\"],\r\n googleDriveUrl: [\"\"],\r\n identityProof: [\"\"],\r\n addressProof: [\"\"],\r\n identityDocumentType: [\"\"],\r\n addressDocumentType: [\"\"],\r\n selfie: [\"\"],\r\n networkType: [\"\"],\r\n countryOfBirth: [\"\"],\r\n cryptoMemo: [\"\"]\r\n\r\n });\r\n }\r\n\r\n listenToCurrencyChange(newValue: ICurrency): void {\r\n for (let control in this.recipientAddForm.controls) {\r\n this.recipientAddForm.controls[control].clearValidators();\r\n }\r\n setTimeout(() => {\r\n // if (this.userType === \"5\") {\r\n // this.recipientAddForm.controls[\"lastName\"].clearValidators();\r\n // }\r\n // this.recipientAddForm.controls[\"lastName\"].updateValueAndValidity({\r\n // onlySelf: true,\r\n // });\r\n // this.recipientAddForm.updateValueAndValidity({ onlySelf: true });\r\n });\r\n this.recipientAddForm.updateValueAndValidity();\r\n let tempCurrency = this.recipientAddForm.value.currency;\r\n if (!this.isEdit) {\r\n this.recipientAddForm.reset();\r\n this.recipientAddForm.patchValue(\r\n {\r\n currency: tempCurrency,\r\n userType: \"4\",\r\n country: \"US\",\r\n accountCurrencyCode: \"USD\",\r\n agentCode: \"US\",\r\n agentCountryCode: \"US\",\r\n email: this.userEmail,\r\n recipientType: this.beneficiarytype === 'broker' ? \"2\" : \"1\",\r\n fullName: this.userName\r\n },\r\n { emitEvent: false, onlySelf: true }\r\n );\r\n }\r\n this.recipientAddForm.updateValueAndValidity();\r\n this.currecncyId = newValue.id;\r\n this.currencySymbol = newValue.symbol;\r\n this.response = \"\";\r\n if (newValue.currencyType === 2) {\r\n this.isCrypto = false;\r\n // this.recipientAddForm.controls[\"email\"].disable();\r\n this.recipientAddForm.controls[\"email\"].setValidators([\r\n Validators.required,\r\n ]);\r\n if (this.beneficiarytype === 'broker') {\r\n this.recipientAddForm.controls[\"googleDriveUrl\"].setValidators([\r\n ValidatorUtility.UrlValidator,\r\n ]);\r\n }\r\n\r\n if (this.currencySymbol === \"USD\") {\r\n // this.recipientAddForm.controls[\"email\"].disable();\r\n this.recipientAddForm.controls[\"email\"].setValue(this.userEmail);\r\n this.recipientAddForm.controls[\"routingNumber\"].setValidators(\r\n Validators.required\r\n );\r\n this.recipientAddForm.controls[\"bankCode\"].setValidators(\r\n Validators.required\r\n );\r\n // this.recipientAddForm.controls[\"mobile\"].setValidators(\r\n // Validators.required\r\n // );\r\n // this.recipientAddForm.controls[\"firstName\"].setValidators([\r\n // Validators.required,\r\n // ValidatorUtility.letterValidator]\r\n // );\r\n // this.recipientAddForm.controls[\"middleName\"].setValidators([\r\n // ValidatorUtility.letterValidator]);\r\n // if (this.userType === \"4\") {\r\n // this.recipientAddForm.controls[\"lastName\"].setValidators([\r\n // Validators.required,\r\n // ValidatorUtility.letterValidator\r\n // ]);\r\n // }\r\n // this.recipientAddForm.controls[\"address1\"].setValidators([\r\n // Validators.required,\r\n // ValidatorUtility.max50,\r\n // ]);\r\n this.recipientAddForm.controls[\"city\"].setValue('');\r\n this.recipientAddForm.controls[\"firstName\"].setValue(this.userName);\r\n this.recipientAddForm.controls[\"postalCode\"].setValue('');\r\n this.recipientAddForm.controls[\"address1\"].setValue('');\r\n // this.recipientAddForm.controls[\"countryOfBirth\"].setValidators(\r\n // Validators.required\r\n // );\r\n // this.recipientAddForm.controls[\"city\"].setValidators([\r\n // Validators.required,\r\n // ValidatorUtility.max50,\r\n // ]);\r\n // this.recipientAddForm.controls[\"province\"].setValidators(\r\n // Validators.required\r\n // );\r\n this.recipientAddForm.controls[\"accountType\"].setValidators(\r\n Validators.required\r\n );\r\n // this.recipientAddForm.controls[\"bankName\"].setValidators([\r\n // Validators.required,\r\n // ValidatorUtility.max50,\r\n // ]);\r\n this.recipientAddForm.controls[\"accountNumber\"].setValidators([\r\n ValidatorUtility.OnlyAphaNumericRequired,\r\n Validators.required,\r\n ]);\r\n this.recipientAddForm.updateValueAndValidity();\r\n } else {\r\n if (this.currencySymbol === \"EUR\") {\r\n this.recipientAddForm.controls[\"ibanOrSortCode\"].setValidators([\r\n Validators.required,\r\n // ,ValidatorUtility.IbanRegexEUR,\r\n ]);\r\n this.recipientAddForm.controls[\"swiftOrBic\"].setValidators([\r\n Validators.required,\r\n // ,ValidatorUtility.swiftOrBicRegex,\r\n ]);\r\n this.recipientAddForm.controls[\"postalCode\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.postalcode,\r\n ]);\r\n this.recipientAddForm.controls[\"countryCode\"].setValidators([\r\n Validators.required,\r\n Validators.maxLength(2),\r\n ]);\r\n this.recipientAddForm.controls[\"address1\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.max50,\r\n ]);\r\n } else if (this.currencySymbol === \"GBP\") {\r\n this.recipientAddForm.controls[\"sortCode\"].setValidators(\r\n Validators.required\r\n );\r\n this.recipientAddForm.controls[\"accountNumber\"].setValidators([\r\n ValidatorUtility.OnlyAphaNumericRequired,\r\n Validators.required,\r\n ]);\r\n }\r\n this.recipientAddForm.controls[\"bankName\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.max50,\r\n ]);\r\n this.recipientAddForm.controls[\"branchName\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.max50,\r\n ]);\r\n this.recipientAddForm.controls[\"city\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.max50,\r\n ]);\r\n this.recipientAddForm.controls[\"fullName\"].setValidators([\r\n Validators.required\r\n ]);\r\n this.recipientAddForm.updateValueAndValidity();\r\n }\r\n } else {\r\n this.isCrypto = true;\r\n if (this.currencySymbol === \"CAS\" || this.currencySymbol === \"BNB\") {\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.AddressCASValidator,\r\n ]);\r\n\r\n } else if (\r\n this.currencySymbol === \"ETH\" ||\r\n this.currencySymbol === \"USDT\"\r\n ) {\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.AddressETHUSDTValidator,\r\n ]);\r\n } else if (this.currencySymbol === \"BTC\") {\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.BitcoinAddressValidator,\r\n ]);\r\n } else {\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValidators(\r\n Validators.required\r\n );\r\n }\r\n // this.recipientAddForm.controls[\"addressLabel\"].setValidators(\r\n // Validators.required\r\n // );\r\n // if (!(this.currencySymbol === 'BTC' || this.currencySymbol === 'BNB')) {\r\n // this.recipientAddForm.controls[\"networkType\"].setValidators(\r\n // Validators.required\r\n // );\r\n // }\r\n \r\n // if (this.currencySymbol === 'BTC') {\r\n // this.networkTypeOptions = [{ value: \"0\", label: \"BTC (Bitcoin)\" }];\r\n // this.recipientAddForm.controls[\"networkType\"].setValue(\"0\");\r\n // }\r\n\r\n // if (!this.fiatCurrencies.includes(this.currencySymbol) && !(this.currencySymbol === 'BTC' || this.currencySymbol === 'BNB')) {\r\n // this.recipientAddForm.controls[\"networkType\"].setValue(\"\");\r\n // this.networkTypeOptions = [{ value: \"2\", label: \"BNB Smart Chain (BEP-20)\" }];\r\n // if(this.currencySymbol === 'USDT') {\r\n // this.networkTypeOptions.push({ value: \"4\", label: \"Tron (TRC-20)\" });\r\n // }\r\n // if (this.currencySymbol === 'BNB' || this.currencySymbol === 'BCH' || this.currencySymbol === 'DOG' ||\r\n // this.currencySymbol === 'LTC' || this.currencySymbol === 'XRP') {\r\n // this.networkTypeOptions.push({ value: \"0\", label: this.getLabelValue(this.currencySymbol) });\r\n // } else {\r\n // if(this.currencySymbol !== 'CAS') {\r\n // this.networkTypeOptions.push({ value: \"1\", label: \"Ethereum (ERC-20)\" });\r\n // }\r\n // }\r\n\r\n // // if (this.currencySymbol === 'CAS') {\r\n // // this.networkTypeOptions.push({ value: \"3\", label: \"Polygon\" });\r\n // // }\r\n\r\n // if (this.currencySymbol === 'ETH' || this.currencySymbol === 'USDT' || this.currencySymbol === 'UNI' ||\r\n // this.currencySymbol === 'USDC' || this.currencySymbol === 'LINK') {\r\n // this.recipientAddForm.controls[\"networkType\"].setValue(\"1\");\r\n // }\r\n // if (this.currencySymbol === 'BNB' || this.currencySymbol === 'BCH' || this.currencySymbol === 'CAS'\r\n // || this.currencySymbol === 'DOG' || this.currencySymbol === 'LTC' || this.currencySymbol === 'XRP') {\r\n // this.recipientAddForm.controls[\"networkType\"].setValue(\"0\");\r\n // }\r\n // }\r\n // if ((this.currencySymbol === \"CAS\" || this.currencySymbol === \"BNB\" || this.currencySymbol === \"XRP\")\r\n // && this.recipientAddForm.get('networkType').value === '0') {\r\n // this.recipientAddForm.controls[\"cryptoMemo\"].setValidators([\r\n // ValidatorUtility.OnlyNumberRequired,\r\n // ]);\r\n // }\r\n this.recipientAddForm.updateValueAndValidity();\r\n }\r\n\r\n setTimeout(() => {\r\n this.recipientAddForm.updateValueAndValidity();\r\n });\r\n this.isEdit = false;\r\n }\r\n\r\n getLabelValue(currency: string): string {\r\n if (currency === 'BNB') {\r\n return \"BNB Beacon Chain (BEP2)\"\r\n } else {\r\n return this.getCurrencyName(currency);\r\n }\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"Dogecoin (DOGE)\";\r\n if (curr === \"BCH\") return \"Bitcoin Cash (BCH)\";\r\n if (curr === \"XRP\") return \"Ripple (XRP)\";\r\n if (curr === \"LTC\") return \"Litecoin (LTC)\";\r\n else return curr;\r\n }\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {\r\n const data = this.recipientAddForm.value;\r\n data.province = \"\";\r\n if (this.customer || this.isUploadKyc) {\r\n this.fillFormCustomerData(data);\r\n } else {\r\n this.errorMessage = false;\r\n\r\n if (this.isCrypto) {\r\n if (!data.cryptoMemo) {\r\n data.cryptoMemo = \"\";\r\n }\r\n const addressWhitelistData = new AddressWhitelist(\r\n this.currecncyId,\r\n data.cryptoAddress,\r\n data.addressLabel,\r\n this.code,\r\n data.networkType == null ? undefined : data.networkType,\r\n data.cryptoEmail,\r\n data.userType,\r\n data.cryptoMemo\r\n );\r\n this.isInProgress = true;\r\n if (data.networkType === '0' && !data.cryptoMemo && (this.currencySymbol === \"CAS\" || this.currencySymbol === \"BNB\" || this.currencySymbol === \"XRP\")) {\r\n this.modalService.openConfirmationModal('Centralize address need memo for withdraw. Do you want to continue without memo?')\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n if (status) {\r\n this.addCryptoAddress(addressWhitelistData);\r\n this.sub.unsubscribe();\r\n } else {\r\n this.isInProgress = false;\r\n this.sub.unsubscribe();\r\n }\r\n\r\n })\r\n } else {\r\n this.addCryptoAddress(addressWhitelistData);\r\n }\r\n\r\n } else if (this.currencySymbol === \"USD\") {\r\n const postalAddress = new PostalAddress(\r\n data.address1,\r\n data.address2,\r\n data.address3,\r\n data.postalCode,\r\n data.city,\r\n data.province,\r\n data.country,\r\n data.countryOfBirth\r\n );\r\n let person;\r\n person = new Person(\r\n data.firstName,\r\n data.middleName ? data.middleName : \"\",\r\n data.lastName && this.userType === \"4\"\r\n ? data.lastName\r\n : \"\",\r\n data.mobile,\r\n data.email,\r\n data.nickname,\r\n postalAddress\r\n );\r\n if (\r\n data.countryOfBirth &&\r\n data.countryOfBirth.value\r\n ) {\r\n person.countryOfBirth = data.countryOfBirth.value;\r\n }\r\n // if (data.dob && this.userType === \"4\") {\r\n // person.dob = data.dob;\r\n // }\r\n const recipient = new Recipient(person);\r\n const account = new Account(\r\n data.accountType,\r\n data.bankName,\r\n data.accountNumber,\r\n data.currency.value,\r\n data.routingNumber,\r\n data.bankCode\r\n );\r\n const recipientAccount = new RecipientAccount(account);\r\n\r\n const recipientData = new AddRecipientUsd(\r\n this.currecncyId.toUpperCase(),\r\n recipient,\r\n recipientAccount,\r\n data.userType,\r\n this.beneficiarytype === 'broker' ? \"2\" : data.recipientType,\r\n this.beneficiarytype\r\n );\r\n\r\n if (data.googleDriveUrl) {\r\n recipientData.googleDriveUrl = data.googleDriveUrl;\r\n }\r\n this.isInProgress = true;\r\n this.recipientService.addRecipientRequestUsd(recipientData).subscribe(\r\n (res) => {\r\n this.toastrService.success(RECIPIENT_EMAIL_MESG);\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.recipientAddForm.reset();\r\n if (this.beneficiarytype === \"broker\") {\r\n this.customerService.emitCustomerAdd(true);\r\n } else {\r\n this.recipientService.emitaddRecipientFlag(true);\r\n }\r\n if (this.router.url.includes(\"/fiat\")) {\r\n this.router.navigateByUrl(APP_ROUTES.RECIPIENT_BASE);\r\n }\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n this.isInProgress = false;\r\n }\r\n );\r\n } else if (\r\n this.currencySymbol === \"GBP\" ||\r\n this.currencySymbol === \"EUR\"\r\n ) {\r\n let recipientAddGbp;\r\n if (this.currencySymbol === \"GBP\") {\r\n recipientAddGbp = new RecipientAddGbp(\r\n \"2\",\r\n this.userType,\r\n this.beneficiarytype === 'broker' ? \"2\" : data.recipientType,\r\n data.fullName,\r\n data.sortCode,\r\n data.ibanOrSortCode,\r\n data.accountNumber,\r\n this.beneficiarytype,\r\n data.bankName,\r\n data.branchName,\r\n data.city,\r\n data.email,\r\n data.swiftOrBic,\r\n\r\n );\r\n } else {\r\n recipientAddGbp = new RecipientAddGbp(\r\n \"3\",\r\n data.userType,\r\n this.beneficiarytype === 'broker' ? \"2\" : data.recipientType,\r\n data.fullName,\r\n data.sortCode,\r\n data.ibanOrSortCode,\r\n data.accountNumber,\r\n this.beneficiarytype,\r\n data.bankName,\r\n data.branchName,\r\n data.city,\r\n data.email,\r\n data.swiftOrBic,\r\n data.address1,\r\n data.postalCode,\r\n data.countryCode\r\n );\r\n }\r\n if (data.googleDriveUrl) {\r\n recipientAddGbp.googleDriveUrl = data.googleDriveUrl;\r\n }\r\n this.isInProgress = true;\r\n this.recipientService.addRecipientRequest(recipientAddGbp).subscribe(\r\n (res) => {\r\n this.isInProgress = false;\r\n this.toastrService.success(\r\n this.beneficiarytype === \"broker\"\r\n ? CUSTOMER_ADDED_SUCCESS\r\n : RECIPIENT_EMAIL_MESG\r\n );\r\n this.modalRef.hide();\r\n this.recipientAddForm.reset();\r\n if (this.beneficiarytype === \"broker\") {\r\n this.customerService.emitCustomerAdd(true);\r\n } else {\r\n this.recipientService.emitaddRecipientFlag(true);\r\n }\r\n if (this.router.url.includes(\"/fiat\")) {\r\n this.router.navigateByUrl(APP_ROUTES.RECIPIENT_BASE);\r\n }\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n this.isInProgress = false;\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n ibanEvent(data: any) {\r\n if (this.currencySymbol !== \"EUR\") {\r\n if (\r\n !this.recipientAddForm.value.swiftOrBic &&\r\n !this.recipientAddForm.value.ibanOrSortCode\r\n ) {\r\n this.recipientAddForm.controls[\"ibanOrSortCode\"].clearValidators();\r\n this.recipientAddForm.controls[\"swiftOrBic\"].clearValidators();\r\n } else if (\r\n !this.recipientAddForm.value.swiftOrBic ||\r\n !this.recipientAddForm.value.ibanOrSortCode\r\n ) {\r\n this.recipientAddForm.controls[\"ibanOrSortCode\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.IbanRegexGBP,\r\n ]);\r\n this.recipientAddForm.controls[\"swiftOrBic\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.swiftOrBicRegex,\r\n ]);\r\n }\r\n this.recipientAddForm.controls[\"ibanOrSortCode\"].updateValueAndValidity();\r\n this.recipientAddForm.controls[\"swiftOrBic\"].updateValueAndValidity();\r\n }\r\n }\r\n\r\n localBankEvent(data: any) {\r\n if (this.currencySymbol !== \"GBP\") {\r\n if (\r\n !this.recipientAddForm.value.sortCode &&\r\n !this.recipientAddForm.value.accountNumber\r\n ) {\r\n this.recipientAddForm.controls[\"sortCode\"].clearValidators();\r\n this.recipientAddForm.controls[\"accountNumber\"].clearValidators();\r\n } else if (\r\n !this.recipientAddForm.value.sortCode ||\r\n !this.recipientAddForm.value.accountNumber\r\n ) {\r\n this.recipientAddForm.controls[\"sortCode\"].setValidators(\r\n Validators.required\r\n );\r\n this.recipientAddForm.controls[\"accountNumber\"].setValidators([\r\n ValidatorUtility.OnlyAphaNumericRequired,\r\n Validators.required,\r\n ]);\r\n }\r\n this.recipientAddForm.controls[\"sortCode\"].updateValueAndValidity();\r\n this.recipientAddForm.controls[\"accountNumber\"].updateValueAndValidity();\r\n }\r\n }\r\n\r\n clearValidation(...controls: AbstractControl[]) {\r\n controls.forEach((control: AbstractControl) => {\r\n control.clearValidators();\r\n control.updateValueAndValidity();\r\n });\r\n }\r\n\r\n getUsdFirstNameLabel(value: string, flag: boolean): string {\r\n if (value === \"5\") {\r\n return \"Legal Name\";\r\n } else {\r\n if (flag) {\r\n return \"Account Holder Name\";\r\n } else {\r\n return \"First Name\";\r\n }\r\n }\r\n }\r\n\r\n updateCode(val: string): void {\r\n this.code = val;\r\n }\r\n\r\n getCurrencySource(): string {\r\n return this.beneficiarytype === \"broker\" ? \"wallet\" : \"all\";\r\n }\r\n\r\n getModalName(): string {\r\n if (this.beneficiarytype === \"broker\") {\r\n return \"Add Beneficiary/Customer\";\r\n }\r\n else if (this.addressType === \"cryptoAddress\") {\r\n return 'Add Crypto Address'\r\n }\r\n else {\r\n // this.recipientAddForm.patchValue({recipientType : \"2\"})\r\n return \"Add Bank Account\";\r\n }\r\n }\r\n\r\n fillFormCustomerData(data: any) {\r\n this.isInProgress = true;\r\n const formData = new FormData();\r\n const customer: ICustomer = this.customer.selectedCustomer;\r\n formData.append(\"customerId\", customer.customerId);\r\n if (this.isUploadKyc) {\r\n formData.append(\"selfieFile\", this.selfiefile.file);\r\n formData.append(\"identityProofFile\", this.identityfile.file);\r\n formData.append(\"addressProofFile\", this.addressfile.file);\r\n formData.append(\"identityDocumentType\", data.identityDocumentType);\r\n formData.append(\"addressDocumentType\", data.addressDocumentType);\r\n }\r\n if (this.currentCur.symbol === \"EUR\" || this.currentCur.symbol === \"GBP\") {\r\n formData.append(\"customerName\", this.userName);\r\n if (data.ibanOrSortCode) {\r\n formData.append(\"iban\", data.ibanOrSortCode);\r\n }\r\n\r\n if (data.sortCode) {\r\n formData.append(\"sortCode\", data.sortCode);\r\n }\r\n\r\n if (data.swiftOrBic) {\r\n formData.append(\"bankCode\", data.swiftOrBic);\r\n }\r\n\r\n formData.append(\"branchName\", data.branchName);\r\n formData.append(\"city\", data.city);\r\n\r\n if (this.currentCur.symbol === \"EUR\") {\r\n formData.append(\"postalCode\", data.postalCode);\r\n formData.append(\"address1\", data.address1);\r\n formData.append(\"countryCode\", data.countryCode);\r\n }\r\n } else {\r\n formData.append(\"routingNumber\", data.routingNumber);\r\n if (this.userType === \"4\") {\r\n formData.append(\"firstName\", data.firstName);\r\n // if (data.middleName) {\r\n // formData.append(\"middleName\", data.middleName);\r\n // }\r\n\r\n // formData.append(\"lastName\", data.lastName);\r\n } else {\r\n formData.append(\"firstName\", data.firstName);\r\n }\r\n\r\n formData.append(\"addressLine1\", data.address1);\r\n // if (data.address2) {\r\n // formData.append(\"addressLine2\", data.address2);\r\n // }\r\n // if (data.address3) {\r\n // formData.append(\"addressLine3\", data.address3);\r\n // }\r\n formData.append(\"city\", data.city);\r\n // formData.append(\"province\", data.province);\r\n if (this.userType === \"4\") {\r\n // if (data.dob) {\r\n // formData.append(\"dob\", data.dob.toString());\r\n // }\r\n if (data.countryOfBirth) {\r\n formData.append(\"countryOfBirth\", data.countryOfBirth.value);\r\n }\r\n }\r\n if (data.bankCode) {\r\n formData.append(\"bankCode\", data.bankCode);\r\n }\r\n formData.append(\"usdAccountType\", data.accountType);\r\n // formData.append(\"mobile\", data.mobile);\r\n formData.append(\"postalCode\", data.postalCode);\r\n formData.append(\"currencyCode\", \"USD\");\r\n formData.append(\"country\", \"US\");\r\n }\r\n\r\n formData.append(\"currencyId\", this.currentCur.id);\r\n formData.append(\"userType\", data.userType);\r\n if (this.userEmail) {\r\n formData.append(\"email\", this.userEmail);\r\n }\r\n formData.append(\"bankName\", data.bankName);\r\n if (data.accountNumber) {\r\n formData.append(\"accountNumber\", data.accountNumber);\r\n }\r\n if (data.googleDriveUrl) {\r\n formData.append(\"googleDriveUrl\", data.googleDriveUrl);\r\n }\r\n if (this.currentCur.symbol === \"USD\") {\r\n this.customerService.editCustomerUSD(formData).subscribe(\r\n (res: any) => {\r\n if (res.statusCode === 200) {\r\n this.toastrService.success(CUSTOMER_UPDATED_SUCCESS);\r\n this.customerService.emitCustomerAdd(true);\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.recipientAddForm.reset();\r\n }\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n } else {\r\n this.customerService.editCustomer(formData).subscribe(\r\n (res: any) => {\r\n if (res.statusCode === 200) {\r\n this.toastrService.success(CUSTOMER_UPDATED_SUCCESS);\r\n this.customerService.emitCustomerAdd(true);\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.recipientAddForm.reset();\r\n }\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n getStatusCurrency(): boolean {\r\n if (this.customer || this.isUploadKyc) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getInfoMesg(): string {\r\n return \"Share google drive url (with public access) after uploading the following preliminary documents:Cert. of Incorporation, Memo. & Art. of Assoc., Shareholding pattern, Business Add. Proof\";\r\n }\r\n\r\n onNetworkTypeChanged(select): void {\r\n this.recipientAddForm.controls.networkType.setValue(select.networkValue)\r\n const networkTypeValue = this.recipientAddForm.controls[\"cryptoAddress\"].value;\r\n if (networkTypeValue == select.networkValue) {\r\n return;\r\n }\r\n\r\n if (\r\n select.networkValue === 2 || select.networkValue === 3\r\n ) {\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValue(\"\");\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.AddressETHUSDTValidator,\r\n ]);\r\n } else if (this.currencySymbol === 'CAS' || this.currencySymbol === 'BNB') {\r\n if ((select.networkValue === 0 || select.networkValue === 1)) {\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValue(\"\");\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValidators([\r\n Validators.required,\r\n ValidatorUtility.AddressCASValidator,\r\n ]);\r\n }\r\n } else {\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValue(\"\");\r\n this.recipientAddForm.controls[\"cryptoAddress\"].setValidators([\r\n Validators.required,\r\n ]);\r\n }\r\n this.recipientAddForm.updateValueAndValidity();\r\n }\r\n\r\n isContinueActiveOthersSelection(): boolean {\r\n if (this.beneficiarytype === 'broker') {\r\n return true;\r\n }\r\n\r\n if (!this.isPremiumPlan && this.recipientAddForm.get('recipientType').value === \"2\") {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n setPremiumStatus(): void {\r\n if (this.userType === '4') {\r\n if (SUBSCRIPTION_PERSONAL_PLAN.BASIC === this.currentUserPlanDetail?.planName) {\r\n this.isPremiumPlan = false;\r\n }\r\n } else {\r\n if (SUBSCRIPTION_BUSINESS_PLAN.BASIC === this.currentUserPlanDetail?.planName) {\r\n this.isPremiumPlan = false;\r\n }\r\n }\r\n }\r\n\r\n addCryptoAddress(addressWhitelistData) {\r\n this.addressWhitelistService\r\n .addressWhitelist(addressWhitelistData)\r\n .subscribe(\r\n (res) => {\r\n this.addressWhitelistService.emitAddressWhitelistData(\r\n addressWhitelistData\r\n );\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.recipientService.emitaddRecipientFlag(true);\r\n this.recipientAddForm.reset();\r\n this.response = \"\";\r\n this.toastrService.success(RECIPIENT_EMAIL_MESG);\r\n if (this.router.url.includes(\"/fiat\")) {\r\n this.router.navigateByUrl(APP_ROUTES.RECIPIENT_BASE);\r\n }\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n this.code = \"\";\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.sub) {\r\n this.sub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n

    \r\n {{getModalName()}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n

    * Do you want to send and receive money from someone\r\n else.?\r\n \r\n Click here to upgrade.\r\n \r\n

    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n\r\n *\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n

    * Do you want to send and receive money from someone\r\n else?\r\n \r\n Click here to upgrade.\r\n \r\n

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Want to receive money from someone else?\r\n

    \r\n \"receive\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n You must fill your\r\n Memo correctly to withdraw through BEP2, or the funds may be lost.\r\n You must fill your Tag correctly to withdraw\r\n through XRP, or the funds may be lost.\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{ response }} \r\n
    \r\n\r\n
    \r\n \r\n Your google 2FA is not enabled\r\n click here to\r\n enable.\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Identity Document\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Address Proof Document\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Upload Selfie\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Confirm\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    ","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { WithdrawConfirmation } from \"src/app/core/models/withdraw-fund\";\r\nimport { WithdrawService } from \"src/app/withdraw/services/withdraw.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-recipient-address-confirmation\",\r\n templateUrl: \"./recipient-address-confirmation.component.html\",\r\n styleUrls: [\"./recipient-address-confirmation.component.scss\"],\r\n})\r\nexport class RecipientAddressConfirmationComponent implements OnInit {\r\n ConfirmationToken: string;\r\n currency: string;\r\n\r\n /** Whether to show loading indicator or not */\r\n showLoadingIndicator = true;\r\n\r\n /** Erorr message if any */\r\n errorMessage: boolean;\r\n\r\n isVerified = \"Invalid Request\";\r\n fiatCurr: Array = [\"EUR\", \"GBP\", \"USD\"];\r\n isFiat: boolean;\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private withdrawService: WithdrawService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.getTokenFromURL()\r\n }\r\n\r\n /**\r\n * Get Email and token from URL\r\n */\r\n getTokenFromURL(): void {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.ConfirmationToken = params[\"token\"];\r\n this.onWithdrawAddressConfirmation();\r\n });\r\n }\r\n\r\n /**\r\n * On link check\r\n */\r\n onWithdrawAddressConfirmation(): void {\r\n let withdraw = new WithdrawConfirmation(this.ConfirmationToken);\r\n\r\n this.withdrawService.withdrawAddressConfirmation(withdraw).subscribe(\r\n () => {\r\n this.showLoadingIndicator = false;\r\n this.isVerified = \"Verification Successful\";\r\n },\r\n (err) => {\r\n this.errorMessage = true;\r\n this.isVerified = \"Verification Failed\";\r\n this.showLoadingIndicator = false;\r\n }\r\n );\r\n }\r\n\r\n onContinue() : void {\r\n this.router.navigateByUrl(\"/activity/list\");\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n

    Status

    \r\n \r\n \r\n \r\n
    \r\n

    {{isVerified}}

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    ","import { Component, OnInit } from \"@angular/core\";\r\nimport { AccountUpgradeService } from \"src/app/account-upgrade/services/account-upgrade.service\";\r\nimport { SUBSCRIPTION_BUSINESS_PLAN, SUBSCRIPTION_PERSONAL_PLAN, USER_EMAIL_PATH, USER_NAME_ID, USER_TYPE } from \"src/app/app.constants\";\r\nimport { UserType } from \"src/app/core/enums/userType\";\r\nimport { UserSubscriptionPlan } from \"src/app/core/models/account-upgrade/subscription-plan-response\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-recipient-home\",\r\n templateUrl: \"./recipient-home.component.html\",\r\n styleUrls: [\"./recipient-home.component.scss\"],\r\n})\r\nexport class RecipientHomeComponent implements OnInit {\r\n isPremiumPlan = true;\r\n currentUserPlanDetail: UserSubscriptionPlan;\r\n constructor(private modalService: ModalService, private upgradeService: AccountUpgradeService) {}\r\n\r\n ngOnInit(): void {\r\n this.getSubscriptionPlanData();\r\n }\r\n\r\n getSubscriptionPlanData() {\r\n this.upgradeService.getUserActionSubscriptionPlan().subscribe((data: UserSubscriptionPlan) => {\r\n if (data) {\r\n this.currentUserPlanDetail = data;\r\n this.getPremiumStatus();\r\n }\r\n });\r\n }\r\n \r\n\r\n getPremiumStatus() {\r\n if (+sessionStorage.getItem(USER_TYPE) === UserType.Personal) {\r\n if (SUBSCRIPTION_PERSONAL_PLAN.BASIC=== this.currentUserPlanDetail?.planName) {\r\n this.isPremiumPlan = false;\r\n }\r\n } else {\r\n if (SUBSCRIPTION_BUSINESS_PLAN.BASIC === this.currentUserPlanDetail?.planName) {\r\n this.isPremiumPlan = false;\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Open add recipient modal\r\n */\r\n addCryptoAddress(): void {\r\n const name = sessionStorage.getItem(USER_NAME_ID);\r\n const email = sessionStorage.getItem(USER_EMAIL_PATH);\r\n this.modalService.openRecipientAddModal(name, email, null,\"Other Bank Account\", 'cryptoAddress');\r\n }\r\n\r\n addFiatBankRecipient(): void {\r\n const name = sessionStorage.getItem(USER_NAME_ID);\r\n const email = sessionStorage.getItem(USER_EMAIL_PATH);\r\n this.modalService.openRecipientAddModal(name, email, null,\"Self Bank Account\", 'fiatAddress');\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    ","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { RecipientService } from \"../services/recipient.service\";\r\nimport { IRecipient } from \"src/app/core/models/fIat/recipients\";\r\nimport { SubSink } from \"subsink\";\r\n\r\n@Component({\r\n selector: \"cashaa-recipient-list\",\r\n templateUrl: \"./recipient-list.component.html\",\r\n styleUrls: [\"./recipient-list.component.scss\"],\r\n})\r\nexport class RecipientListComponent implements OnInit, OnDestroy {\r\n /** recipient list */\r\n recipientList: IRecipient[] = [];\r\n\r\n /** bank accounts of user */\r\n bankAccounts: IRecipient[] = [];\r\n timerFlag = {};\r\n timerStart = {};\r\n timerTime = {};\r\n disableBtn = {};\r\n verificationClickCount = {};\r\n loading: boolean = false;\r\n subsink = new SubSink();\r\n cryptoAccount: IRecipient[] = [];\r\n isRefreshOptionDisable = false;\r\n constructor(\r\n private recipientService: RecipientService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.getRecipientList();\r\n this.UpdateRecipentView()\r\n\r\n this.subsink.add(this.recipientService.getDeleteRecipientFlagEmitter().subscribe(flag=> {\r\n if (flag) {\r\n this.getRecipientList();\r\n }\r\n }))\r\n }\r\n\r\n UpdateRecipentView() {\r\n this.subsink.add(this.recipientService.getaddRecipientFlagEmitter().subscribe((res) => {\r\n this.getRecipientList();\r\n }));\r\n }\r\n\r\n /**\r\n * Get Recipient list\r\n */\r\n getRecipientList(resetData = false): void {\r\n let reqData = resetData;\r\n this.loading = false;\r\n this.recipientService.getRecipientList(reqData).subscribe((list) => {\r\n this.recipientList = list.filter((recipient: IRecipient) => {\r\n return recipient.typeName !== \"Self Bank Account\" && recipient.currencyType !== 1;\r\n });\r\n this.bankAccounts = list.filter((recipient: IRecipient) => {\r\n return recipient.typeName === \"Self Bank Account\";\r\n });\r\n this.cryptoAccount = list.filter((recipient: IRecipient) => {\r\n return recipient.currencyType === 1;\r\n });\r\n\r\n this.loading = true;\r\n });\r\n }\r\n\r\n refreshTransaction() {\r\n this.isRefreshOptionDisable = true;\r\n this.getRecipientList(true);\r\n setTimeout(() => { \r\n this.isRefreshOptionDisable = false;\r\n }, 30000);\r\n }\r\n\r\n\r\n \r\n ngOnDestroy() {\r\n this.subsink.unsubscribe();\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
     Refresh
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n Crypto addresses ({{ cryptoAccount?.length }})\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { RecipientAddComponent } from \"./recipient-add/recipient-add.component\";\r\nimport { RecipientHomeComponent } from \"./recipient-home/recipient-home.component\";\r\nimport { RecipientListComponent } from \"./recipient-list/recipient-list.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nimport { RecipientAddressConfirmationComponent } from \"./recipient-address-confirmation/recipient-address-confirmation.component\";\r\nconst routes: Routes = [\r\n {\r\n path: \"recipient\",\r\n component: RecipientHomeComponent,\r\n children: [\r\n {\r\n path: \"list\",\r\n component: RecipientListComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"add\",\r\n component: RecipientAddComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"account/activityconfirmation\",\r\n component: RecipientAddressConfirmationComponent,\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class RecipientRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { RecipientRoutingModule } from \"./recipient-routing.module\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { RecipientAddComponent } from \"./recipient-add/recipient-add.component\";\r\nimport { RecipientHomeComponent } from \"./recipient-home/recipient-home.component\";\r\nimport { RecipientListComponent } from \"./recipient-list/recipient-list.component\";\r\nimport { RecipientAddBankaccountComponent } from \"./recipient-add-bankaccount/recipient-add-bankaccount.component\";\r\nimport { RecipientAddressConfirmationComponent } from \"./recipient-address-confirmation/recipient-address-confirmation.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { RecipientComponent } from './recipient/recipient.component';\r\nimport { UpdateMemoComponent } from \"./update-memo/update-memo.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n RecipientAddComponent,\r\n RecipientHomeComponent,\r\n RecipientListComponent,\r\n RecipientAddBankaccountComponent,\r\n RecipientAddressConfirmationComponent,\r\n RecipientComponent,\r\n UpdateMemoComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RecipientRoutingModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n ToastrModule.forRoot(),\r\n FormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ],\r\n})\r\nexport class RecipientModule {}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { stat } from 'fs';\r\nimport { MDBModalRef } from 'ng-uikit-pro-standard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { RECIPIENT_DELETED_SUCCESS, UNABLE_TO_PERFORM_ERROR, USER_EMAIL_PATH, USER_NAME_ID, VERIFICATION_MESG } from 'src/app/app.constants';\r\nimport { NetworkType } from 'src/app/core/enums/network-type-enum';\r\nimport { IRecipient, RecipientDelete } from 'src/app/core/models/fIat/recipients';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { FiatService } from 'src/app/fiat/services/fiat.service';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\nimport { RecipientService } from '../services/recipient.service';\r\n\r\n@Component({\r\n selector: 'cashaa-recipient',\r\n templateUrl: './recipient.component.html',\r\n styleUrls: ['./recipient.component.scss']\r\n})\r\nexport class RecipientComponent implements OnInit, OnDestroy {\r\n\r\n @Input() data: IRecipient;\r\n timerFlag = {};\r\n timerStart = {};\r\n timerTime = {};\r\n disableBtn = {};\r\n verificationClickCount = {};\r\n loader: boolean = false;\r\n sub: Subscription;\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\"];\r\n constructor(private fiatService: FiatService,\r\n private toastrService: ToastrService,\r\n private recipientService: RecipientService,\r\n private modalService: ModalService,\r\n private commonSavedData: CommonSavedData) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n getNameInitials(): string {\r\n if (this.data) {\r\n let splitName = this.data.name.trim().split(\" \");\r\n switch (splitName.length) {\r\n case 1:\r\n return (splitName[0][0].trim() + splitName[0][1]).toUpperCase().trim();\r\n case 2:\r\n return (splitName[0][0].trim() + splitName[1][0]).toUpperCase().trim();\r\n case 3:\r\n return (splitName[0][0].trim() + splitName[2][0]).toUpperCase().trim();\r\n case 4:\r\n case 5:\r\n case 6:\r\n case 7:\r\n case 8:\r\n return (splitName[0][0].trim() + splitName[1][0]).toUpperCase().trim();\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n getVerificaionLink(id, curr, i) {\r\n this.fiatService.verifyRecipient(id, curr).subscribe(\r\n (flag) => {\r\n if (flag.message) {\r\n this.timerTime[i] = 60;\r\n this.timerFlag[i] = true;\r\n this.timerStart[i] = true;\r\n if (isNaN(this.verificationClickCount[i])) {\r\n this.verificationClickCount[i] = 1;\r\n } else {\r\n this.verificationClickCount[i]++;\r\n }\r\n this.toastrService.success(VERIFICATION_MESG);\r\n }\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n timerExpire(i): void {\r\n if (this.verificationClickCount[i] < 3) {\r\n this.timerFlag[i] = false;\r\n this.timerStart[i] = false;\r\n } else {\r\n this.disableBtn[i] = true;\r\n this.timerStart[i] = false;\r\n }\r\n }\r\n\r\n deleteRecipient(): void {\r\n this.modalService.openConfirmationModal(\"Do you want to delete the recipient?\");\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n if (status) {\r\n this.loader = true;\r\n let recipientDelete = new RecipientDelete(this.data.id);\r\n this.recipientService.deleteRecipient(recipientDelete).subscribe((res) => {\r\n this.loader = false;\r\n if (res.message === \"success\") {\r\n this.recipientService.emitDeleteRecipientFlag(true);\r\n this.toastrService.success(RECIPIENT_DELETED_SUCCESS);\r\n } else {\r\n this.toastrService.error(\"Please try again!\");\r\n }\r\n }, (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n this.loader = false;\r\n });\r\n }\r\n this.sub.unsubscribe();\r\n });\r\n }\r\n\r\n getCurrency(): string {\r\n if (this.data.currency === \"AUSD\") return \"USD\";\r\n if (this.data.currency === \"DOG\") return \"Dogecoin (DOGE)\";\r\n if (this.data.currency === \"BCH\") return \"Bitcoin Cash (BCH)\";\r\n if (this.data.currency === \"XRP\") return \"Ripple (XRP)\";\r\n if (this.data.currency === \"LTC\") return \"Litecoin (LTC)\";\r\n if (this.data.currency === \"BTC\") return \"Bitcoin (BTC)\";\r\n else return this.data.currency;\r\n }\r\n\r\n emitRecipient(): void {\r\n return this.recipientService.emitSendMoneyRecipient(this.data);\r\n }\r\n\r\n getLabel(): string {\r\n if (this.data.network == 0 || this.data.network == null) {\r\n if (this.data.currency === 'CAS' || this.data.currency === 'BNB') {\r\n return \"BNB Beacon Chain (BEP2)\"\r\n } else {\r\n return this.getCurrency();\r\n }\r\n } else {\r\n return NetworkType[this.data.network];\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.sub) {\r\n // this.sub.unsubscribe();\r\n }\r\n }\r\n\r\n updateMemo(data, networkTypeLable) {\r\n // const name = sessionStorage.getItem(USER_NAME_ID);\r\n // const email = sessionStorage.getItem(USER_EMAIL_PATH);\r\n this.modalService.openUpdateMemoModal(data.currency, data.currencyId, data.accountNumber, data.id, data.network, networkTypeLable);\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{ getNameInitials() }}\r\n \r\n
    \r\n
    \r\n {{data.name}}\r\n {{data.name}} ({{data.networkName}})\r\n
    \r\n {{data.currency |uppercase}} account ending in\r\n {{\r\n data?.accountNumber?.substr(\r\n data?.accountNumber?.length - 4\r\n )\r\n }}\r\n  (Verified)\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Summary
    \r\n {{data.currency |uppercase}} account ending in\r\n {{\r\n data?.accountNumber?.substr(\r\n data?.accountNumber?.length - 4\r\n )\r\n }}\r\n
    \r\n\r\n
    \r\n Account holder name
    \r\n {{data.name}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Account number
    \r\n {{data.accountNumber}}\r\n
    \r\n
    \r\n Network
    \r\n {{data.networkName}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Account number
    \r\n {{data.accountNumber}}\r\n
    \r\n
    \r\n Network
    \r\n {{data.networkName}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Account holder name
    \r\n {{data.name}}\r\n
    \r\n \r\n
    \r\n Memo
    \r\n {{data.memo}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { BeneficiaryTypes } from \"./../../core/models/fIat/fiat-beneficiaryTypes\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { Observable, BehaviorSubject, Subject } from \"rxjs\";\r\nimport {\r\n AddRecipient,\r\n IAddRecipient,\r\n} from \"src/app/core/models/recipient/recipient-add\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { IRecipient, IRecipientDelete } from \"src/app/core/models/fIat/recipients\";\r\nimport { IBankAccount } from \"src/app/core/models/fIat/bankaccount\";\r\nimport {\r\n AddRecipientUsd,\r\n IGBPEURO,\r\n RecipientAddGbp,\r\n} from \"src/app/core/models/recipient/recipient-add-usd\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class RecipientService {\r\n /** Api URL */\r\n private apiUrl = environment.api;\r\n\r\n /** Receipient flag emitter */\r\n private addReceipientFlagEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n private deleteRecipientFlg = new Subject();\r\n\r\n private sendMoneyRecipient = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n /**\r\n * Get Recipient list\r\n */\r\n getRecipientList(resetData): Observable {\r\n return this.http.get(`${this.apiUrl}/recipients/getbyid?resetData=${resetData}`);\r\n }\r\n /**\r\n * Get Beneficiary Type list\r\n */\r\n getBeneficiaryTypes(): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/recipients/getbeneficiarytypes`\r\n );\r\n }\r\n\r\n /**\r\n * Get Recipient list\r\n */\r\n getBankaccountList(): Observable {\r\n return this.http.get(`${this.apiUrl}/fiats/getaccountlist`);\r\n }\r\n\r\n /**\r\n * Add fiate recipient request\r\n * /api/v1/recipients\r\n */\r\n addRecipientRequest(\r\n addrecipientdata: IGBPEURO\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/recipients`,\r\n addrecipientdata\r\n );\r\n }\r\n /**\r\n * Add fiate recipient request\r\n * /api/v1/recipients\r\n */\r\n addRecipientRequestUsd(\r\n addrecipientusddata: AddRecipientUsd\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/recipients/usd`,\r\n addrecipientusddata\r\n );\r\n }\r\n\r\n /**\r\n * Emit add recipient flag\r\n */\r\n emitaddRecipientFlag(flag: boolean): void {\r\n this.addReceipientFlagEmitter.next(flag);\r\n }\r\n\r\n /*** Get add recipient flag emitter***/\r\n getaddRecipientFlagEmitter(): Observable {\r\n return this.addReceipientFlagEmitter.asObservable();\r\n }\r\n\r\n deleteRecipient(recipient: IRecipientDelete) : Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/recipients/deleterecipient`,\r\n recipient\r\n );\r\n }\r\n\r\n emitDeleteRecipientFlag(flag: boolean): void {\r\n this.deleteRecipientFlg.next(flag);\r\n }\r\n\r\n getDeleteRecipientFlagEmitter(): Observable {\r\n return this.deleteRecipientFlg.asObservable();\r\n }\r\n\r\n emitSendMoneyRecipient(recipient: IRecipient) : void {\r\n this.sendMoneyRecipient.next(recipient);\r\n }\r\n\r\n getSendMoneyRecipient() : Observable {\r\n return this.sendMoneyRecipient.asObservable();\r\n }\r\n\r\n updateMemo(payload): Observable {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/WithdrawAddress/updatememo`,\r\n payload\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormBuilder\r\n} from \"@angular/forms\";\r\nimport { RecipientService } from \"../services/recipient.service\";\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\nimport {\r\n UNABLE_TO_PERFORM_ERROR,\r\n MEMO_UPDATED,\r\n} from \"src/app/app.constants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n@Component({\r\n selector: \"cashaa-update-memo\",\r\n templateUrl: \"./update-memo.component.html\",\r\n styleUrls: [\"./update-memo.component.scss\"],\r\n})\r\nexport class UpdateMemoComponent implements OnInit {\r\n /** Recipient Form Group */\r\n updateMemoForm: FormGroup;\r\n /** is some network call in progress */\r\n isInProgress = false;\r\n currency;\r\n currencyId;\r\n accountNumber;\r\n recipientId; \r\n networkTypeValue;\r\n networkTypeLabel;\r\n errorMessage = false;\r\n isLoading = true;\r\n networkTypeOptions = [];\r\n constructor(\r\n private fb: FormBuilder,\r\n public modalRef: MDBModalRef,\r\n private recipientService: RecipientService,\r\n private toastrService: ToastrService,\r\n ) { }\r\n initialValue;\r\n ngOnInit(): void {\r\n this.initialValue = this.currencyId;\r\n this.createForm();\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.updateMemoForm = this.fb.group({\r\n currency: [\"\"],\r\n cryptoAddress: [\"\"],\r\n networkType: [\"\"],\r\n cryptoMemo: [\"\"]\r\n\r\n });\r\n this.updateMemoForm.controls.currency.disable();\r\n this.updateMemoForm.controls.cryptoAddress.disable();\r\n this.updateMemoForm.controls[\"cryptoAddress\"].setValue(this.accountNumber);\r\n this.networkTypeOptions = [{ value: this.networkTypeValue.toString(), label: this.networkTypeLabel }];\r\n this.updateMemoForm.controls[\"networkType\"].setValue(this.networkTypeValue.toString());\r\n }\r\n\r\n /**\r\n * On submission of form\r\n */\r\n onFormSubmit(): void {\r\n const data = {\r\n \"id\": this.recipientId ,\r\n \"memo\": this.updateMemoForm.get('cryptoMemo').value\r\n }\r\n this.recipientService.updateMemo(data).subscribe((res) => {\r\n this.isInProgress = false;\r\n this.modalRef.hide();\r\n this.updateMemoForm.reset();\r\n this.toastrService.success(MEMO_UPDATED);\r\n window.location.reload();\r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n } \r\n \r\n}","
    \r\n \r\n

    \r\n Update Memo\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    ","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuardService } from '../core/services/auth-guard/auth-guard.service';\r\nimport { ReferralComponent } from './referral/referral.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"referral\",\r\n component: ReferralComponent,\r\n canActivate: [AuthGuardService]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ReferralRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ReferralRoutingModule } from './referral-routing.module';\r\nimport { ReferralComponent } from './referral/referral.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { MDBBootstrapModulesPro } from 'ng-uikit-pro-standard';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n@NgModule({\r\n declarations: [ReferralComponent],\r\n imports: [\r\n CommonModule,\r\n ReferralRoutingModule,\r\n ReactiveFormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n SharedModule,\r\n FormsModule\r\n ]\r\n})\r\nexport class ReferralModule { }\r\n","import { Component, ElementRef, EventEmitter, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BASE_PLAN, DELETE_REFERRAL_SUCCESS, DIAMOND_PLAN, GOLD_PLAN, RESEND_REFERRAL_SUCCESS, SILVER_PLAN, USER_INTEREST_MODE, USER_REFERRAL_CODE, USER_TYPE } from 'src/app/app.constants';\r\nimport { DeleteReferral, IReferralDetail, IReferralDetailResponse, IReferralInfo, ISendReferralInvitation } from 'src/app/core/models/referral/referral';\r\nimport { IUserPlan, IUserPlanDetail } from 'src/app/core/models/user-plan/user-detail';\r\nimport { UserService } from 'src/app/core/services/user/user.service';\r\nimport { ValidatorUtility } from 'src/app/core/utility/validator.utility';\r\nimport { DepositInterestService } from 'src/app/deposit-interest/service/deposit-interest.service';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\nimport { StatementService } from 'src/app/statement/services/statement.service';\r\nimport { ReferralService } from '../services/referral.service';\r\nimport * as XLSX from \"xlsx\";\r\nimport { IDepositInterestPlan } from 'src/app/core/models/deposit-interest/deposit-interest';\r\n\r\n@Component({\r\n selector: 'cashaa-referral',\r\n templateUrl: './referral.component.html',\r\n styleUrls: ['./referral.component.scss']\r\n})\r\nexport class ReferralComponent implements OnInit {\r\n referralData: IReferralDetail[];\r\n referralInfo: IReferralInfo;\r\n loader: boolean = false;\r\n referralCode = sessionStorage.getItem(USER_REFERRAL_CODE);\r\n userCurrentPlan: IUserPlanDetail;\r\n loading: boolean = false;\r\n isBase: boolean = false;\r\n isSilver: boolean = false;\r\n isGold: boolean = false;\r\n isDiamond: boolean = false;\r\n basePlans: IUserPlan[] = [];\r\n silverPlans: IUserPlan[] = [];\r\n goldPlans: IUserPlan[] = [];\r\n daimondPlans: IUserPlan[] = [];\r\n allPlans = [];\r\n // interestList: IUserInterestList;\r\n borrowBenefit;\r\n highLTVRate = [];\r\n exchangeCashback = [];\r\n earnBenefits = [];\r\n additionalBenefits = [];\r\n basePlanDesc = [];\r\n silverPlanDesc = [];\r\n goldPlanDesc = [];\r\n diamondPlanDesc = [];\r\n maxCryptoRate;\r\n maxFiatRate;\r\n maxStableCoinsRate;\r\n maxCashaaRate;\r\n userType: string = sessionStorage.getItem(USER_TYPE);\r\n allplanCasBonus = [{ 'base': 0.5 }, { 'silver': 1 }, { 'gold': 2 }, { 'diamond': 3 }];\r\n symbol;\r\n basePlanNameId = '7c57b4ea-3cfc-4520-b2bd-db442be4d763';\r\n silverPlanNameId = '48654d6c-bd60-4054-85cc-a484ceeeef92';\r\n goldPlanNameId = 'c138f175-28d7-4ab4-99b6-8bb8b9f8251a';\r\n diamondPlanNameId = '016688f1-9caa-40ed-b77c-2095d5c85baa';\r\n cryptoCurrencyWithMaxRate = [];\r\n fiatCurrencyWithMaxRate = [];\r\n stableCurrencyWithMaxRate = [];\r\n referralCalculatorForm: FormGroup;\r\n userInterestMode: string = sessionStorage.getItem(USER_INTEREST_MODE);\r\n errorMessage: string;\r\n defaultSelectedInkind = true;\r\n isInProgress = false;\r\n interestPlanList: IDepositInterestPlan[] = [];\r\n rate: string;\r\n interestInUSD;\r\n referalInterestInUSD;\r\n fixedDepositData = [];\r\n environmentOrigin: string;\r\n activityType: number;\r\n fromDate: string;\r\n toDate: string;\r\n searchText: string;\r\n pageSize: number = 10;\r\n pageIndex: number = 1;\r\n totalPageSize: number;\r\n hasPreviousPage: boolean;\r\n hasNextPage: boolean;\r\n length: number;\r\n filterOptions = [\r\n {\r\n label: \"Joined\",\r\n value: \"1\",\r\n }, {\r\n label: \"Pending\",\r\n value: \"0\",\r\n }];\r\n planData: any = [{\r\n percent: '',\r\n }, {\r\n percent: ''\r\n }, {\r\n percent: ''\r\n }, {\r\n percent: ''\r\n }];\r\n viewDetails = true;\r\n radioOptionToShow = [];\r\n showMonthlyMessage = false;\r\n duration;\r\n interestType;\r\n constructor(private referralService: ReferralService, private toasterService: ToastrService,\r\n private userService: UserService, private fb: FormBuilder, private depositInterest: DepositInterestService,\r\n private router: Router, private commonDataService: CommonSavedData, private statementService: StatementService) { }\r\n\r\n ngOnInit(): void {\r\n // if(this.commonDataService.isPersonalUS()) {\r\n // this.router.navigateByUrl('activity');\r\n // }\r\n this.environmentOrigin = this.commonDataService.getEnvironmentOrigin();\r\n this.referralCalculatorForm = this.fb.group({\r\n referralInvest: [\r\n \"\",\r\n [ValidatorUtility.Required]\r\n ],\r\n currency: [\"\", ValidatorUtility.Required],\r\n planName: [\"\", ValidatorUtility.Required],\r\n rateType: [\"2\", ValidatorUtility.Required]\r\n // interestType: [\"\", ValidatorUtility.Required]\r\n });\r\n this.loader = true;\r\n this.getReferralInterest();\r\n this.loadReferralList();\r\n this.getUserPlanDetails();\r\n this.getAllPlanInfo();\r\n this.referralService.getReferralInfo().subscribe((info: IReferralInfo) => {\r\n this.loader = false;\r\n this.referralInfo = info;\r\n });\r\n this.listenToInterestPlanChange();\r\n }\r\n\r\n isJoined(item: IReferralDetail): boolean {\r\n return item.status;\r\n }\r\n\r\n isPending(item: IReferralDetail): boolean {\r\n return !item.status;\r\n }\r\n\r\n onDeleteOrResend(item: IReferralDetail): void {\r\n item.isDeleteOrResend = true;\r\n if (item.status) {\r\n this.referralService.deleteReferral(new DeleteReferral(item.id)).subscribe((data) => {\r\n if (data.statusCode === 200) {\r\n item.isDeleteOrResend = false;\r\n this.toasterService.success(DELETE_REFERRAL_SUCCESS);\r\n this.loadReferralList();\r\n }\r\n })\r\n } else {\r\n let referralInvitation: ISendReferralInvitation = { toemail: [{ recipientemail: item.email }] }\r\n this.referralService.sendReferralInvitation(referralInvitation).subscribe((data) => {\r\n if (data.statusCode === 200) {\r\n item.isDeleteOrResend = false;\r\n this.toasterService.success(RESEND_REFERRAL_SUCCESS);\r\n }\r\n })\r\n }\r\n }\r\n\r\n loadReferralList(): void {\r\n this.loader = true;\r\n this.referralService.getReferralList(1, 10).subscribe((data: IReferralDetailResponse) => {\r\n this.loader = false;\r\n this.referralData = data.data;\r\n this.pageSize = data.pageSize;\r\n this.pageIndex = data.pageIndex;\r\n this.length = data.totalCount;\r\n this.totalPageSize = data.totalPageCount;\r\n this.hasPreviousPage = data.hasPreviousPage;\r\n this.hasNextPage = data.hasNextPage;\r\n });\r\n }\r\n\r\n copyReferralCode(data: string): void {\r\n // this.copied = true;\r\n navigator.clipboard.writeText(data);\r\n this.toasterService.toastrConfig.preventDuplicates = true;\r\n this.toasterService.success(\"Text copied to clipboard\");\r\n // setTimeout(() => (this.copied = false), 300);\r\n }\r\n\r\n getUserPlanDetails() {\r\n this.userService.getUserPlanDetail().subscribe((data: IUserPlanDetail) => {\r\n this.userCurrentPlan = data;\r\n if (this.userCurrentPlan.name === BASE_PLAN) {\r\n this.isBase = true;\r\n } else if (this.userCurrentPlan.name === SILVER_PLAN) {\r\n this.isSilver = true;\r\n } else if (this.userCurrentPlan.name === GOLD_PLAN) {\r\n this.isGold = true;\r\n } else {\r\n this.isDiamond = true;\r\n }\r\n // this.loading = false;\r\n });\r\n }\r\n\r\n goToPlans() {\r\n this.router.navigateByUrl(\"/plans\")\r\n }\r\n getAllPlanInfo() {\r\n this.userService.getAllPlansDetails().subscribe((data: IUserPlan[]) => {\r\n this.symbol = data[0].symbol;\r\n this.allPlans = data;\r\n this.basePlans = data.filter(plans => plans.loyaltyPlanName === BASE_PLAN);\r\n this.silverPlans = data.filter(plans => plans.loyaltyPlanName === SILVER_PLAN);\r\n this.goldPlans = data.filter(plans => plans.loyaltyPlanName === GOLD_PLAN);\r\n this.daimondPlans = data.filter(plans => plans.loyaltyPlanName === DIAMOND_PLAN);\r\n const cryptodiamondPlan = this.allPlans.filter(ele => ele.currencyNature === 'Crypto' && ele.loyaltyPlanNameId === this.diamondPlanNameId);\r\n const cryptoMaxRate = cryptodiamondPlan.map(ele => ele.kindRate);\r\n let cryptoMax = Math.max(...cryptoMaxRate);\r\n let cryptoCurrWdMax;\r\n this.allPlans.filter(ele => {\r\n if (ele.currencyNature === 'Crypto' && ele.kindRate === cryptoMax) {\r\n cryptoCurrWdMax = ele;\r\n }\r\n });\r\n let allPlanofCurr = []\r\n this.allPlans.filter(ele => {\r\n if (cryptoCurrWdMax.currencyId === ele.currencyId) {\r\n allPlanofCurr.push(ele);\r\n }\r\n })\r\n allPlanofCurr.map(ele => {\r\n if (ele.loyaltyPlanNameId === this.basePlanNameId) {\r\n this.cryptoCurrencyWithMaxRate[0] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.silverPlanNameId) {\r\n this.cryptoCurrencyWithMaxRate[1] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.goldPlanNameId) {\r\n this.cryptoCurrencyWithMaxRate[2] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.diamondPlanNameId) {\r\n this.cryptoCurrencyWithMaxRate[3] = ele;\r\n }\r\n })\r\n const fiatDiamondPlan = this.allPlans.filter(ele => ele.currencyNature === 'Fiat' && ele.loyaltyPlanNameId === this.diamondPlanNameId);\r\n if(fiatDiamondPlan.length > 0) {\r\n const fiatMaxRate = fiatDiamondPlan.map(ele => ele.kindRate);\r\n let fiatMax = Math.max(...fiatMaxRate);\r\n let fiatCurrWdMax;\r\n this.allPlans.filter(ele => {\r\n if (ele.currencyNature === 'Fiat' && ele.kindRate === fiatMax) {\r\n fiatCurrWdMax = ele;\r\n }\r\n });\r\n let allFiatPlanofCurr = []\r\n this.allPlans.filter(ele => {\r\n if (fiatCurrWdMax.currencyId === ele.currencyId) {\r\n allFiatPlanofCurr.push(ele);\r\n }\r\n })\r\n allFiatPlanofCurr.map(ele => {\r\n if (ele.loyaltyPlanNameId === this.basePlanNameId) {\r\n this.fiatCurrencyWithMaxRate[0] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.silverPlanNameId) {\r\n this.fiatCurrencyWithMaxRate[1] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.goldPlanNameId) {\r\n this.fiatCurrencyWithMaxRate[2] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.diamondPlanNameId) {\r\n this.fiatCurrencyWithMaxRate[3] = ele;\r\n }\r\n })\r\n }\r\n \r\n \r\n \r\n \r\n \r\n\r\n const stableDiamondPlan = this.allPlans.filter(ele => ele.currencyNature === 'StableCoins' && ele.loyaltyPlanNameId === this.diamondPlanNameId);\r\n if(stableDiamondPlan.length > 0) {\r\n const stableMaxRate = stableDiamondPlan.map(ele => ele.kindRate);\r\n let stableMax = Math.max(...stableMaxRate);\r\n let stableCurrWdMax;\r\n this.allPlans.filter(ele => {\r\n if (ele.currencyNature === 'StableCoins' && ele.kindRate === stableMax) {\r\n stableCurrWdMax = ele;\r\n }\r\n });\r\n let allStablePlanofCurr = []\r\n this.allPlans.filter(ele => {\r\n if (stableCurrWdMax.currencyId === ele.currencyId) {\r\n allStablePlanofCurr.push(ele);\r\n }\r\n })\r\n allStablePlanofCurr.map(ele => {\r\n if (ele.loyaltyPlanNameId === this.basePlanNameId) {\r\n this.stableCurrencyWithMaxRate[0] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.silverPlanNameId) {\r\n this.stableCurrencyWithMaxRate[1] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.goldPlanNameId) {\r\n this.stableCurrencyWithMaxRate[2] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.diamondPlanNameId) {\r\n this.stableCurrencyWithMaxRate[3] = ele;\r\n }\r\n })\r\n }\r\n \r\n });\r\n }\r\n onCurrencyTypeChange(event) {\r\n this.symbol = event.symbol;\r\n this.interestPlanList = [];\r\n this.radioOptionToShow = [];\r\n this.getFDByCurrencyId(event.value);\r\n }\r\n\r\n listenToInterestPlanChange(): void {\r\n this.referralCalculatorForm.controls.rateType.valueChanges.subscribe((value) => {\r\n this.loading = true;\r\n this.radioOptionToShow = [];\r\n this.interestPlanList = [];\r\n this.interestPlanList = this.fixedDepositData.filter(item => item.rateType === Number(this.referralCalculatorForm.get('rateType').value));;\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 1000)\r\n });\r\n }\r\n\r\n setMode() {\r\n this.defaultSelectedInkind = !this.defaultSelectedInkind;\r\n const rateType = this.referralCalculatorForm.get('rateType').value;\r\n if (rateType === '1') {\r\n this.referralCalculatorForm.get('rateType').setValue('2');\r\n } else {\r\n this.referralCalculatorForm.get('rateType').setValue('1');\r\n }\r\n }\r\n\r\n getFDByCurrencyId(currencyId) {\r\n this.fixedDepositData = [];\r\n this.depositInterest.getByDepositFDCurrency(currencyId).subscribe((res: any) => {\r\n this.fixedDepositData = res;\r\n if(this.symbol === 'CAS') {\r\n this.interestPlanList = this.fixedDepositData.filter(item => item.rateType === 1);\r\n } else {\r\n this.interestPlanList = this.fixedDepositData.filter(item => item.rateType === Number(this.referralCalculatorForm.get('rateType').value));;\r\n }\r\n })\r\n }\r\n\r\n selectedPlanTerm(selectedItem) {\r\n // let durationAndRate = this.rateAndDuration.filter(item => item.duration === duration);\r\n this.radioOptionToShow = [];\r\n this.rate = selectedItem.rate;\r\n this.duration = selectedItem.duration;\r\n this.showMonthlyMessage = false;\r\n this.interestType = selectedItem.interestOptType;\r\n this.referralCalculatorForm.patchValue({ planName: selectedItem.id });\r\n }\r\n\r\n exportStatement(): void {\r\n this.statementService.getStatementList(1, this.length, this.activityType, this.fromDate, this.toDate, this.searchText, this.symbol)\r\n .subscribe((data) => {\r\n /* table id is passed over here */\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(data.data);\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, \"Statement Detail\");\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, \"Statement.xlsx\");\r\n });\r\n }\r\n\r\n filterData(event) {\r\n this.referralService.getReferralList(1, 10, event.value).subscribe((data: IReferralDetailResponse) => {\r\n this.loader = false;\r\n this.referralData = data.data;\r\n this.pageSize = data.pageSize;\r\n this.pageIndex = data.pageIndex;\r\n this.length = data.totalCount;\r\n this.totalPageSize = data.totalPageCount;\r\n this.hasPreviousPage = data.hasPreviousPage;\r\n this.hasNextPage = data.hasNextPage;\r\n });\r\n }\r\n getReferralInterest() {\r\n this.loader = true;\r\n this.referralService.getReferralInterest().subscribe((data: any) => {\r\n this.loader = false;\r\n this.planData = data;\r\n }, err => {\r\n this.toasterService.error(err.error.message);\r\n this.loader = false;\r\n });\r\n }\r\n\r\n calculateFixedDepositEarning() {\r\n if (this.referralCalculatorForm.valid && this.rate !== undefined) {\r\n this.referralService.getFixedDepositCalculationInterest(this.referralCalculatorForm.value, this.rate, this.symbol, this.interestType, this.duration).subscribe((res: any) => {\r\n this.interestInUSD = res.interestInUSD;\r\n this.referalInterestInUSD = res.referalInterestInUSD\r\n })\r\n }\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    Refer & Earn
    \r\n

    \r\n Invite your friends to discover a better way to save with Cashaa!\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Learn how much you can earn!
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Earn in Kind \r\n \r\n Earn in CAS\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Your Referred User’s Earnings
    \r\n

    ${{referalInterestInUSD}}

    \r\n
    \r\n
    \r\n
    Your Earnings
    \r\n

    ${{interestInUSD}}

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Your Referral Code
    \r\n
    \r\n
    {{referralCode}}
    \r\n
    \r\n \r\n
    \r\n
    \r\n \"\"\r\n Base\r\n
    \r\n
    \r\n
    {{planData[0].percent}}%
    \r\n
    \r\n You will receive {{planData[0].percent}}% of all your referred user’s earnings\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n Silver\r\n
    \r\n
    \r\n
    {{planData[1].percent}}%
    \r\n
    \r\n You will receive {{planData[1].percent}}% of all your referred user’s earnings\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    0\" class=\"m-auto p-2 text-center\">\r\n Add {{userCurrentPlan.amountForAllPlan[1] | number}} \r\n

    \r\n CAS to upgrade\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n Gold\r\n
    \r\n
    \r\n
    {{planData[2].percent}}%
    \r\n
    \r\n You will receive {{planData[2].percent}}% of all your referred user’s earnings\r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n
    \r\n
    0)\" class=\"m-auto p-2 text-center\">\r\n Add\r\n \r\n {{userCurrentPlan.amountForAllPlan[2] | number }}\r\n \r\n

    \r\n CAS to upgrade\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n Diamond\r\n
    \r\n
    \r\n
    {{planData[3].percent}}%
    \r\n
    \r\n You will receive {{planData[3].percent}}% of all your referred user’s earnings\r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n
    0)\" class=\"m-auto p-2 text-center\">\r\n Add\r\n \r\n {{userCurrentPlan.amountForAllPlan[3] | number}}\r\n \r\n

    \r\n CAS to upgrade\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n View Details\r\n Hide Details\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    Sr No
    \r\n
    \r\n
    Email ID
    \r\n
    \r\n
    Status
    \r\n
    \r\n
    Amount
    \r\n
    \r\n
    Date
    \r\n
    \r\n
    Actions
    \r\n
    \r\n {{i+1}}\r\n \r\n {{item.email}}\r\n \r\n\r\n \r\n {{isPending(item) ? 'Pending' : 'Joined'}}\r\n \r\n \r\n {{item.amount}} {{item.amountCurrency}}\r\n \r\n {{item.joinedDate|date}}\r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { IDeleteReferral, IReferralDetailResponse, IReferralInfo, ISendReferralInvitation } from \"src/app/core/models/referral/referral\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ReferralService {\r\n private apiUrl = environment.api;\r\n\r\n constructor(private http: HttpClient) { }\r\n getReferralList(page: number, pageSize: number, status?: string): Observable {\r\n let url = `${this.apiUrl}/userreferral/getuserreferrallist?page=${page}&pageSize=${pageSize}`\r\n if (status === '0') {\r\n url = url + `&status=false`\r\n } else if (status === '1') {\r\n url = url + `&status=true`\r\n }\r\n return this.http.get(url);\r\n }\r\n\r\n getReferralInfo(): Observable {\r\n return this.http.get(`${this.apiUrl}/userreferral/getreferraldetails`);\r\n }\r\n\r\n deleteReferral(deleteReferral: IDeleteReferral): Observable<{ message: string, statusCode: number }> {\r\n return this.http.post<{ message: string, statusCode: number }>(`${this.apiUrl}/userreferral/deletereferralrequest`, deleteReferral);\r\n }\r\n\r\n sendReferralInvitation(sendInvitation: ISendReferralInvitation): Observable<{ message: string, statusCode: number }> {\r\n return this.http.post<{ message: string, statusCode: number }>(`${this.apiUrl}/userreferral/SendReferralInvitation`, sendInvitation);\r\n }\r\n\r\n getFixedDepositCalculationInterest(formValue, rate, symbol, interestType, duration?) {\r\n return this.http.get(`${this.apiUrl}/depositinterest/fixeddepositcalculator?amount=${formValue.referralInvest || formValue.senderAmount}&rate=${rate}&duration=${formValue.duration || duration}&rateType=${formValue.rateType}&symbol=${symbol}&interestOptType=${interestType}`);\r\n }\r\n\r\n getReferralInterest(): Observable {\r\n return this.http.get(`${this.apiUrl}/userreferral/getReferralInterestPercent`);\r\n }\r\n}\r\n","import { WithdrawService } from \"./../../withdraw/services/withdraw.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { WithdrawConfirmation } from \"src/app/core/models/withdraw-fund\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\n@Component({\r\n selector: \"cashaa-withdraw-confirmation\",\r\n templateUrl: \"./withdraw-confirmation.component.html\",\r\n styleUrls: [\"./withdraw-confirmation.component.scss\"],\r\n})\r\nexport class WithdrawConfirmationComponent implements OnInit {\r\n /** token from URL */\r\n ConfirmationToken: string;\r\n\r\n /** Whether to show loading indicator or not */\r\n showLoadingIndicator = false;\r\n\r\n /** Erorr message if any */\r\n errorMessage: string;\r\n\r\n isVerified;\r\n\r\n flag: boolean;\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private withdrawService: WithdrawService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.getTokenFromURL();\r\n }\r\n\r\n /**\r\n * Get Email and token from URL\r\n */\r\n getTokenFromURL(): void {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n this.ConfirmationToken = params[\"token\"];\r\n this.onWithdrawConfirmation();\r\n });\r\n }\r\n\r\n /**\r\n * On link check\r\n */\r\n onWithdrawConfirmation(): void {\r\n this.showLoadingIndicator = true;\r\n this.errorMessage = undefined;\r\n\r\n const withdraw = new WithdrawConfirmation(this.ConfirmationToken);\r\n\r\n this.withdrawService.withdrawConfirmation(withdraw).subscribe(\r\n () => {\r\n this.showLoadingIndicator = false;\r\n this.isVerified = \"Payment Successful\";\r\n this.flag = true;\r\n },\r\n (err) => {\r\n this.showLoadingIndicator = false;\r\n this.errorMessage = \"Invalid token\";\r\n this.isVerified = \"Invalid or Expired Request\";\r\n this.flag = true;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","
    \r\n\r\n\r\n
    \r\n \r\n

    \r\n
    Withdraw Verification
    \r\n
    {{isVerified}}
    \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n\r\n
    \r\n","import { CarouselComponent } from \"ng-uikit-pro-standard\";\r\nimport {\r\n Google2faDto,\r\n Enabletwofarequest,\r\n ICreatetwofa,\r\n} from \"./../../core/models/EnableTwoFa\";\r\nimport { ChangePasswordRequest } from \"./../../core/models/chnagepassword\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs/internal/Observable\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { ChangeEmailRequest } from \"../../core/models/changeEmail\";\r\nimport { CashaaUserFeeMode } from \"src/app/core/models/cashaa-user-fee-request\";\r\nimport { IInterestMode } from \"src/app/core/models/interest-mode\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class SettingsService {\r\n private apiUrl = environment.api;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n changeEmail(\r\n data: ChangeEmailRequest\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/account/changeemail`,\r\n data\r\n );\r\n }\r\n\r\n changePassword(\r\n data: ChangePasswordRequest\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/users/changepassword`,\r\n data\r\n );\r\n }\r\n\r\n createTwoFaAuth(createkey: ICreatetwofa): Observable {\r\n return this.http.post(\r\n `${this.apiUrl}/account/createTwoFaAuth`,\r\n createkey\r\n );\r\n }\r\n subscriptionPlan(): Observable<{ statusCode: number; message: string }> {\r\n return this.http.get<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/subscriptions/premiumStatus`\r\n );\r\n }\r\n\r\n enablegoogleAuth(data: Enabletwofarequest): Observable {\r\n return this.http.post(\r\n `${this.apiUrl}/account/enableTwoFaAuth`,\r\n data\r\n );\r\n }\r\n /**\r\n * Update user transactional fee currency mode\r\n *\r\n * @param {CashaaUserFeeMode} data\r\n * @returns {Observable}\r\n *\r\n * @memberOf SettingsService\r\n */\r\n updateUserMode(\r\n data: CashaaUserFeeMode\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/feemodes/Update`,\r\n data\r\n );\r\n }\r\n\r\n disableTwofaCode(code?: string, token?: string): Observable<{ statusCode: number; message: string }> {\r\n let url = `${this.apiUrl}/users/resettwofa`;\r\n if (code && token) {\r\n url = `${url}?code=${code}&confirmationToken=${token}`;\r\n }\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n url, null\r\n );\r\n }\r\n\r\n createInterestChoice(mode: IInterestMode): Observable<{ statusCode: number; message: string, userInterestMode: string }> {\r\n return this.http.post<{ statusCode: number; message: string, userInterestMode: string }>(\r\n `${this.apiUrl}/userchoice/create`,\r\n mode\r\n );\r\n }\r\n\r\n closeAccount(payload) {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/account/accountclose`,\r\n payload\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SBItemComponent } from 'ng-uikit-pro-standard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { UNABLE_TO_PERFORM_ERROR } from 'src/app/app.constants';\r\nimport { SettingsService } from '../services/settings.service';\r\n\r\n@Component({\r\n selector: 'cashaa-setting-close-account',\r\n templateUrl: './setting-close-account.component.html',\r\n styleUrls: ['./setting-close-account.component.scss']\r\n})\r\nexport class SettingCloseAccountComponent implements OnInit {\r\n\r\n /** is opened */\r\n isOpen = false;\r\n firstScreen = true;\r\n secondScreen = false;\r\n thirdScreen = false;\r\n fourthScreen = false;\r\n selectedIndex = -1;\r\n\r\n @ViewChildren(SBItemComponent) collapses: QueryList[];\r\n\r\n /** is some call in progress */\r\n isInProgress = false;\r\n \r\n requirements = [{label: \"All your wallets should have zero balance\", value: 1}, {label: \"You shouldn't have any outstanding loans\", value: 2},\r\n {label: \"You shouldn't have any pending withdrawals\", value: 3}];\r\n feedback = [{label: \"Have trouble getting started\", value: 1}, {label: \"Some Cashaa services are not available in my region\", value: 2},\r\n {label: \"I don't feel my assets are safe on Cashaa\", value: 3}, {label: \"Cashaa does not support assets that I’m interested in\", value: 4},\r\n {label: \"I'm getting too many emails\", value: 5}, {label: \"I no longer find Cashaa services useful\", value: 6},\r\n {label: \"I’m not using any of the Cashaa products/services\", value: 7}, {label: \"Other\", value: 8}];\r\n \r\n isOtherTextBox = false;\r\n otherText = '';\r\n agreement;\r\n\r\n constructor(private router: Router, private settingsService: SettingsService, private toastrService: ToastrService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n /**\r\n * On close Account\r\n */\r\n closeAccount(): void {\r\n // this.isInProgress = true;\r\n this.firstScreen = false;\r\n this.secondScreen = true;\r\n this.thirdScreen = false;\r\n }\r\n\r\n continue() {\r\n this.firstScreen = false;\r\n this.secondScreen = false;\r\n this.thirdScreen = true;\r\n }\r\n backToFirst() {\r\n this.firstScreen = true;\r\n this.secondScreen = false;\r\n this.thirdScreen = false;\r\n }\r\n confirmClose(){\r\n let payload = { reason: '' }\r\n if(this.selectedIndex === 7) {\r\n payload.reason = this.otherText;\r\n } else {\r\n let res = this.feedback.filter(item => item.value === this.selectedIndex);\r\n payload.reason = res[0].label;\r\n }\r\n this.isInProgress = true;\r\n this.settingsService.closeAccount(payload).subscribe(res => {\r\n this.isInProgress = false;\r\n if(res.statusCode === 200) {\r\n this.fourthScreen = true;\r\n this.thirdScreen = false;\r\n this.secondScreen = false;\r\n this.firstScreen = false;\r\n }\r\n }, err => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n })\r\n }\r\n\r\n navigateToActivity() {\r\n this.router.navigateByUrl('activity');\r\n }\r\n\r\n\r\n selectFeedback(event, i) {\r\n this.selectedIndex = event.checked ? i : -1;\r\n if(this.selectedIndex == 7) {\r\n this.isOtherTextBox = true\r\n } else {\r\n this.isOtherTextBox = false;\r\n }\r\n }\r\n\r\n selectAgreement(event) {\r\n this.agreement = event.checked;\r\n }\r\n\r\n collapse(collapsed: boolean) {\r\n this.collapses.forEach((el: any) => {\r\n el.toggle(collapsed);\r\n });\r\n }\r\n}\r\n","\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    Close Account
    \r\n Please make sure your account balance is 0.00 before you begin.\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    We can close your account once you meet the following requirements

    \r\n
    Please make sure you meet the requirements
    \r\n \r\n
      \r\n
    • {{req.label}}
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Why are you closing your account? Please help us with your feedback

    \r\n \r\n \r\n

    {{fb.label}}

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    I hereby confirm that to have read and agree to the Terms & Conditions, Wallet Terms, Earn\r\n Terms, Exchange Terms, and Privacy Policy of Cashaa.

    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n

    In order to close your account a support ticket will be created on your behalf. An executive from our\r\n support team will be in touch

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Any deposits made to your existing Cashaa Fiat & Crypto wallet addresses after your account is closed will\r\n be lost. You also lose your account data and transaction history.

    \r\n
    \r\n
    \r\n
    \r\n

    As a financial institution, there are certain instances where\r\n Cashaa is required to hold or process data for a specific\r\n period of time to ensure compliance with global legal and/\r\n or regulatory obligations (including anti-money laundering\r\n and counter terrorism financing laws and regulations).\r\n In these cases, we may be unable to delete specific data until\r\n such time has passed as outlined in our Privacy Policy.

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Are you sure you want to close your Cashaa Account?
    \r\n

    Here are a few reasons to stay with Cashaa

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Earn on your crypto and fiat\r\n \"\"\r\n
    \r\n

    Earn inflation-beating yields on your favourite cyrpto and fiat assets safely with Cashaa

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Instant Exchange\r\n \r\n
    \r\n

    Get the best price and liquidity for your swaps while continuing to earn yields on your assets

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    The Power of CAS\r\n \r\n
    \r\n

    Boost your yield income, get free withdrawals, save on transaction fees and grow your wealth with CAS

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Close Account\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n

    Your account closure request has been \r\n received, so you can relax now.

    \r\n

    An executive from our support team will contact\r\n you with the next steps very soon.

    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { SEESION_FLAG, UNABLE_TO_PERFORM_ERROR } from 'src/app/app.constants';\r\nimport { ChangeEmailRequest } from 'src/app/core/models/changeEmail';\r\nimport { SettingsService } from '../services/settings.service';\r\n\r\n@Component({\r\n selector: 'cashaa-setting-email-confirm',\r\n templateUrl: './setting-email-confirm.component.html',\r\n styleUrls: ['./setting-email-confirm.component.scss']\r\n})\r\nexport class SettingEmailConfirmComponent implements OnInit {\r\n\r\n encodeKey(key: string): string {\r\n return encodeURIComponent(key);\r\n }\r\n encodeValue(value: string): string {\r\n return encodeURIComponent(value);\r\n }\r\n decodeKey(key: string): string {\r\n return decodeURIComponent(key);\r\n }\r\n decodeValue(value: string): string {\r\n return decodeURIComponent(value);\r\n }\r\n /** event name */\r\n event: string;\r\n\r\n /** token */\r\n token: string;\r\n\r\n /**newmail */\r\n newmail: string;\r\n\r\n errorMessage: string;\r\n\r\n showLoadingIndicator: boolean = true;\r\n\r\n oldmail: string;\r\n\r\n status: boolean;\r\n\r\n constructor(private router: Router, private activateRoute: ActivatedRoute,\r\n private settingsService: SettingsService, private toastrService: ToastrService) { }\r\n\r\n ngOnInit(): void {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n let decodeVal: string = params[\"token\"]\r\n ? this.decodeKey(params[\"token\"])\r\n : \"\";\r\n\r\n this.token = decodeVal ? decodeVal.split(\" \").join(\"+\") : \"\";\r\n this.newmail = params[\"newmail\"];\r\n this.oldmail = params[\"oldemail\"];\r\n\r\n if (this.oldmail && this.token && this.newmail) {\r\n const data = new ChangeEmailRequest(\r\n this.oldmail,\r\n this.newmail,\r\n this.token\r\n );\r\n this.settingsService.changeEmail(data).subscribe(\r\n (res) => {\r\n this.showLoadingIndicator = false;\r\n this.status = true;\r\n localStorage.clear();\r\n localStorage.setItem(SEESION_FLAG, \"false\");\r\n sessionStorage.clear();\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n this.status = false;\r\n this.showLoadingIndicator = false;\r\n }\r\n )\r\n }\r\n });\r\n }\r\n\r\n onContinue(): void {\r\n this.router.navigateByUrl(\"/account/signin\");\r\n }\r\n\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n

    Please try again!

    \r\n
    \r\n
    \r\n \r\n \r\n

    Email successfully changed!

    \r\n
    Your new email is now active
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    ","import { IFormSelect } from \"./../../core/models/form-select\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport {\r\n USER_ID,\r\n USER_FEE_MODE,\r\n USER_FEE_PERCENT,\r\n UNABLE_TO_PERFORM_ERROR,\r\n FEE_MODE_UPDATED,\r\n INTEREST_MODE_CREATED,\r\n USER_INTEREST_MODE,\r\n} from \"./../../app.constants\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { SettingsService } from \"./../services/settings.service\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"./../../core/utility/validator.utility\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { IInterestMode } from \"src/app/core/models/interest-mode\";\r\n\r\n@Component({\r\n selector: 'cashaa-setting-interest-choice',\r\n templateUrl: './setting-interest-choice.component.html',\r\n styleUrls: ['./setting-interest-choice.component.scss']\r\n})\r\nexport class SettingInterestChoiceComponent implements OnInit {\r\n\r\n /** is opened */\r\n isOpen = false;\r\n\r\n /** show form or not */\r\n showForm = false;\r\n\r\n /** is some call in progress */\r\n isInProgress = false;\r\n\r\n /** form group */\r\n form: FormGroup;\r\n interestMode?: IFormSelect[];\r\n interestModelist = [];\r\n /** selected fee mode */\r\n selectedinterestMode: any;\r\n /** user user fee mode address */\r\n userInterestMode: string = sessionStorage.getItem(USER_INTEREST_MODE);\r\n userId = sessionStorage.getItem(USER_ID);\r\n\r\n errorMessage: string;\r\n\r\n isCollapsed = true;\r\n isChecked : boolean;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private settingsService: SettingsService,\r\n private domainService: DomainService,\r\n private toastrService: ToastrService,\r\n private activateRoute: ActivatedRoute\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n const setting2FA = params[\"step\"];\r\n if (setting2FA === \"interestmode\") {\r\n this.isCollapsed = false;\r\n this.isOpen = true;\r\n }\r\n });\r\n this.getUserinterestMode();\r\n this.createForm();\r\n }\r\n //\r\n /**\r\n * create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n interestChoiceId: [this.userInterestMode, ValidatorUtility.Required],\r\n });\r\n }\r\n \r\n onInterestChoiceFormSubmit(): void {\r\n this.isInProgress = true;\r\n const inKindChoiceId = this.interestModelist.filter(item => item.choiceType == 1).map( obj => obj.id);\r\n const inCasChoiceId = this.interestModelist.filter(item => item.choiceType == 2).map( obj => obj.id);\r\n if(this.isChecked) {\r\n this.form.controls[\"interestChoiceId\"].setValue(inKindChoiceId.toString());\r\n } else {\r\n this.form.controls[\"interestChoiceId\"].setValue(inCasChoiceId.toString());\r\n }\r\n this.isChecked = !this.isChecked;\r\n this.settingsService.createInterestChoice(this.form.value).subscribe(\r\n (res) => {\r\n this.showForm = false;\r\n this.isInProgress = false;\r\n // this.userInterestMode = this.interestMode.filter((data) => data.value === this.form.value.interestChoiceId)[0].label;\r\n this.userInterestMode = res.userInterestMode;\r\n sessionStorage.setItem(USER_INTEREST_MODE, res.userInterestMode);\r\n this.toastrService.success(INTEREST_MODE_CREATED);\r\n },\r\n (err) => {\r\n this.isChecked = !this.isChecked;\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getUserinterestMode() {\r\n this.domainService.getUserInterestModeList().subscribe((resData) => {\r\n this.interestModelist = resData;\r\n this.interestMode = resData.map((d) => {\r\n if (!this.userInterestMode && d.choiceType === 1) {\r\n this.userInterestMode = d.interestChoiceName;\r\n }\r\n return {\r\n value: d.id,\r\n label: d.interestChoiceName,\r\n };\r\n });\r\n this.userInterestMode === 'InKind'? this.isChecked = false: this.isChecked = true;\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    Interest Mode
    \r\n \r\n Current Interest Mode:\r\n \r\n {{ userInterestMode }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n

    {{errorMessage}}

    \r\n \r\n
    In Kind \r\n In Cas\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    ","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { SettingsHomeComponent } from \"./settings-home/settings-home.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nimport { SettingEmailConfirmComponent } from \"./setting-email-confirm/setting-email-confirm.component\";\r\nconst routes: Routes = [\r\n {\r\n path: \"settings\",\r\n component: SettingsHomeComponent,\r\n canActivate: [AuthGuardService],\r\n \r\n },\r\n\r\n {\r\n path : \"emailconfirm\",\r\n component: SettingEmailConfirmComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class SettingsRoutingModule {}\r\n","import { ToastrService } from \"ngx-toastr\";\r\nimport { ValidatorUtility } from \"./../../core/utility/validator.utility\";\r\nimport {\r\n APP_ROUTES,\r\n SEESION_FLAG,\r\n UNABLE_TO_PERFORM_ERROR,\r\n USER_EMAIL_PATH,\r\n} from \"./../../app.constants\";\r\nimport { SettingsService } from \"./../services/settings.service\";\r\nimport { Component, OnInit, QueryList, ViewChildren } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ChangeEmailRequest } from \"../../core/models/changeEmail\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { SBItemComponent } from \"ng-uikit-pro-standard\";\r\nimport { HttpParameterCodec } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: \"cashaa-settings-email\",\r\n templateUrl: \"./settings-email.component.html\",\r\n styleUrls: [\"./settings-email.component.scss\"],\r\n})\r\nexport class SettingsEmailComponent implements OnInit, HttpParameterCodec {\r\n encodeKey(key: string): string {\r\n return encodeURIComponent(key);\r\n }\r\n encodeValue(value: string): string {\r\n return encodeURIComponent(value);\r\n }\r\n decodeKey(key: string): string {\r\n return decodeURIComponent(key);\r\n }\r\n decodeValue(value: string): string {\r\n return decodeURIComponent(value);\r\n }\r\n /** event name */\r\n event: string;\r\n\r\n /** token */\r\n token: string;\r\n\r\n /**newmail */\r\n newmail: string;\r\n\r\n /** is opened */\r\n isOpen = false;\r\n\r\n @ViewChildren(SBItemComponent) collapses: QueryList[];\r\n\r\n /** show email form */\r\n showForm = false;\r\n\r\n /** is some call in progress */\r\n isInProgress = false;\r\n\r\n /** user email address */\r\n useremail = sessionStorage.getItem(USER_EMAIL_PATH);\r\n\r\n /** form group */\r\n form: FormGroup;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private settingsService: SettingsService,\r\n private activateRoute: ActivatedRoute,\r\n private toastrService: ToastrService,\r\n private router: Router,\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.form.controls[\"currentEmail\"].setValue(this.useremail);\r\n\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n let decodeVal: string = params[\"token\"]\r\n ? this.decodeKey(params[\"token\"])\r\n : \"\";\r\n\r\n this.event = params[\"event\"];\r\n this.token = decodeVal ? decodeVal.split(\" \").join(\"+\") : \"\";\r\n this.newmail = params[\"newmail\"];\r\n\r\n if (this.event && this.token && this.newmail) {\r\n setTimeout(() => {\r\n this.collapse(false);\r\n });\r\n this.form.controls[\"newEmail\"].setValue(this.newmail);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n currentEmail: [{value:'', disabled: true}],\r\n newEmail: [this.newmail],\r\n });\r\n }\r\n\r\n /**\r\n * On email change form submit\r\n */\r\n onEmailChangeFormSubmit(): void {\r\n this.isInProgress = true;\r\n\r\n const data = new ChangeEmailRequest(\r\n this.form.controls[\"currentEmail\"].value,\r\n this.form.controls[\"newEmail\"].value,\r\n this.token\r\n );\r\n\r\n\r\n this.settingsService.changeEmail(data).subscribe(\r\n (res) => {\r\n this.showForm = false;\r\n this.isInProgress = false;\r\n this.collapse(true);\r\n this.isOpen = false;\r\n this.toastrService.success(res.message);\r\n if (this.token) {\r\n localStorage.clear();\r\n localStorage.setItem(SEESION_FLAG, \"false\");\r\n sessionStorage.clear();\r\n this.router.navigateByUrl(APP_ROUTES.SIGN_IN);\r\n }\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n this.isInProgress = false;\r\n }\r\n );\r\n }\r\n\r\n collapse(collapsed: boolean) {\r\n this.collapses.forEach((el: any) => {\r\n el.toggle(collapsed);\r\n });\r\n }\r\n}\r\n","\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    Email
    \r\n {{ useremail }}\r\n  (Verified)\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n {{event === 'updatemail' && token ? 'Change email address' : 'Get reset link'}}\r\n \r\n New email can not be same as your\r\n current email.\r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { CashaaUserFeeMode } from \"./../../core/models/cashaa-user-fee-request\";\r\n\r\nimport { IFormSelect } from \"./../../core/models/form-select\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport {\r\n USER_ID,\r\n USER_FEE_MODE,\r\n USER_FEE_PERCENT,\r\n UNABLE_TO_PERFORM_ERROR,\r\n FEE_MODE_UPDATED,\r\n} from \"./../../app.constants\";\r\nimport { FormGroup } from \"@angular/forms\";\r\nimport { SettingsService } from \"./../services/settings.service\";\r\nimport { FormBuilder } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"./../../core/utility/validator.utility\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"cashaa-settings-fee\",\r\n templateUrl: \"./settings-fee.component.html\",\r\n styleUrls: [\"./settings-fee.component.scss\"],\r\n})\r\nexport class SettingsFeeComponent implements OnInit {\r\n /** is opened */\r\n isOpen = false;\r\n\r\n /** show form or not */\r\n showForm = false;\r\n\r\n /** is some call in progress */\r\n isInProgress = false;\r\n\r\n /** form group */\r\n form: FormGroup;\r\n feeMode?: IFormSelect[];\r\n /** selected fee mode */\r\n selectedFeeMode: any;\r\n isChecked:boolean;\r\n /** user user fee mode address */\r\n userFeeMode = sessionStorage.getItem(USER_FEE_MODE);\r\n userId = sessionStorage.getItem(USER_ID);\r\n\r\n errorMessage: string;\r\n\r\n isCollapsed = true;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private settingsService: SettingsService,\r\n private domainService: DomainService,\r\n private toastrService: ToastrService,\r\n private activateRoute: ActivatedRoute\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getUserFeeMode();\r\n this.createForm();\r\n }\r\n //\r\n /**\r\n * create new form\r\n */\r\n createForm(): void {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n const fee = params[\"step\"];\r\n if (fee === \"fee\") {\r\n this.isCollapsed = false;\r\n this.isOpen = true;\r\n }\r\n });\r\n this.form = this.fb.group({\r\n ufeeMode: [this.userFeeMode, ValidatorUtility.Required],\r\n });\r\n }\r\n\r\n onFeeChangeFormSubmit(): void {\r\n \r\n if(this.isChecked) {\r\n this.form.controls[\"ufeeMode\"].setValue('InNative');\r\n } else {\r\n this.form.controls[\"ufeeMode\"].setValue('InCashaa');\r\n }\r\n this.isInProgress = true;\r\n this.isChecked = !this.isChecked;\r\n const reqData = new CashaaUserFeeMode(this.form.controls[\"ufeeMode\"].value);\r\n const userFreeModeValue = this.form.controls[\"ufeeMode\"].value;\r\n this.settingsService.updateUserMode(reqData).subscribe(\r\n (res) => {\r\n this.showForm = false;\r\n this.isInProgress = false;\r\n sessionStorage.setItem(USER_FEE_MODE, userFreeModeValue);\r\n this.userFeeMode = userFreeModeValue;\r\n // this.userFeeMode === 'InCashaa'? this.isChecked = true: this.isChecked = false;\r\n this.toastrService.success(FEE_MODE_UPDATED);\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getUserFeeMode() {\r\n this.domainService.getUserFeeModeList().subscribe((resData) => {\r\n this.feeMode = resData.map((d) => {\r\n return {\r\n value: d.key,\r\n label: this.getUserFeeModeLabel(d.key),\r\n };\r\n });\r\n this.userFeeMode === 'InCashaa'? this.isChecked = true: this.isChecked = false;\r\n });\r\n }\r\n\r\n getUserFeeModeLabel(label: string) {\r\n if (label.startsWith('In')) {\r\n return label.split('In').join('In ');\r\n } else {\r\n return label;\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    Fee Mode
    \r\n \r\n Current Fee Mode:\r\n \r\n {{ userFeeMode.split('In').join('In ') }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n

    {{errorMessage}}

    \r\n
    \r\n \r\n
    Fee in Native \r\n Fee in Cashaa\r\n \r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from \"@angular/core\";\r\nimport { USER_TYPE } from \"src/app/app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-settings-home\",\r\n templateUrl: \"./settings-home.component.html\",\r\n styleUrls: [\"./settings-home.component.scss\"],\r\n})\r\nexport class SettingsHomeComponent implements OnInit {\r\n user;\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.user = sessionStorage.getItem(USER_TYPE);\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    Settings
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { ChangePasswordRequest } from \"./../../core/models/chnagepassword\";\r\nimport { ValidatorUtility } from \"./../../core/utility/validator.utility\";\r\nimport { SettingsService } from \"./../services/settings.service\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport {\r\n Component,\r\n OnInit,\r\n QueryList,\r\n ViewChild,\r\n ViewChildren,\r\n} from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { SBItemComponent } from \"ng-uikit-pro-standard\";\r\nimport {\r\n APP_ROUTES,\r\n PASSWORD_MESG,\r\n SEESION_FLAG,\r\n UNABLE_TO_PERFORM_ERROR,\r\n USER_ID,\r\n} from \"src/app/app.constants\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ActivityService } from \"src/app/activity/services/activity.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-settings-password\",\r\n templateUrl: \"./settings-password.component.html\",\r\n styleUrls: [\"./settings-password.component.scss\"],\r\n})\r\nexport class SettingsPasswordComponent implements OnInit {\r\n /** is opened */\r\n isOpen = false;\r\n @ViewChildren(SBItemComponent) collapses: QueryList[];\r\n\r\n /** is some call in progress */\r\n isInProgress = false;\r\n\r\n /** form group */\r\n form: FormGroup;\r\n\r\n errorMessage: string;\r\n\r\n passwordInvalid: boolean;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private settingsService: SettingsService,\r\n private toastrService: ToastrService,\r\n private router: Router,\r\n private activityService: ActivityService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n oldpassword: [\"\", ValidatorUtility.PasswordValidator],\r\n newpassword: [\"\"],\r\n });\r\n }\r\n\r\n /**\r\n * o password change form submit\r\n */\r\n onPasswordFormSubmit(): void {\r\n this.errorMessage = \"\";\r\n this.isInProgress = true;\r\n const data = new ChangePasswordRequest(\r\n this.form.controls[\"oldpassword\"].value,\r\n this.form.controls[\"newpassword\"].value\r\n );\r\n\r\n this.settingsService.changePassword(data).subscribe(\r\n (res) => {\r\n this.form.reset();\r\n this.isInProgress = false;\r\n this.collapse(true);\r\n localStorage.clear();\r\n localStorage.setItem(SEESION_FLAG, \"false\");\r\n sessionStorage.clear();\r\n this.activityService.refreshToken(USER_ID).subscribe( res=> {\r\n \r\n })\r\n this.router.navigateByUrl(APP_ROUTES.MESG_BOX+\"?source=reset-password\");\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n this.isInProgress = false;\r\n }\r\n );\r\n }\r\n\r\n collapse(collapsed: boolean) {\r\n this.collapses.forEach((el: any) => {\r\n el.toggle(collapsed);\r\n });\r\n }\r\n\r\n passwordValid(event) {\r\n this.passwordInvalid = event;\r\n }\r\n}\r\n","\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    Change Password
    \r\n

    *******

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {{ errorMessage }}\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { ValidatorUtility } from \"../../core/utility/validator.utility\";\r\nimport { SettingsService } from \"../services/settings.service\";\r\nimport {\r\n Google2faDto,\r\n Enabletwofarequest,\r\n Createtwofa,\r\n} from \"../../core/models/EnableTwoFa\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n ENABLE_2FA,\r\n UNABLE_TO_PERFORM_ERROR,\r\n USER_EMAIL_PATH,\r\n USER_TWO_FACTOR_CODE,\r\n} from \"src/app/app.constants\";\r\nimport { SBItemComponent } from \"ng-uikit-pro-standard\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"cashaa-settings-subscription-plan\",\r\n templateUrl: \"./settings-subscription-plan.component.html\",\r\n styleUrls: [\"./settings-subscription-plan.component.scss\"],\r\n})\r\nexport class SettingsSubscriptionPlanComponent implements OnInit {\r\n status: boolean;\r\n isCollapsed = true;\r\n /** is opened */\r\n isOpen = false;\r\n constructor(\r\n private settingsService: SettingsService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.settingsService.subscriptionPlan().subscribe(\r\n (res) => {\r\n this.status = res.message === \"success\";\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","\r\n\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    Subscription Plan
    \r\n \r\n Status:\r\n \r\n Blue\r\n \r\n \r\n Premier\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { ValidatorUtility } from \"./../../core/utility/validator.utility\";\r\nimport { SettingsService } from \"./../services/settings.service\";\r\nimport {\r\n Google2faDto,\r\n Enabletwofarequest,\r\n Createtwofa,\r\n} from \"./../../core/models/EnableTwoFa\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n APP_ROUTES,\r\n ENABLE_2FA,\r\n UNABLE_TO_PERFORM_ERROR,\r\n USER_EMAIL_PATH,\r\n USER_TWO_FACTOR_CODE,\r\n USER_TYPE,\r\n VERIFICATION_MESG,\r\n} from \"src/app/app.constants\";\r\nimport { SBItemComponent } from \"ng-uikit-pro-standard\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: \"cashaa-settings-two-factor-auth\",\r\n templateUrl: \"./settings-two-factor-auth.component.html\",\r\n styleUrls: [\"./settings-two-factor-auth.component.scss\"],\r\n})\r\nexport class SettingsTwoFactorAuthComponent implements OnInit {\r\n google2fa: Google2faDto;\r\n\r\n /** is opened */\r\n isOpen = false;\r\n\r\n /** show form or not */\r\n showForm = false;\r\n\r\n /** is some call in progress */\r\n isInProgress = false;\r\n\r\n isLoading = false;\r\n\r\n /** form group */\r\n form: FormGroup;\r\n\r\n copied: boolean = false;\r\n\r\n errorMessage: string;\r\n\r\n isCollapsed = true;\r\n\r\n allCodeEntered = false;\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n\r\n @ViewChildren(SBItemComponent) collapses: QueryList[];\r\n\r\n userEmailId: string = sessionStorage.getItem(USER_EMAIL_PATH);\r\n\r\n encodeKey(key: string): string {\r\n return encodeURIComponent(key);\r\n }\r\n encodeValue(value: string): string {\r\n return encodeURIComponent(value);\r\n }\r\n decodeKey(key: string): string {\r\n return decodeURIComponent(key);\r\n }\r\n decodeValue(value: string): string {\r\n return decodeURIComponent(value);\r\n }\r\n\r\n /** event name */\r\n event: string;\r\n\r\n /** token */\r\n token: string;\r\n\r\n twofaBoxEnable: boolean = false;\r\n\r\n fileUrl;\r\n private navigationKeys = [\r\n 'Backspace',\r\n 'Delete',\r\n 'Tab',\r\n 'Escape',\r\n 'Enter',\r\n 'Home',\r\n 'End',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Clear',\r\n 'Copy',\r\n 'Paste'\r\n ];\r\n constructor(\r\n private fb: FormBuilder,\r\n private settingsService: SettingsService,\r\n private toastrService: ToastrService,\r\n private activateRoute: ActivatedRoute,\r\n private router: Router,\r\n private domTest: DomSanitizer\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.getTwoFaAuth(false);\r\n this.onChanges();\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n const setting2FA = params[\"step\"];\r\n if (setting2FA === \"2fa\") {\r\n this.isCollapsed = false;\r\n this.isOpen = true;\r\n }\r\n });\r\n\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n let decodeVal: string = params[\"token\"]\r\n ? this.decodeKey(params[\"token\"])\r\n : \"\";\r\n\r\n this.event = params[\"event\"];\r\n this.token = decodeVal ? decodeVal.split(\" \").join(\"+\") : \"\";\r\n if (this.event === 'disabletwofa' && this.token) {\r\n this.isOpen = true;\r\n setTimeout(() => {\r\n this.collapse(false);\r\n });\r\n this.twofaBoxEnable = true; \r\n }\r\n });\r\n }\r\n\r\n /**\r\n * create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n code: [\"\", ValidatorUtility.Required],\r\n });\r\n }\r\n\r\n /**\r\n * get 2fa info\r\n */\r\n getTwoFaAuth(getkey: boolean): void {\r\n const createKey = new Createtwofa(getkey);\r\n if (!getkey) {\r\n this.isLoading = true;\r\n } \r\n this.settingsService.createTwoFaAuth(createKey).subscribe(\r\n (res) => {\r\n this.google2fa = res;\r\n this.isLoading = false;\r\n if (this.google2fa.secrateKey) {\r\n this.showForm = true;\r\n const blob = new Blob([this.google2fa.secrateKey], { type: 'application/octet-stream' });\r\n this.fileUrl = this.domTest.bypassSecurityTrustResourceUrl(window.URL.createObjectURL(blob));\r\n }\r\n this.isInProgress = false;\r\n if (!this.google2fa.isActive) {\r\n sessionStorage.removeItem(USER_TWO_FACTOR_CODE);\r\n }\r\n },\r\n (err) => {\r\n this.isLoading = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n get2fakey(): void {\r\n this.isInProgress = true;\r\n this.getTwoFaAuth(true);\r\n }\r\n\r\n disableTwoFa(code?: string, token?: string): void {\r\n this.isInProgress = true;\r\n this.settingsService.disableTwofaCode(code, token).subscribe((data)=> {\r\n if (data.message === 'success') {\r\n this.isInProgress = false;\r\n this.showForm = false;\r\n this.isOpen = false;\r\n this.collapse(true);\r\n this.twofaBoxEnable = false;\r\n if (code && token) {\r\n sessionStorage.setItem(USER_TWO_FACTOR_CODE, 'false');\r\n this.google2fa = undefined;\r\n this.code = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n this.router.navigateByUrl(APP_ROUTES.SETTING_BASE);\r\n } else {\r\n this.toastrService.success(VERIFICATION_MESG);\r\n }\r\n } else {\r\n this.toastrService.success(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n \r\n },\r\n (err) => {\r\n this.isInProgress = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n })\r\n }\r\n\r\n onChanges(): void {\r\n this.form.valueChanges.subscribe((val) => {\r\n if (val !== undefined) {\r\n this.errorMessage = undefined;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * on auth form submit\r\n */\r\n onAuthFormSubmit(code?: string): void {\r\n if (this.twofaBoxEnable) {\r\n this.disableTwoFa(code, this.token);\r\n } else {\r\n this.isInProgress = true;\r\n const data = new Enabletwofarequest(\r\n code ? code : this.form.controls[\"code\"].value\r\n );\r\n \r\n this.settingsService.enablegoogleAuth(data).subscribe(\r\n (res) => {\r\n this.google2fa = res;\r\n this.isInProgress = false;\r\n sessionStorage.setItem(USER_TWO_FACTOR_CODE, \"true\");\r\n this.showForm = false;\r\n this.isOpen = false;\r\n this.collapse(true);\r\n this.toastrService.success(ENABLE_2FA);\r\n },\r\n (err: HttpErrorResponse) => {\r\n this.isInProgress = false;\r\n this.code = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n \r\n }\r\n\r\n copyAddress(): void {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.google2fa.secrateKey);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n\r\n removeError(): void {\r\n if (this.errorMessage !== undefined) {\r\n this.errorMessage = undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfCodeIsFilled(idx: number): void {\r\n if (idx >= 0 && idx < 5 && this.code[idx]) {\r\n this.inputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n this.allCodeEntered = true;\r\n this.code.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allCodeEntered = false;\r\n }\r\n });\r\n if (this.code[5] && idx === -1) {\r\n this.inputs.toArray()[5].nativeElement.focus();\r\n }\r\n\r\n if (this.allCodeEntered) {\r\n this.isInProgress = true;\r\n const code = this.code.join(\"\");\r\n this.onAuthFormSubmit(code);\r\n }\r\n }\r\n\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onCodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.code = pastedText.split(\"\");\r\n this.checkIfCodeIsFilled(-1);\r\n }\r\n }\r\n\r\n removeBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.inputs.toArray()[index].nativeElement.focus();\r\n }\r\n }\r\n\r\n isTwoFaEnable(): boolean {\r\n return this.google2fa && this.google2fa?.isActive;\r\n }\r\n\r\n collapse(collapsed: boolean) {\r\n this.collapses.forEach((el: any) => {\r\n el.toggle(collapsed);\r\n });\r\n }\r\n\r\n downloadFileName(): string {\r\n return `cashaa-2FA-${this.userEmailId}.txt`;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (\r\n // Allow: Delete, Backspace, Tab, Escape, Enter, etc\r\n this.navigationKeys.indexOf(e.key) > -1 ||\r\n (e.key === 'a' && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.key === 'c' && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.key === 'v' && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.key === 'x' && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.key === 'a' && e.metaKey === true) || // Cmd+A (Mac)\r\n (e.key === 'c' && e.metaKey === true) || // Cmd+C (Mac)\r\n (e.key === 'v' && e.metaKey === true) || // Cmd+V (Mac)\r\n (e.key === 'x' && e.metaKey === true) // Cmd+X (Mac)\r\n ) {\r\n return;\r\n }\r\n if (e.key === ' ' || isNaN(Number(e.key))) {\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    2-Step Login / 2-Factor Authentication
    \r\n \r\n Status:\r\n \r\n On (2-Factor Authentication)\r\n \r\n \r\n Off (2-Factor Authentication)\r\n \r\n Loading...\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    {{google2fa.secrateKey | uppercase}}
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n {{ errorMessage }}\r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{ errorMessage }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { SettingsRoutingModule } from \"./setting-routing.module\";\r\nimport { SettingsHomeComponent } from \"./settings-home/settings-home.component\";\r\nimport { SettingsEmailComponent } from \"./settings-email/settings-email.component\";\r\nimport { SettingsPasswordComponent } from \"./settings-password/settings-password.component\";\r\nimport { SettingsTwoFactorAuthComponent } from \"./settings-two-factor-auth/settings-two-factor-auth.component\";\r\nimport { SettingsFeeComponent } from \"./settings-fee/settings-fee.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { SettingsSubscriptionPlanComponent } from \"./settings-subscription-plan/settings-subscription-plan.component\";\r\nimport { SettingEmailConfirmComponent } from './setting-email-confirm/setting-email-confirm.component';\r\nimport { SettingInterestChoiceComponent } from './setting-interest-choice/setting-interest-choice.component';\r\nimport { SettingCloseAccountComponent } from './setting-close-account/setting-close-account.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SettingsHomeComponent,\r\n SettingsEmailComponent,\r\n SettingsPasswordComponent,\r\n SettingsTwoFactorAuthComponent,\r\n SettingsFeeComponent,\r\n SettingsSubscriptionPlanComponent,\r\n SettingEmailConfirmComponent,\r\n SettingInterestChoiceComponent,\r\n SettingCloseAccountComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n SettingsRoutingModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n ToastrModule.forRoot(),\r\n FormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ],\r\n})\r\nexport class SettingsModule {}\r\n","import { Directive, ElementRef, Input, HostListener } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[cashaaNumDecimal]\",\r\n})\r\nexport class NumDecimalDirective {\r\n elemRef: ElementRef;\r\n\r\n constructor(private el: ElementRef) {\r\n this.elemRef = el;\r\n }\r\n\r\n @Input() OnlyNumber: boolean;\r\n @Input() DecimalPlaces: string;\r\n @Input() minValue: string;\r\n @Input() maxValue: string;\r\n\r\n @HostListener(\"keydown\", [\"$event\"]) onKeyDown(event) {\r\n let e = event;\r\n let ve = event;\r\n if (this.OnlyNumber) {\r\n if (\r\n event.target.value.split(\".\").length === 2 &&\r\n (e.keyCode === 190 || event.keyCode === 110)\r\n ) {\r\n e.preventDefault();\r\n } else if (\r\n [46, 8, 9, 27, 13, 110, 190].indexOf(e.keyCode) !== -1 ||\r\n // Allow: Ctrl+A\r\n (e.keyCode == 65 && e.ctrlKey === true) ||\r\n // Allow: Ctrl+C\r\n (e.keyCode == 67 && e.ctrlKey === true) ||\r\n // Allow: Ctrl+X\r\n (e.keyCode == 88 && e.ctrlKey === true) ||\r\n // Allow: home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39)\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || e.keyCode < 48 || e.keyCode > 57) &&\r\n (e.keyCode < 95 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n @HostListener(\"keypress\", [\"$event\"]) onKeyPress(event) {\r\n let e = event;\r\n\r\n let valInFloat: number = parseFloat(e.target.value);\r\n\r\n if (this.minValue && this.minValue.length) {\r\n // (isNaN(valInFloat) && e.key === \"0\") - When user enters value for first time valInFloat will be NaN, e.key condition is\r\n // because I didn't want user to enter anything below 1.\r\n // NOTE: You might want to remove it if you want to accept 0\r\n // if( valInFloat < parseFloat(this.minValue) || (isNaN(valInFloat) && e.key === \"0\") ) {\r\n // e.preventDefault();\r\n // }\r\n }\r\n\r\n if (this.maxValue && this.maxValue.length) {\r\n if (valInFloat > parseFloat(this.maxValue)) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n if (this.DecimalPlaces && this.DecimalPlaces) {\r\n let currentCursorPos: number = -1;\r\n if (typeof this.elemRef.nativeElement.selectionStart == \"number\") {\r\n currentCursorPos = this.elemRef.nativeElement.selectionStart;\r\n } else {\r\n // Probably an old IE browser\r\n }\r\n\r\n let dotLength: number = e.target.value.replace(/[^\\.]/g, \"\").length;\r\n // If user has not entered a dot(.) e.target.value.split(\".\")[1] will be undefined\r\n let decimalLength = e.target.value.split(\".\")[1]\r\n ? e.target.value.split(\".\")[1].length\r\n : 0;\r\n\r\n // (this.DecimalPlaces - 1) because we don't get decimalLength including currently pressed character\r\n // currentCursorPos > e.target.value.indexOf(\".\") because we must allow user's to enter value before dot(.)\r\n // Checking Backspace etc.. keys because firefox doesn't pressing them while chrome does by default\r\n if (\r\n dotLength > 1 ||\r\n (dotLength === 1 && e.key === \".\") ||\r\n (decimalLength > parseInt(this.DecimalPlaces) - 1 &&\r\n currentCursorPos > e.target.value.indexOf(\".\") &&\r\n [\"Backspace\", \"ArrowLeft\", \"ArrowRight\"].indexOf(e.key) === -1)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cashaa-access-restricted\",\r\n templateUrl: \"./access-restricted.component.html\",\r\n styleUrls: [\"./access-restricted.component.scss\"],\r\n})\r\nexport class AccessRestrictedComponent {\r\n\r\n\r\n\r\n}\r\n","\r\n
    \r\n

    Access Restriced In Your Country

    \r\n

    \r\n You can access our website in other countries\r\n

    \r\n
    ","import { Router } from \"@angular/router\";\r\nimport { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { DepositInterestService } from \"src/app/deposit-interest/service/deposit-interest.service\";\r\nimport { IDepositInterestPlan } from \"src/app/core/models/deposit-interest/deposit-interest\";\r\nimport { USER_COUNTRY_CODE, USER_INTEREST_MODE, USER_TYPE } from \"src/app/app.constants\";\r\nimport { IUserPlan } from \"src/app/core/models/user-plan/user-detail\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { IAccountDetails } from \"src/app/core/models/account-details\";\r\nimport { ICryptoAccountDetails } from \"src/app/core/models/crypto-account-details\";\r\n\r\n@Component({\r\n selector: \"account-box\",\r\n templateUrl: \"./account-box.component.html\",\r\n styleUrls: [\"./account-box.component.scss\"]\r\n})\r\nexport class AccountBoxComponent implements OnInit {\r\n /** Currency type */\r\n @Input() currency: string;\r\n @Input() item;\r\n @Input() currencyId: string;\r\n @Input() isDepositActive: boolean;\r\n @Input() isSendActive: boolean;\r\n @Input() idx = -1;\r\n @Input() creditBalanceInUSD;\r\n @Input() userBalanceInUSD;\r\n @Input() isEarn;\r\n selectedCrypto = -1\r\n\r\n /** balance */\r\n @Input() balance = 0;\r\n @Output() isLoadingMDBAccordionBody = new EventEmitter();\r\n\r\n diamondPlan: IUserPlan;\r\n rate: number;\r\n allCurrenciesPlan: IUserPlan[] = [];\r\n rateType: string = sessionStorage.getItem(USER_INTEREST_MODE);\r\n currencyDepositRate: number[] = [];\r\n maxInterestModeRate: number[] = [];\r\n nonBankingFiatCurrency = [\"AUD\", \"JPY\", \"CAD\", \"CNH\", \"SGD\", \"NZD\", \"CHF\"];\r\n excludeCryptoDisable: string[] = [\"BNB20\"];\r\n cryptoLoading = false;\r\n accountDetailsByCurrencyData: IAccountDetails;\r\n accountDetailsByAccountCurrencyData: IAccountDetails;\r\n accountDetailsCryptoData: ICryptoAccountDetails;\r\n accountDetailsETHCryptoData: ICryptoAccountDetails;\r\n currencyDepositRateLessThanEqual365: number[] = [];\r\n currencyDepositRateGreaterThan365: number[] = [];\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n constructor(private router: Router, private modalService: ModalService,\r\n private userService: UserService, private depositService: DepositInterestService) { }\r\n\r\n ngOnInit(): void {\r\n // if (!this.isEarnAndFixedDepositActive()) {\r\n if(this.currency === 'DOG') {\r\n this.currency = 'DOGE';\r\n }\r\n }\r\n\r\n goToCurrency(): void {\r\n this.router.navigateByUrl(`/wallet?c=${this.currency}#${this.currency}`);\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n openEarnPlan(event): void {\r\n // event.stopPropagation();\r\n if (this.currency === 'CAS') {\r\n this.router.navigateByUrl(`deposit-interest?c=${this.currency}`);\r\n } else {\r\n this.modalService.openEarnPlanDetailPopup(this.item.loyaltyPlanName, this.item.upgradeTo, this.item.availableBalance, this.item.currencyId, this.item.symbol, this.item.fLexTerm,\r\n this.item.fixedTerm, this.item.earnUpTo, this.item.longEarnUpTo, this.item.minFlexAmount, this.item.isFlexSubscribed, this.item.casBonus);\r\n\r\n }\r\n }\r\n\r\n isEarnAndFixedDepositActive(): boolean {\r\n return sessionStorage.getItem(USER_COUNTRY_CODE) !== 'US';\r\n }\r\n\r\n isFixedDepositEnable(): boolean {\r\n //return sessionStorage.getItem(USER_TYPE) !== '4' || this.currency === 'CAS';\r\n return this.currency === 'CAS';\r\n }\r\n\r\n isFixedDepositAndEarnEnable(): boolean {\r\n //return sessionStorage.getItem(USER_TYPE) === '4' && this.currency !== 'CAS';\r\n\r\n return (this.userType === '4' || this.userType === '5' || this.userType === '6') && this.currency !== 'CAS';\r\n }\r\n\r\n // isEarnModuleNotActive(): boolean {\r\n // return sessionStorage.getItem(USER_TYPE) === '4' && this.currency === 'DOG';\r\n // }\r\n\r\n isCryptoDisable(currency: string): boolean {\r\n if (this.excludeCryptoDisable.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isHide(): boolean {\r\n if (this.rate && this.rate > 0) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n isHidden(currency: string): boolean {\r\n if (this.nonBankingFiatCurrency.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n onAddClick(currency: string): void {\r\n this.router.navigateByUrl(`/deposit?cur=${currency}`);\r\n }\r\n onConvertClick(currencyDetail): void {\r\n // this.router.navigateByUrl(`/convert?c=${currency}`);\r\n this.modalService.openCurrencyPair(currencyDetail);\r\n }\r\n\r\n onSendClick(currency: string): void {\r\n this.router.navigateByUrl(`/fiat?c=${currency}`);\r\n }\r\n getCryptoAccountDetails(event, currency: IUserBalance, idx: number): void {\r\n if (currency && currency.currencynature === 2) {\r\n this.router.navigateByUrl(`/deposit?cur=${currency.symbol}`);\r\n } else {\r\n currency.isSelected = !currency.isSelected;\r\n this.isLoadingMDBAccordionBody.emit({ 'rate': this.rate, 'id': idx, 'currency': currency });\r\n }\r\n }\r\n\r\n callBuyOrSellConditionally(currencyInfo) {\r\n this.onConvertClick(currencyInfo);\r\n }\r\n\r\n onBuyClick(currency: string): void {\r\n this.router.navigateByUrl(`/buy?c=${currency}&`);\r\n }\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {{ currency }} {{ balance | number: \"0.0-2\" }}\r\n \r\n
    \r\n ${{userBalanceInUSD | number: \"0.0-2\"}}\r\n
    \r\n \r\n \r\n
    \r\n {{ currency }} {{ balance | number: \"0.0-4\" }}\r\n
    \r\n ${{userBalanceInUSD | number: \"0.0-4\"}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ${{creditBalanceInUSD}}\r\n
    \r\n
    \r\n N/A\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ item.creditLine }}%\r\n
    \r\n
    \r\n N/A\r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"text-dark font-weight-bolder m-auto\">\r\n {{ item.interestRate }}%\r\n
    \r\n
    \r\n N/A\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    ","import { Router } from \"@angular/router\";\r\nimport { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { DepositInterestService } from \"src/app/deposit-interest/service/deposit-interest.service\";\r\nimport { IDepositInterestPlan } from \"src/app/core/models/deposit-interest/deposit-interest\";\r\nimport { USER_COUNTRY_CODE, USER_INTEREST_MODE, USER_TYPE } from \"src/app/app.constants\";\r\nimport { IUserPlan } from \"src/app/core/models/user-plan/user-detail\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { IAccountDetails } from \"src/app/core/models/account-details\";\r\nimport { ICryptoAccountDetails } from \"src/app/core/models/crypto-account-details\";\r\n\r\n@Component({\r\n selector: \"account-box-mobile\",\r\n templateUrl: \"./account-box-mobile.component.html\",\r\n styleUrls: [\"./account-box-mobile.component.scss\"]\r\n})\r\nexport class AccountBoxMobileComponent implements OnInit {\r\n /** Currency type */\r\n @Input() currency: string;\r\n @Input() item;\r\n @Input() currencyId: string;\r\n @Input() isDepositActive: boolean;\r\n @Input() isSendActive: boolean;\r\n @Input() idx = -1;\r\n @Input() creditBalanceInUSD;\r\n @Input() userBalanceInUSD;\r\n @Input() isEarn;\r\n selectedCrypto = -1\r\n\r\n /** balance */\r\n @Input() balance = 0;\r\n @Output() isLoadingMDBAccordionBody = new EventEmitter();\r\n\r\n diamondPlan: IUserPlan;\r\n rate: number;\r\n allCurrenciesPlan: IUserPlan[] = [];\r\n rateType: string = sessionStorage.getItem(USER_INTEREST_MODE);\r\n currencyDepositRate: number[] = [];\r\n maxInterestModeRate: number[] = [];\r\n nonBankingFiatCurrency = [\"AUD\", \"JPY\", \"CAD\", \"CNH\", \"SGD\", \"NZD\", \"CHF\"];\r\n excludeCryptoDisable: string[] = [\"BNB20\"];\r\n cryptoLoading = false;\r\n accountDetailsByCurrencyData: IAccountDetails;\r\n accountDetailsByAccountCurrencyData: IAccountDetails;\r\n accountDetailsCryptoData: ICryptoAccountDetails;\r\n accountDetailsETHCryptoData: ICryptoAccountDetails;\r\n currencyDepositRateLessThanEqual365: number[] = [];\r\n currencyDepositRateGreaterThan365: number[] = [];\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n constructor(private router: Router, private modalService: ModalService,\r\n private userService: UserService, private depositService: DepositInterestService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n goToCurrency(): void {\r\n this.router.navigateByUrl(`/wallet?c=${this.currency}#${this.currency}`);\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n openEarnPlan(event): void {\r\n event.stopPropagation();\r\n if (this.currency === 'CAS') {\r\n this.router.navigateByUrl(`deposit-interest?c=${this.currency}`);\r\n }\r\n else {\r\n this.modalService.openEarnPlanDetailPopup(this.item.loyaltyPlanName, this.item.upgradeTo, this.item.availableBalance, this.item.currencyId, this.item.symbol, this.item.fLexTerm,\r\n this.item.fixedTerm, this.item.earnUpTo, this.item.longEarnUpTo, this.item.minFlexAmount, this.item.isFlexSubscribed, this.item.casBonus);\r\n }\r\n }\r\n\r\n isEarnAndFixedDepositActive(): boolean {\r\n return sessionStorage.getItem(USER_COUNTRY_CODE) !== 'US';\r\n }\r\n\r\n isCryptoDisable(currency: string): boolean {\r\n if (this.excludeCryptoDisable.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isHide(): boolean {\r\n if (this.rate && this.rate > 0) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n isHidden(currency: string): boolean {\r\n if (this.nonBankingFiatCurrency.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n onAddClick(currency: string): void {\r\n this.router.navigateByUrl(`/deposit?cur=${currency}`);\r\n }\r\n callBuyOrSellConditionally(currencyDetail: any): void {\r\n this.modalService.openCurrencyPair(currencyDetail);\r\n }\r\n\r\n onSendClick(currency: string): void {\r\n this.router.navigateByUrl(`/fiat?c=${currency}`);\r\n }\r\n getCryptoAccountDetails(event, currency: IUserBalance, idx: number): void {\r\n if (currency && currency.currencynature === 2) {\r\n this.router.navigateByUrl(`/deposit?cur=${currency.currencyType}`);\r\n } else {\r\n currency.isSelected = !currency.isSelected;\r\n this.isLoadingMDBAccordionBody.emit({ 'rate': this.rate, 'id': idx, 'currency': currency });\r\n }\r\n }\r\n\r\n onBuyClick(currency: string): void {\r\n this.router.navigateByUrl(`/buy?c=${currency}&`);\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{ currency }} {{ balance | number: \"0.0-2\" }}\r\n \r\n
    \r\n ${{userBalanceInUSD | number: \"0.0-2\"}}\r\n
    \r\n \r\n
    \r\n {{ currency }} {{ balance | number: \"0.0-4\" }}\r\n
    \r\n ${{userBalanceInUSD | number: \"0.0-4\"}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Credit Line
    \r\n
    0\" class=\"text-dark font-weight-bolder mr-1\">\r\n ${{creditBalanceInUSD}}\r\n
    \r\n
    \r\n N/A\r\n
    \r\n
    \r\n
    \r\n
    LTV
    \r\n
    0\" class=\"text-dark font-weight-bolder mr-1\">\r\n {{ item.creditLine }}\r\n
    \r\n
    \r\n N/A\r\n
    \r\n
    \r\n
    \r\n
    ROI% (Annually)
    \r\n
    0\" class=\"text-dark font-weight-bolder mr-1\">\r\n {{ item.interestRate }}\r\n
    \r\n
    \r\n N/A\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    ","import { Router } from \"@angular/router\";\r\nimport { Component, OnInit, Input, Output, EventEmitter, ViewChild, TemplateRef, AfterViewInit } from \"@angular/core\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { DepositInterestService } from \"src/app/deposit-interest/service/deposit-interest.service\";\r\nimport { IDepositInterestPlan } from \"src/app/core/models/deposit-interest/deposit-interest\";\r\nimport { USER_COUNTRY_CODE, USER_INTEREST_MODE, USER_TYPE } from \"src/app/app.constants\";\r\nimport { IUserPlan } from \"src/app/core/models/user-plan/user-detail\";\r\nimport { MDBModalService } from \"ng-uikit-pro-standard\";\r\nimport { ActivityService } from \"src/app/activity/services/activity.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-balance-box\",\r\n templateUrl: \"./balance-box.component.html\",\r\n styleUrls: [\"./balance-box.component.scss\"],\r\n})\r\nexport class BalanceBoxComponent implements OnInit {\r\n\r\n /** Currency type */\r\n @Input() allCurrencyInfo;\r\n diamondPlan: IUserPlan;\r\n rate: number;\r\n allCurrenciesPlan: IUserPlan[] = [];\r\n rateType: string = sessionStorage.getItem(USER_INTEREST_MODE);\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n currencyDepositRate: number[] = [];\r\n maxInterestModeRate: number[] = [];\r\n currencyDepositRateLessThanEqual365: number[] = [];\r\n currencyDepositRateGreaterThan365: number[] = [];\r\n @Output() emitCurrency = new EventEmitter();\r\n lockedInfo;\r\n selectedCurrency;\r\n constructor(private router: Router, private modalService: ModalService, private mdbModalService: MDBModalService\r\n ,private userService: UserService, private depositService: DepositInterestService,\r\n private activityService: ActivityService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n goToAccount() {\r\n this.router.navigateByUrl(`/wallet?c=${this.allCurrencyInfo.currencyType}#${this.allCurrencyInfo.currencyType}`);\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n openEarnPlan(): void {\r\n if (this.allCurrencyInfo.currencyType === 'CAS') {\r\n this.router.navigateByUrl(`deposit-interest?c=${this.allCurrencyInfo.currencyType}`);\r\n } else {\r\n this.modalService.openEarnPlanDetailPopup(this.allCurrencyInfo.loyaltyPlanName, this.allCurrencyInfo.upgradeTo, this.allCurrencyInfo.available, this.allCurrencyInfo.currencyId, this.allCurrencyInfo.currencyType, this.allCurrencyInfo.fLexTerm,\r\n this.allCurrencyInfo.fixedTerm, this.allCurrencyInfo.earnUpTo, this.allCurrencyInfo.longEarnUpTo, this.allCurrencyInfo.minFlexAmount, this.allCurrencyInfo.isFlexSubscribed, this.allCurrencyInfo.casBonus);\r\n }\r\n\r\n }\r\n\r\n isEarnAndFixedDepositActive(): boolean {\r\n return sessionStorage.getItem(USER_COUNTRY_CODE) !== 'US';\r\n }\r\n\r\n isFixedDepositEnable(): boolean {\r\n // sessionStorage.getItem(USER_TYPE) !== '4' || this.currency === 'CAS'\r\n return this.allCurrencyInfo.currencyType === 'CAS';\r\n }\r\n\r\n isFixedDepositAndEarnEnable(): boolean {\r\n // return sessionStorage.getItem(USER_TYPE) === '4' && this.currency !== 'CAS'\r\n // const userType = sessionStorage.getItem(USER_TYPE);\r\n return (this.userType === '4' || this.userType === '5' || this.userType === '6') && this.allCurrencyInfo.currencyType !== 'CAS';\r\n }\r\n\r\n // isEarnModuleNotActive(): boolean {\r\n // // return sessionStorage.getItem(USER_TYPE) === '4' && this.currency === 'DOG';\r\n // }\r\n\r\n isHide(): boolean {\r\n if (this.rate && this.rate > 0) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n selectCurrency(event) {\r\n const data = {\r\n currency: this.allCurrencyInfo.currencyType,\r\n isSelected: event.checked\r\n }\r\n this.emitCurrency.emit(data);\r\n }\r\n openBorrowFlow() {\r\n this.router.navigateByUrl(`credit-line?c=${this.allCurrencyInfo.currencyType}`);\r\n }\r\n\r\n open() {\r\n this.activityService.getLockedAmountByCurrency(this.allCurrencyInfo.currencyId).subscribe(res => {\r\n this.lockedInfo = res;\r\n })\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n

    \r\n {{ allCurrencyInfo.currencyType }}  {{allCurrencyInfo.onhold}}\r\n

    \r\n \r\n

    \r\n DOGE  {{allCurrencyInfo.onhold}}\r\n

    \r\n

    \r\n USD  {{allCurrencyInfo.onhold}}\r\n

    \r\n
    \r\n \r\n

    Available balance

    \r\n
    \r\n {{ allCurrencyInfo.available | number: \"0.0-2\" }} {{ getCurrencyName(allCurrencyInfo.currencyType) }}\r\n
    \r\n \r\n
    \r\n {{ allCurrencyInfo.available | number: \"0.0-4\" }} {{ getCurrencyName(allCurrencyInfo.currencyType) }}\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    Total Locked
    \r\n
    FD Locked
    \r\n  ${{lockedInfo?.totalFdLocked}}\r\n
    0\">Credit
    \r\n 0\" class=\"text-hold fa fa-lock\"> ${{lockedInfo.totalCreditLocked}}\r\n
    0\">Rolling Reserve
    \r\n 0\" class=\"text-hold fa fa-lock\"> ${{lockedInfo.totalRollingReserve}}\r\n
    0\">Accumulated Rolling Reserve
    \r\n 0\" class=\"text-hold fa fa-lock\"> ${{lockedInfo.totalStackedRollingReserve}}\r\n
    \r\n
    \r\n\r\n\r\n","import { Component, OnInit, } from '@angular/core';\r\nimport { MDBModalRef } from 'ng-uikit-pro-standard';\r\nimport { CommonSavedData } from '../../services/commonSavedData.service';\r\n\r\n@Component({\r\n selector: 'cashaa-confirmation-box',\r\n templateUrl: './confirmation-box.component.html',\r\n styleUrls: ['./confirmation-box.component.scss']\r\n})\r\nexport class ConfirmationBoxComponent implements OnInit {\r\n mesg: string;\r\n constructor(public modalRef: MDBModalRef, private commonSavedData: CommonSavedData) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onClick(status: boolean): void {\r\n this.modalRef.hide();\r\n this.commonSavedData.emitConfirmationBoxStatus(status);\r\n } \r\n}\r\n","
    \r\n \r\n

    Confirmation

    \r\n
    \r\n
    \r\n
    \r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n OnChanges,\r\n} from \"@angular/core\";\r\nimport {\r\n CRYPTO_CURRENCY,\r\n CRYPTO_CURRENCY_NAMES,\r\n WALLET_CURRENCY,\r\n} from \"src/app/app.constants\";\r\nimport { RateWebsocketService } from \"src/app/core/services/rate-websocket/rate-websocket.service\";\r\nimport { Subscription, Subject } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"cashaa-currency-box\",\r\n templateUrl: \"./currency-box.component.html\",\r\n styleUrls: [\"./currency-box.component.scss\"],\r\n})\r\nexport class CurrencyBoxComponent implements OnInit, OnChanges, OnDestroy {\r\n /** currency to show */\r\n @Input() currency = CRYPTO_CURRENCY.CAS;\r\n\r\n /** Convert currency to */\r\n @Input() convert = WALLET_CURRENCY.GBP;\r\n\r\n /** if current box is selected */\r\n @Input() selected = false;\r\n\r\n /** reset data */\r\n @Input() reset: Subject;\r\n\r\n /** on element clicked */\r\n @Output() clicked: EventEmitter = new EventEmitter();\r\n\r\n /** Currency full name */\r\n currencyName = \"\";\r\n\r\n /** current rate */\r\n currentRate = 0;\r\n\r\n /** market data subscription */\r\n sub$: Subscription;\r\n\r\n /** reset subscription */\r\n subReset$: Subscription;\r\n\r\n constructor(\r\n private rateWebsocketService: RateWebsocketService,\r\n private cd: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n //this.listenToMarketData();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.currencyName = CRYPTO_CURRENCY_NAMES[this.currency];\r\n this.listenToResetData();\r\n }\r\n\r\n /**\r\n * Listen to reset data\r\n */\r\n listenToResetData(): void {\r\n if (this.reset && !this.subReset$) {\r\n this.subReset$ = this.reset.subscribe(() => {\r\n this.currentRate = 0;\r\n\r\n // re subscribe to market data\r\n if (this.sub$) {\r\n this.sub$.unsubscribe();\r\n this.listenToMarketData();\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Listen to market data change\r\n */\r\n listenToMarketData(): void {\r\n this.sub$ = this.rateWebsocketService\r\n .getMarketDataEmitter()\r\n .subscribe((data) => {\r\n const found = data.filter(\r\n (rate) =>\r\n rate.side === 1 &&\r\n rate.From === this.convert &&\r\n rate.To === this.currency\r\n );\r\n if (found.length > 0) {\r\n this.currentRate = found[0].Rate;\r\n this.cd.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * On selection of currency\r\n */\r\n onCurrencySelect(): void {\r\n this.clicked.emit(this.currency);\r\n }\r\n\r\n /**\r\n * On destroy life cycle\r\n */\r\n ngOnDestroy(): void {\r\n if (this.sub$) {\r\n this.sub$.unsubscribe();\r\n }\r\n if (this.subReset$) {\r\n this.subReset$.unsubscribe();\r\n }\r\n }\r\n}\r\n","\r\n \r\n

    {{ currencyName }}

    \r\n

    \r\n {{ currentRate | number: \"0.0-4\" }} {{ convert }}\r\n

    \r\n\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MDBModalRef } from 'ng-uikit-pro-standard';\r\nimport { CommonSavedData } from '../../services/commonSavedData.service';\r\nimport { ConvertService } from 'src/app/convert/services/convert.service';\r\n\r\n@Component({\r\n selector: 'cashaa-currency-pairs',\r\n templateUrl: './currency-pairs.component.html',\r\n styleUrls: ['./currency-pairs.component.scss']\r\n})\r\nexport class CurrencyPairsComponent implements OnInit {\r\n\r\n info: string;\r\n imgSrc;\r\n currencyInfo;\r\n merchantRecognitionId;\r\n appId;\r\n selectedPairs;\r\n srcUrl;\r\n hideMainPage = false;\r\n selIndex;\r\n onRampPairedCurrencyInfo = [];\r\n isLoader = false;\r\n constructor(public modalRef: MDBModalRef, private commonSavedData: CommonSavedData, private router: Router,\r\n private convertService: ConvertService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getOnrampCurrencyPairs();\r\n }\r\n\r\n getOnrampCurrencyPairs() {\r\n this.isLoader = true;\r\n this.convertService.getNewOnRampPairList(this.currencyInfo.currencyId).subscribe(res => {\r\n this.onRampPairedCurrencyInfo = res;\r\n this.isLoader = false;\r\n this.getMerchantRecognitionId();\r\n }, error => {\r\n this.isLoader = false;\r\n })\r\n }\r\n\r\n getMerchantRecognitionId() {\r\n this.convertService.getMerchantRecognitionId().subscribe(res => {\r\n this.merchantRecognitionId = res.merchantRecognitionId;\r\n this.appId = res.appId;\r\n })\r\n }\r\n\r\n onSelectCurrency(selectedPair, i) {\r\n this.selIndex = i;\r\n this.hideMainPage = true;\r\n if (this.merchantRecognitionId && selectedPair.addressTag) {\r\n this.srcUrl = `https://onramp.money/main/buy?appId=${this.appId}&fiatType=${selectedPair.fiatType}&coinCode=${selectedPair.coinCode}&network=${selectedPair.network}&walletAddress=${selectedPair.walletAddress}&merchantRecognitionId=${this.merchantRecognitionId}&addressTag=${selectedPair.addressTag}`\r\n } else {\r\n this.srcUrl = `https://onramp.money/main/buy?appId=${this.appId}&fiatType=${selectedPair.fiatType}&coinCode=${selectedPair.coinCode}&network=${selectedPair.network}&walletAddress=${selectedPair.walletAddress}&merchantRecognitionId=${this.merchantRecognitionId}`\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n
    Trade
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n \"\"\r\n
    \r\n
    \r\n {{currInfo.fromSymbol}}\r\n
    \r\n
    \r\n {{currInfo.fromCurrencyName}}\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \"\" \r\n
    \r\n\r\n \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n {{currInfo.toSymbol}}\r\n
    \r\n
    \r\n {{currInfo.toCurrencyName}}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    ","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnChanges,\r\n ChangeDetectorRef,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { pairwise } from \"rxjs/operators\";\r\nimport {\r\n CRYPTO_CURRENCY_MAX_VALUES,\r\n CRYPTO_CURRENCY_MIN_VALUES,\r\n} from \"src/app/app.constants\";\r\nimport { isNumber } from \"util\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-input-currency\",\r\n templateUrl: \"./form-input-currency.component.html\",\r\n styleUrls: [\"./form-input-currency.component.scss\"],\r\n})\r\nexport class FormInputCurrencyComponent implements OnInit, OnChanges {\r\n /** Placeholder for input */\r\n @Input() placeholder = \"\";\r\n\r\n /** Input currency */\r\n @Input() currency: string;\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n /** on value changed */\r\n @Output() changed = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.listenToValueChange();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.setLimits();\r\n }\r\n\r\n /**\r\n * Set currency limits\r\n */\r\n setLimits(): void {\r\n if (this.control) {\r\n this.control.clearValidators();\r\n const maxValue = CRYPTO_CURRENCY_MAX_VALUES[this.currency];\r\n const minValue = CRYPTO_CURRENCY_MIN_VALUES[this.currency];\r\n\r\n this.control.setValidators([\r\n Validators.min(minValue),\r\n Validators.max(maxValue),\r\n ]);\r\n\r\n this.control.updateValueAndValidity();\r\n }\r\n }\r\n\r\n /**\r\n * Listen to value change\r\n */\r\n listenToValueChange(): void {\r\n this.control.valueChanges\r\n .pipe(pairwise())\r\n .subscribe(([prev, next]: number[]) => {\r\n if (prev !== next) {\r\n const newValue = parseFloat((next || 0).toFixed(2));\r\n this.control.setValue(newValue);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * On input\r\n */\r\n onInput(value: string): void {\r\n const newValue = parseFloat((parseFloat(value) || 0).toFixed(2));\r\n this.control.setValue(newValue);\r\n // emit new value\r\n this.changed.emit(newValue);\r\n }\r\n\r\n /**\r\n * Get Error message for controls\r\n */\r\n getErrorMessage(): string {\r\n for (const propertyName in this.control.errors) {\r\n if (this.control.errors.hasOwnProperty(propertyName)) {\r\n return ValidatorUtility.GetValidatorErrorMessage(\r\n propertyName,\r\n this.control.errors[propertyName]\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n\r\n {{\r\n getErrorMessage()\r\n }}\r\n\r\n
    \r\n {{ currency }}\r\n
    \r\n
    \r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-input-director-role\",\r\n templateUrl: \"./form-input-director-role.component.html\",\r\n styleUrls: [\"./form-input-director-role.component.scss\"],\r\n})\r\nexport class FormInputDirectorRoleComponent implements OnInit {\r\n /** Placeholder for input */\r\n @Input() source: string;\r\n\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Director Roles\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n @Input() label = \"\";\r\n\r\n /** form select values */\r\n options: IFormSelect[] = [];\r\n\r\n constructor(private domainService: DomainService) {}\r\n\r\n ngOnInit(): void {\r\n this.getDirectorRoleList();\r\n }\r\n\r\n /***Get list of available directors*/\r\n\r\n getDirectorRoleList(): void {\r\n this.domainService.getRoles().subscribe((list) => {\r\n this.options = list.directorRolesList.map((role) => {\r\n return {\r\n value: role.id,\r\n label: role.role,\r\n };\r\n });\r\n });\r\n }\r\n}\r\n","\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UploadFile, UploadInput, UploadOutput } from 'ng-uikit-pro-standard';\r\nimport { humanizeBytes } from 'ng-uikit-pro-standard';\r\nimport { FileUpload, IAPIEnumLoad, IFile } from 'src/app/core/models/Lerex/enum-load';\r\nimport { DomainService } from 'src/app/core/services/domain/domain.service';\r\nimport { KycService } from 'src/app/kyc/services/kyc.service';\r\n\r\n@Component({\r\n selector: 'cashaa-form-input-file',\r\n templateUrl: './form-input-file.component.html',\r\n styleUrls: ['./form-input-file.component.scss']\r\n})\r\nexport class FormInputFileComponent implements OnInit {\r\n\r\n formData: FormData;\r\n files: UploadFile[];\r\n uploadInput: EventEmitter;\r\n @Output() deleteFile: EventEmitter;\r\n\r\n humanizeBytes: Function;\r\n dragOver: boolean;\r\n @Input() fileUploadStatus = false;\r\n @Input() isFileUploadCompleted = false;\r\n @Input() isOperationCompleted = false;\r\n @Input() docType: IFile;\r\n @Input() isDeletedActive = false;\r\n @Output() status: EventEmitter;\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n constructor(private domainService: DomainService) {\r\n this.files = [];\r\n this.status = new EventEmitter();\r\n this.deleteFile = new EventEmitter();\r\n this.humanizeBytes = humanizeBytes;\r\n }\r\n\r\n showFiles() {\r\n let files = '';\r\n for (let i = 0; i < this.files.length; i ++) {\r\n files += this.files[i].name;\r\n if (!(this.files.length - 1 === i)) {\r\n files += ',';\r\n }\r\n }\r\n return files;\r\n }\r\n\r\n startUpload(): void {\r\n this.docType.file = this.files[0].nativeFile;\r\n this.docType.fileName = this.files[0].name;\r\n this.domainService.emitKycUploadFile(this.docType);\r\n this.status.emit(this.docType.docType);\r\n this.files = [];\r\n }\r\n\r\n cancelUpload(): void {\r\n this.files = [];\r\n }\r\n\r\n deleteFileEvent() {\r\n this.deleteFile.emit();\r\n \r\n }\r\n\r\n onUploadOutput(output: UploadOutput | any): void {\r\n if (output.type === 'allAddedToQueue') {\r\n } else if (output.type === 'addedToQueue') {\r\n // console.log(output.File.nativeFile);\r\n this.files.push(output.file); // add file to array when added\r\n } else if (output.type === 'uploading') {\r\n // update current data in files array for uploading file\r\n const index = this.files.findIndex(file => file.id === output.file.id);\r\n this.files[index] = output.file;\r\n } else if (output.type === 'removed') {\r\n // remove file from array when removed\r\n this.files = this.files.filter((file: UploadFile) => file !== output.file);\r\n } else if (output.type === 'dragOver') {\r\n this.dragOver = true;\r\n } else if (output.type === 'dragOut') {\r\n } else if (output.type === 'drop') {\r\n this.dragOver = false;\r\n }\r\n // console.log(this.showFiles());\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { ValidatorUtility } from \"./../../../core/utility/validator.utility\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n ViewChild,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { CONTROLS } from \"../../../app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-input-sortcode\",\r\n templateUrl: \"./form-input-sortcode.component.html\",\r\n styleUrls: [\"./form-input-sortcode.component.scss\"],\r\n})\r\nexport class FormInputSortcodeComponent implements OnInit {\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n @Input() label = \"\";\r\n\r\n input1 = \"\";\r\n input2 = \"\";\r\n input3 = \"\";\r\n\r\n @Input() set initialValue(data) {\r\n if (data) {\r\n this.onCodePaste(null, data, true);\r\n }\r\n }\r\n\r\n @ViewChild(\"inputfirst\") inputFirst: ElementRef;\r\n\r\n @ViewChild(\"inputsecond\") inputSecond: ElementRef;\r\n\r\n @ViewChild(\"inputthird\") inputThird: ElementRef;\r\n\r\n /** Whether to show password in text */\r\n showPassword = false;\r\n\r\n /** is Password type */\r\n isPasswordType = false;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n /**\r\n * Get Error message for controls\r\n */\r\n getErrorMessage(): string {\r\n for (const propertyName in this.control.errors) {\r\n if (\r\n this.control.errors.hasOwnProperty(propertyName) &&\r\n this.control.touched\r\n ) {\r\n return ValidatorUtility.GetValidatorErrorMessage(\r\n propertyName,\r\n this.control.errors[propertyName]\r\n );\r\n }\r\n }\r\n }\r\n\r\n onInputChange(idx: number): void {\r\n if (idx === 1 && this.input1 && this.input1.toString().length === 2) {\r\n this.inputSecond.nativeElement.focus();\r\n } else if (\r\n idx === 2 &&\r\n this.input2 &&\r\n this.input2.toString().length === 2\r\n ) {\r\n this.inputThird.nativeElement.focus();\r\n }\r\n const fullValue = `${this.input1}${this.input2}${this.input3}`;\r\n this.control.setValue(fullValue);\r\n }\r\n\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onCodePaste(event: ClipboardEvent, text?: string, isEdit?: boolean): void {\r\n let pastedText = \"\";\r\n if (isEdit) {\r\n pastedText = text;\r\n } else {\r\n const clipboardData =\r\n event.clipboardData || (window as any).clipboardData;\r\n pastedText = clipboardData.getData(\"text\");\r\n }\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.input1 = pastedText.slice(0, 2);\r\n this.input2 = pastedText.slice(2, 4);\r\n this.input3 = pastedText.slice(4, 6);\r\n const fullValue = `${this.input1 || \"\"}${this.input2 || \"\"}${\r\n this.input3 || \"\"\r\n }`;\r\n if (!isEdit) {\r\n this.control.setValue(fullValue);\r\n }\r\n }\r\n event?.preventDefault();\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n {{\r\n getErrorMessage()\r\n }}\r\n
    ","import { Component, OnInit, Input, OnChanges } from \"@angular/core\";\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { CONTROLS } from \"../../../app.constants\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { DecimalPipe } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-input\",\r\n templateUrl: \"./form-input.component.html\",\r\n styleUrls: [\"./form-input.component.scss\"],\r\n})\r\nexport class FormInputComponent implements OnInit {\r\n /** type of input field */\r\n @Input() type = CONTROLS.TEXT;\r\n\r\n /** Placeholder for input */\r\n @Input() placeholder = \"\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** input form group */\r\n @Input() transformNumber: boolean;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n /** show eye or not */\r\n @Input() eye = true;\r\n\r\n @Input() label = \"\";\r\n\r\n @Input() isFile = false;\r\n\r\n @Input() id;\r\n\r\n @Input() onlyValue = false;\r\n\r\n @Input() pattern: string = \"\";\r\n\r\n @Input() maxLength: string = \"\";\r\n\r\n @Input() isRequired: boolean;\r\n\r\n @Input() isBrokerFile: boolean;\r\n\r\n @Input() isSetting: boolean;\r\n\r\n @Input() infoMesg: string;\r\n\r\n email: boolean = false;\r\n\r\n emailFocus: boolean;\r\n\r\n isEmailError: boolean;\r\n\r\n /** Whether to show password in text */\r\n showPassword = false;\r\n\r\n /** is Password type */\r\n isPasswordType = false;\r\n\r\n validKeyCodes = [\r\n 48,\r\n 49,\r\n 50,\r\n 51,\r\n 52,\r\n 53,\r\n 54,\r\n 55,\r\n 56,\r\n 57,\r\n 8,\r\n 46,\r\n 96,\r\n 97,\r\n 98,\r\n 99,\r\n 100,\r\n 101,\r\n 102,\r\n 103,\r\n 104,\r\n 105,\r\n 110,\r\n 190,\r\n ];\r\n\r\n constructor(private decimalNumber: DecimalPipe) {}\r\n\r\n ngOnInit(): void {\r\n if (this.type === CONTROLS.PASSWORD) {\r\n this.isPasswordType = true;\r\n }\r\n\r\n if (this.type === CONTROLS.EMAIL) {\r\n this.email = true;\r\n }\r\n }\r\n\r\n /**\r\n * Get Error message for controls\r\n */\r\n getErrorMessage(): string {\r\n for (const propertyName in this.control.errors) {\r\n if (\r\n this.control.errors.hasOwnProperty(propertyName) &&\r\n this.control?.invalid &&\r\n (this.control?.dirty || this.control?.touched)\r\n ) {\r\n return ValidatorUtility.GetValidatorErrorMessage(\r\n propertyName,\r\n this.control.errors[propertyName]\r\n );\r\n }\r\n }\r\n }\r\n\r\n getEmailErrorMesg(): string {\r\n if (this.email && this.emailFocus) {\r\n const val = ValidatorUtility.EmailValidator(this.control);\r\n if (val != null) {\r\n return \"Invalid email address\";\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Toggle password show in text\r\n */\r\n toggleShowPassword(): void {\r\n this.showPassword = !this.showPassword;\r\n }\r\n\r\n focusOut($event) {\r\n if (this.email) {\r\n this.emailFocus = true;\r\n const val = ValidatorUtility.EmailValidator(this.control);\r\n if (val != null) {\r\n this.isEmailError = true;\r\n }\r\n }\r\n }\r\n\r\n focusin() {\r\n if (this.email) {\r\n this.emailFocus = false;\r\n this.isEmailError = false;\r\n }\r\n }\r\n\r\n transformNumberKeyUp(event) {\r\n let keyCode = event.keyCode;\r\n if (this.transformNumber && this.validKeyCodes.indexOf(keyCode) >= 0) {\r\n if (\r\n event.keyCode !== 190 &&\r\n event.keyCode !== 110 &&\r\n this.control.value\r\n ) {\r\n let decimalPoint =\r\n \"0.\" +\r\n (this.control.value.split(\".\")[1]\r\n ? this.control.value.split(\".\")[1].length\r\n : \"0\") +\r\n \"-4\";\r\n this.control.setValue(\r\n this.decimalNumber.transform(\r\n this.control.value.replaceAll(\",\", \"\"),\r\n decimalPoint\r\n )\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n 50\r\n }\" [placeholder]=\"placeholder\" (focusout)=\"focusOut($event)\" (focus)=\"focusin()\"\r\n (keyup)=\"transformNumberKeyUp($event)\" accept=\"application/pdf,image/x-png,image/jpeg\" />\r\n\r\n \r\n

    \r\n {{ control?.value }}\r\n

    \r\n \r\n {{ (email && emailFocus && isEmailError) ? getEmailErrorMesg() : getErrorMessage() }}\r\n \r\n\r\n \r\n
    ","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { UserType } from \"src/app/core/enums/userType\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-accounttype\",\r\n templateUrl: \"./form-select-accounttype.component.html\",\r\n styleUrls: [\"./form-select-accounttype.component.scss\"],\r\n})\r\nexport class FormSelectAccounttypeComponent implements OnInit {\r\n /** Placeholder for input */\r\n //personalplan,businessplan,all\r\n @Input() source: string;\r\n\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Country of residence\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n @Input() label = \"\";\r\n\r\n /** form select values */\r\n options: IFormSelect[] = [];\r\n\r\n constructor(private domainService: DomainService) {}\r\n\r\n ngOnInit(): void {\r\n this.getAccountList();\r\n }\r\n\r\n /**\r\n * Get list of available subsciption\r\n */\r\n getAccountList(): void {\r\n const userType =\r\n this.source === \"personalplan\"\r\n ? UserType.Personal\r\n : this.source === \"businessplan\"\r\n ? UserType.Business\r\n : UserType.Admin;\r\n\r\n this.domainService.getSubscription(userType).subscribe((list) => {\r\n this.options = list.subscriptionPlans.map((subscription) => {\r\n return {\r\n value: subscription.id,\r\n label: subscription.name,\r\n };\r\n });\r\n this.addOtherOption();\r\n });\r\n }\r\n\r\n /**\r\n * Add other options in the list\r\n */\r\n addOtherOption(): void {\r\n this.options.push({\r\n value: \"-1\",\r\n label: \"Other\",\r\n });\r\n }\r\n}\r\n","\r\n\r\n","import { Component, OnInit, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { USER_EMAIL_PATH } from \"src/app/app.constants\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-activity-type-filter\",\r\n templateUrl: \"./form-select-activity-type-filter.component.html\",\r\n styleUrls: [\"./form-select-activity-type-filter.component.scss\"],\r\n})\r\nexport class FormSelectActivityTypeFilterComponent implements OnInit {\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Activity type\";\r\n\r\n @Input() label = \"\";\r\n\r\n @Output() changed = new EventEmitter();\r\n\r\n public options: IFormSelect[] = [\r\n {\r\n label: \"All\",\r\n value: \"0\",\r\n },\r\n {\r\n label: \"Deposited\",\r\n value: \"1\",\r\n },\r\n {\r\n label: \"Sent\",\r\n value: \"8\",\r\n },\r\n {\r\n label: \"Exchanged\",\r\n value: \"9\",\r\n },\r\n {\r\n label: \"Fixed Deposit\",\r\n value: \"23\",\r\n },\r\n {\r\n label: \"Interest Earned\",\r\n value: \"25\",\r\n },\r\n\r\n {\r\n label: \"Fees\",\r\n value: \"22\",\r\n },\r\n {\r\n label: \"Credit Availed\",\r\n value: \"26\",\r\n },\r\n {\r\n label: \"Credit Repayments\",\r\n value: \"27\",\r\n },\r\n {\r\n label: \"Collateral Locked\",\r\n value: \"29\",\r\n },\r\n {\r\n label: \"Collateral Released\",\r\n value: \"31\",\r\n },\r\n {\r\n label: \"Credit Interest Debited\",\r\n value: \"30\",\r\n }\r\n\r\n ];\r\n\r\n /** selected fee */\r\n selectedOption: IFormSelect;\r\n\r\n isDropdownOpened = false;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n const email = sessionStorage.getItem(USER_EMAIL_PATH);\r\n if(email === environment.SPECIAL_EMAIL_FOR_ROLLING[0] || email === environment.SPECIAL_EMAIL_FOR_ROLLING[1]) {\r\n this.options.push({\r\n label: \"Rolling Reserve\",\r\n value: \"32\",\r\n }, {\r\n label: \"Accumulated Rolling Reserve\",\r\n value: \"33\",\r\n })\r\n }\r\n }\r\n\r\n onValueChange(value: IFormSelect): void {\r\n this.selectedOption = value;\r\n this.changed.emit(value);\r\n }\r\n}\r\n","\r\n\r\n\r\n
    \r\n
    \r\n \r\n
    {{ option?.label }}
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport {\r\n CURRENCY_TYPE,\r\n TRADE_MODE,\r\n CRYPTO_CURRENCY,\r\n WALLET_CURRENCY,\r\n} from \"src/app/app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-balance\",\r\n templateUrl: \"./form-select-balance.component.html\",\r\n styleUrls: [\"./form-select-balance.component.scss\"],\r\n})\r\nexport class FormSelectBalanceComponent implements OnInit {\r\n /** Currency type */\r\n @Input() type = CURRENCY_TYPE.CRYPTO;\r\n\r\n /** Trade mode to use */\r\n @Input() mode = TRADE_MODE.SELL;\r\n\r\n /** output emitter */\r\n @Output() changed = new EventEmitter();\r\n\r\n /** selected currency from dropdown */\r\n selectedBalance: IUserBalance;\r\n\r\n /** All currencies to show in dropdown */\r\n balances: IUserBalance[] = [];\r\n\r\n /** All currencies */\r\n allBalances: IUserBalance[] = [];\r\n\r\n /** is dropdown opened */\r\n isDropdownOpened = false;\r\n\r\n /** is current device mobile */\r\n isMobile = window.matchMedia(\"(max-width: 575px)\").matches;\r\n\r\n constructor(private userService: UserService) {}\r\n\r\n ngOnInit(): void {\r\n this.userService.getUserBalance().subscribe((res) => {\r\n this.allBalances = this.filterBalance(res);\r\n this.selectedBalance = this.allBalances[0];\r\n this.changed.emit(this.selectedBalance);\r\n this.balances = this.filterOutSelectedBalance(this.allBalances);\r\n });\r\n }\r\n\r\n /**\r\n * Filter balance accroding to given\r\n * type\r\n */\r\n filterBalance(input: IUserBalance[]): IUserBalance[] {\r\n return input.filter((balance) => {\r\n if (this.type === CURRENCY_TYPE.WALLET) {\r\n return Object.keys(WALLET_CURRENCY).includes(balance.currencyType);\r\n } else if (this.type === CURRENCY_TYPE.CRYPTO) {\r\n return Object.keys(CRYPTO_CURRENCY).includes(balance.currencyType);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Filter out the selected balance\r\n * @param input input balance\r\n */\r\n filterOutSelectedBalance(input: IUserBalance[]): IUserBalance[] {\r\n return input.filter(\r\n (balance) => balance.currencyType !== this.selectedBalance.currencyType\r\n );\r\n }\r\n\r\n /**\r\n * On another balance selected\r\n */\r\n onBalanceSelected(balance: IUserBalance): void {\r\n this.selectedBalance = balance;\r\n this.isDropdownOpened = false;\r\n this.balances = this.filterOutSelectedBalance(this.allBalances);\r\n this.changed.emit(this.selectedBalance);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n Pay with {{ balance?.currencyType }} Wallet\r\n \r\n Receive in {{ balance?.currencyType }} Wallet\r\n \r\n {{\r\n balance?.currencyType\r\n }}\r\n
    \r\n
    {{ balance?.available }} {{ balance?.currencyType }}
    \r\n
    \r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { IBusinessCategory } from \"src/app/core/models/business-category\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-business-category\",\r\n templateUrl: \"./form-select-business-category.component.html\",\r\n styleUrls: [\"./form-select-business-category.component.scss\"],\r\n})\r\nexport class FormSelectBusinessCategoryComponent implements OnInit {\r\n /** Placeholder for input */\r\n @Input() source: string;\r\n\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Business Category\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n @Input() label = \"\";\r\n\r\n @Output() changed = new EventEmitter();\r\n\r\n /** form select values */\r\n options: IFormSelect[] = [];\r\n\r\n /** selected currency from dropdown */\r\n selectedCategory: IBusinessCategory;\r\n\r\n constructor(private domainService: DomainService) {}\r\n\r\n ngOnInit(): void {\r\n this.getBusinessCategoryList();\r\n }\r\n\r\n /***Get list of available directors*/\r\n\r\n getBusinessCategoryList(): void {\r\n this.domainService.getBusinessCategoryList().subscribe((list) => {\r\n this.options = list.map((category) => {\r\n return {\r\n value: category.id,\r\n label: category.name,\r\n };\r\n });\r\n });\r\n }\r\n\r\n onValueChange(newValue: IFormSelect): void {\r\n this.changed.emit(newValue.value);\r\n }\r\n}\r\n","\r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { ICountry } from \"src/app/core/models/country\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { Subject, Observable } from \"rxjs\";\r\nimport { startWith, map } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-country\",\r\n templateUrl: \"./form-select-country.component.html\",\r\n styleUrls: [\"./form-select-country.component.scss\"],\r\n})\r\nexport class FormSelectCountryComponent implements OnInit {\r\n /** Placeholder for input */\r\n @Input() placeholder;\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n @Input() label = \"\";\r\n\r\n @Input() onlyValue = false;\r\n\r\n @Input() isRequired = false;\r\n\r\n @Input() set initialValue(data) {\r\n if (data) {\r\n this.initValFlag = true;\r\n this.getCountriesList(data);\r\n }\r\n }\r\n\r\n initValFlag: boolean = false;\r\n\r\n @Output() changed = new EventEmitter();\r\n\r\n countries: ICountry[] = [];\r\n\r\n /** form select values */\r\n options: IFormSelect[] = [];\r\n\r\n searchText = new Subject();\r\n\r\n filteredOptions: Observable;\r\n\r\n constructor(private domainService: DomainService) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.initValFlag) {\r\n this.getCountriesList();\r\n } else {\r\n this.initValFlag = false;\r\n }\r\n }\r\n\r\n filter(value: string): any[] {\r\n const filterValue = value.toLowerCase();\r\n return this.options.filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n /**\r\n * Get list of available countries\r\n */\r\n getCountriesList(setInitialValue?): void {\r\n this.domainService.getCountriesList().subscribe((list) => {\r\n this.countries = list.countries;\r\n this.options = list.countries.map((country) => {\r\n return {\r\n value: country.id,\r\n label: country.name,\r\n };\r\n });\r\n this.addOtherOption();\r\n\r\n this.filteredOptions = this.searchText.pipe(\r\n startWith(\"\"),\r\n map((value: string) => {\r\n return this.filter(value);\r\n })\r\n );\r\n\r\n if (setInitialValue) {\r\n const cur = this.options.filter((c) => c.value === setInitialValue);\r\n\r\n setTimeout(() => {\r\n if (this.options.length > 0 && cur[0]) {\r\n this.form.controls[this.name].patchValue(cur[0], {\r\n emitEvent: false,\r\n });\r\n this.control.setValue(cur[0]);\r\n this.onCountryChange(cur[0]);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n getCountriesCode(): void {\r\n this.domainService.getCountriesList().subscribe((list) => {\r\n this.options = list.countries.map((country) => {\r\n return {\r\n value: country.countryCode,\r\n label: `${country.countryCode}(${country.phoneCode})`,\r\n };\r\n });\r\n this.addOtherOption();\r\n });\r\n }\r\n\r\n /**\r\n * Add other options in the list\r\n */\r\n addOtherOption(): void {\r\n this.options.push({\r\n value: \"-1\",\r\n label: \"Other\",\r\n });\r\n }\r\n\r\n onCountryChange(value: IFormSelect): void {\r\n const cur = this.options.filter((c) => c.value === value.value);\r\n const country = this.countries.filter((c) => c.id === value.value);\r\n if (cur.length > 0) {\r\n this.changed.emit({ option: cur[0], country: country[0] });\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n {{ option.label }}\r\n \r\n \r\n
    ","import { Component, OnInit, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { ICurrency } from \"src/app/core/models/currency\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { CurrencyType } from \"src/app/core/enums/currencyType\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { startWith, map } from \"rxjs/operators\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-currency-pair\",\r\n templateUrl: \"./form-select-currency-pair.component.html\",\r\n styleUrls: [\"./form-select-currency-pair.component.scss\"],\r\n})\r\nexport class FormSelectCurrencyPairComponent implements OnInit {\r\n /** Placeholder for sourcetype fiatCurrency,cryptoCurrency,allCurrency */\r\n @Input() source: string;\r\n\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Select currency\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n /** Form select values */\r\n @Input() options: any[] = [];\r\n\r\n @Input() label = \"\";\r\n\r\n @Input() setCurrency;\r\n @Input() isFDActive;\r\n\r\n\r\n @Input() set initialValue(data) {\r\n if (data) {\r\n this.getCurrencyPairList(data);\r\n }\r\n }\r\n\r\n @Output() changed = new EventEmitter();\r\n\r\n currencies: ICurrency[] = [];\r\n\r\n searchText = new Subject();\r\n\r\n filteredOptions: Observable;\r\n\r\n optionIcon: string;\r\n// @Input() ('fromCurrencyId') set(val) {\r\n\r\n// }\r\n\r\n constructor(private domainService: DomainService, private activateRoute: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n this.setCurrency = params[\"cur\"];\r\n });\r\n }\r\n\r\n filter(value: string): any[] {\r\n const filterValue = value.toLowerCase();\r\n return this.options.filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n /**\r\n * Get Currency list\r\n */\r\n getCurrencyPairList(data?): void {\r\n this.domainService.getCurrencyPairListById(data).subscribe((list) => {\r\n this.options = list.map((currencies) => {\r\n if(currencies.toSymbol === 'DOG') {\r\n currencies.toSymbol = 'DOGE';\r\n }\r\n return {\r\n value: currencies.toCurrencyId,\r\n label: currencies.toSymbol,\r\n icon: `../../../../assets/icons/${currencies.toSymbol}.png`,\r\n symbol : currencies.toSymbol,\r\n currencyType: currencies.currencyType,\r\n };\r\n });\r\n this.options.push({\r\n value: list[0].currencyId,\r\n label: list[0].fromSymbol,\r\n icon: `../../../../assets/icons/${list[0].fromSymbol}.png`,\r\n symbol: list[0].fromSymbol,\r\n currencyType: list[0].currencyType\r\n })\r\n this.filteredOptions = this.searchText.pipe(\r\n startWith(\"\"),\r\n map((value: string) => {\r\n return this.filter(value);\r\n })\r\n );\r\n\r\n if (this.setCurrency || data) {\r\n let cur;\r\n if (this.setCurrency) {\r\n cur = this.options.filter((c) => c.label === this.setCurrency);\r\n } else {\r\n cur = this.options.filter((c) => c.value === data);\r\n }\r\n setTimeout(() => {\r\n if (this.options.length > 0) {\r\n this.form.controls[this.name].patchValue(cur[0], {\r\n emitEvent: false,\r\n });\r\n this.control.setValue(cur[0]);\r\n this.onCurrencyChange(cur[0]);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onCurrencyChange(value: IFormSelect): void {\r\n const cur = this.options.filter((c) => c.symbol === value.label);\r\n if (cur.length > 0) {\r\n this.changed.emit(cur[0]);\r\n }\r\n this.selectedImg(\r\n this.options.find((option: IFormSelect) => {\r\n return option.label === value.label;\r\n })\r\n );\r\n }\r\n\r\n selectedImg(v: IFormSelect) {\r\n if (v.icon) {\r\n this.optionIcon = v.icon;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {{option.label === \"DOG\"? \"DOGE\" : option.label }}\r\n
    \r\n {{ option.label }}\r\n
    \r\n
    \r\n
    \r\n ","import { ICurrency } from \"src/app/core/models/currency\";\r\nimport { Component, OnInit, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { CurrencyType } from \"src/app/core/enums/currencyType\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { startWith, map } from \"rxjs/operators\";\r\nimport { CommonSavedData } from \"../../services/commonSavedData.service\";\r\n@Component({\r\n selector: \"cashaa-form-select-currency-symbol\",\r\n templateUrl: \"./form-select-currency-symbol.component.html\",\r\n styleUrls: [\"./form-select-currency-symbol.component.scss\"],\r\n})\r\nexport class FormSelectCurrencySymbolComponent implements OnInit {\r\n /** Placeholder for sourcetype */\r\n // fiatCurrency,cryptoCurrency,allCurrency\r\n @Input() source: string;\r\n\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Select currency\";\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n @Input() set initialValue(data) {\r\n if (data) {\r\n this.getCurrencyList(data);\r\n }\r\n }\r\n\r\n /** Form select values */\r\n @Input() options: IFormSelect[] = [];\r\n\r\n @Output() changed = new EventEmitter();\r\n @Output() changeIsLoading = new EventEmitter();\r\n\r\n loading = false;\r\n\r\n searchText = new Subject();\r\n\r\n filteredOptions: Observable;\r\n\r\n currencies: ICurrency[] = [];\r\n\r\n optionIcon: string;\r\n\r\n constructor(\r\n private domainService: DomainService,\r\n private commonSavedData: CommonSavedData\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.getCurrencyList();\r\n }\r\n\r\n filter(value: string): any[] {\r\n const filterValue = value.toLowerCase();\r\n return this.options.filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n getCurrencyList(data?): void {\r\n this.loading = true;\r\n this.changeIsLoading.emit(true);\r\n const currencyType =\r\n this.source == \"allCurrency\"\r\n ? CurrencyType.all\r\n : this.source == \"fiatCurrency\"\r\n ? CurrencyType.Fiat\r\n : CurrencyType.Crypto;\r\n this.domainService.getCurrenciesList(currencyType).subscribe((list) => {\r\n this.currencies = list.currencies;\r\n this.commonSavedData.setCurrencies(list.currencies);\r\n this.loading = false;\r\n this.options = list.currencies.map((currencies) => {\r\n return {\r\n value: currencies.symbol,\r\n label: currencies.symbol,\r\n icon: `../../../../assets/icons/${currencies.symbol}.png`,\r\n };\r\n });\r\n\r\n this.filteredOptions = this.searchText.pipe(\r\n startWith(\"\"),\r\n map((value: string) => {\r\n return this.filter(value);\r\n })\r\n );\r\n\r\n if (data) {\r\n let index;\r\n index = this.options.findIndex((c) => c.value === data);\r\n setTimeout(() => {\r\n if (this.options.length > 0) {\r\n this.control.setValue(this.options[index]);\r\n this.onCurrencyChange(this.options[index]);\r\n }\r\n });\r\n } else {\r\n setTimeout(() => {\r\n if (this.options.length > 0) {\r\n this.control.setValue(this.options[0]);\r\n this.onCurrencyChange(this.options[0]);\r\n }\r\n });\r\n }\r\n this.changeIsLoading.emit(false);\r\n });\r\n }\r\n\r\n onCurrencyChange(newValue: IFormSelect): void {\r\n const list = this.options.filter((c) => c.label === newValue.label);\r\n if (list.length > 0) {\r\n this.changed.emit(list[0]);\r\n }\r\n this.selectedImg(\r\n this.options.find((option: IFormSelect) => {\r\n return option.value === newValue.value;\r\n })\r\n );\r\n }\r\n\r\n selectedImg(v: IFormSelect) {\r\n if (v.icon) {\r\n this.optionIcon = v.icon;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {{ option.label }}\r\n
    \r\n {{ option.label }}\r\n
    \r\n
    \r\n
    \r\n","import { ICurrency } from \"src/app/core/models/currency\";\r\nimport { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { CurrencyType } from \"src/app/core/enums/currencyType\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { startWith, map } from \"rxjs/operators\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n@Component({\r\n selector: \"cashaa-form-select-currency\",\r\n templateUrl: \"./form-select-currency.component.html\",\r\n styleUrls: [\"./form-select-currency.component.scss\"],\r\n})\r\nexport class FormSelectCurrencyComponent implements OnInit {\r\n /** Placeholder for sourcetype fiatCurrency,cryptoCurrency,allCurrency */\r\n @Input() source: string;\r\n\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Select currency\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n /** Form select values */\r\n @Input() options: any[] = [];\r\n\r\n @Input() label = \"\";\r\n\r\n @Input() setCurrency;\r\n @Input() isFDActive;\r\n\r\n @Input() set initialValue(data) {\r\n if (data) {\r\n this.getCurrencyList(data);\r\n }\r\n }\r\n\r\n @Output() changed = new EventEmitter();\r\n\r\n currencies: ICurrency[] = [];\r\n\r\n searchText = new Subject();\r\n\r\n filteredOptions: Observable;\r\n\r\n optionIcon: string;\r\n\r\n constructor(private domainService: DomainService, private activateRoute: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {\r\n this.getCurrencyList();\r\n this.activateRoute.queryParams.subscribe((params) => {\r\n this.setCurrency = params[\"cur\"];\r\n });\r\n }\r\n\r\n filter(value: string): any[] {\r\n const filterValue = value.toLowerCase();\r\n return this.options.filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n /**\r\n * Get Currency list\r\n */\r\n getCurrencyList(data?): void {\r\n const currencyType =\r\n this.source === \"allCurrency\"\r\n ? CurrencyType.all\r\n : this.source === \"fiatCurrency\"\r\n ? CurrencyType.Fiat\r\n : CurrencyType.Crypto;\r\n\r\n this.domainService.getCurrenciesList(currencyType).subscribe((list) => {\r\n if(this.isFDActive) {\r\n list.currencies = list.currencies.filter(item => item.isFDActive === true );\r\n }\r\n this.currencies = list.currencies;\r\n if (currencyType === CurrencyType.Fiat) {\r\n this.domainService.emitFiatCurrency(this.currencies);\r\n }\r\n this.options = list.currencies.map((currencies) => {\r\n return {\r\n value: currencies.id,\r\n label: currencies.symbol,\r\n icon: `../../../../assets/icons/${currencies.symbol}.png`,\r\n symbol : currencies.symbol\r\n };\r\n });\r\n\r\n this.filteredOptions = this.searchText.pipe(\r\n startWith(\"\"),\r\n map((value: string) => {\r\n return this.filter(value);\r\n })\r\n );\r\n if (this.setCurrency || data) {\r\n let cur;\r\n if (this.setCurrency) {\r\n cur = this.options.filter((c) => c.label === this.setCurrency);\r\n } else {\r\n cur = this.options.filter((c) => c.value === data);\r\n }\r\n setTimeout(() => {\r\n if (this.options.length > 0) {\r\n this.form.controls[this.name].patchValue(cur[0], {\r\n emitEvent: false,\r\n });\r\n this.control.setValue(cur[0]);\r\n this.onCurrencyChange(cur[0]);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onCurrencyChange(value: IFormSelect): void {\r\n const cur = this.options.filter((c) => c.value === value.value);\r\n if (cur.length > 0) {\r\n this.changed.emit(cur[0]);\r\n }\r\n this.selectedImg(\r\n this.options.find((option: IFormSelect) => {\r\n return option.value === value.value;\r\n })\r\n );\r\n }\r\n\r\n selectedImg(v: IFormSelect) {\r\n if (v.icon) {\r\n this.optionIcon = v.icon;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {{option.label === \"DOG\"? \"DOGE\" : option.label }}\r\n
    \r\n {{ option.label }}\r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-filter\",\r\n templateUrl: \"./form-select-filter.component.html\",\r\n styleUrls: [\"./form-select-filter.component.scss\"],\r\n})\r\nexport class FormSelectFilterComponent implements OnInit {\r\n /** Placeholder for input */\r\n @Input() placeholder = \"\";\r\n\r\n @Input() label = \"\";\r\n\r\n @Output() changed = new EventEmitter();\r\n\r\n @Input() options: IFormSelect[] = [];\r\n\r\n /** selected fee */\r\n selectedOption: IFormSelect;\r\n\r\n isDropdownOpened = false;\r\n @Input() optionImg: boolean;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onValueChange(value: IFormSelect): void {\r\n this.selectedOption = value;\r\n this.changed.emit(value);\r\n }\r\n}\r\n","\r\n\r\n\r\n
    \r\n
    \r\n \r\n
    {{ option?.label }}
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit, Input, Output } from '@angular/core';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { EventEmitter } from 'protractor';\r\nimport { IFormSelect } from 'src/app/core/models/form-select';\r\nimport { DomainService } from 'src/app/core/services/domain/domain.service';\r\nimport { IHelpdeskCategory } from \"src/app/core/models/helpdesk-category\";\r\n\r\n@Component({\r\n selector: 'cashaa-form-select-helpdesk-category',\r\n templateUrl: './form-select-helpdesk-category.component.html',\r\n styleUrls: ['./form-select-helpdesk-category.component.scss']\r\n})\r\nexport class FormSelectHelpdeskCategoryComponent implements OnInit {\r\n\r\n /** Placeholder for input */\r\n @Input() source: string;\r\n\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Helpdesk Category\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n @Input() label = \"\";\r\n\r\n // @Output() changed = new EventEmitter();\r\n\r\n /** form select values */\r\n options: IFormSelect[] = [];\r\n\r\n /** selected currency from dropdown */\r\n selectedCategory: IHelpdeskCategory;\r\n\r\n constructor(private domainService: DomainService) { }\r\n\r\n ngOnInit(): void {\r\n this.getHelpdeskCategoryList();\r\n }\r\n\r\n getHelpdeskCategoryList(): void {\r\n this.domainService.getHelpdeskCategoryList().subscribe((list) => {\r\n \r\n this.options = list.map((category) => {\r\n return {\r\n value: category.id,\r\n label: category.categoryName,\r\n };\r\n });\r\n });\r\n }\r\n\r\n // onValueChange(newValue: IFormSelect): void {\r\n // this.changed.emit(newValue.value);\r\n // }\r\n\r\n}\r\n","\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { IFormSelectNetworkType } from \"src/app/core/models/form-select-network-type\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-network-type\",\r\n templateUrl: \"./form-select-network-type.component.html\",\r\n styleUrls: [\"./form-select-network-type.component.scss\"],\r\n})\r\nexport class FormSelectNetworkTypeComponent implements OnInit {\r\n /** Placeholder for input */\r\n @Input() placeholder = \"\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n /** Form select values */\r\n @Input() set options(source: IFormSelectNetworkType[]) {\r\n if (source) {\r\n this.sourceData = source;\r\n this.fillData(source);\r\n }\r\n }\r\n\r\n\r\n @Input() label: string;\r\n\r\n /** disable type */\r\n @Input() disable = false;\r\n\r\n @Input() onlyValue = false;\r\n\r\n @Input() loading;\r\n\r\n @Output() changed = new EventEmitter();\r\n\r\n selectedValue;\r\n\r\n optionIcon;\r\n\r\n searchText: string;\r\n\r\n filteredOptions: any;\r\n\r\n private sourceData:IFormSelectNetworkType[];\r\n @Input() onRamp = false;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.control.valueChanges.subscribe((val) => {\r\n this.selectedValue = this.sourceData.filter((option: any) => {\r\n return option.networkValue === this.control.value;\r\n })[0];\r\n });\r\n \r\n this.control.valueChanges.subscribe((val) => {\r\n this.selectedValue = this.sourceData.filter((option: any) => {\r\n return option.networkValue === this.control.value;\r\n })[0];\r\n });\r\n }\r\n\r\n fillData(source:IFormSelectNetworkType[]) {\r\n let fuc = setInterval(() => {\r\n if (source && source.length > 0) {\r\n clearInterval(fuc);\r\n this.filteredOptions = JSON.parse(JSON.stringify(source));\r\n if (this.control.value || this.control.value == 0) {\r\n this.selectedValue = source.filter((option: any) => {\r\n return option.networkValue === this.control.value;\r\n })[0];\r\n }\r\n }\r\n }, 1000);\r\n }\r\n \r\n\r\n onValueChange(data: any): void {\r\n this.selectedValue = data;\r\n if (this.name === \"walletType\") {\r\n this.control.setValue(data.value);\r\n } else if (this.name === \"addCrypto\") {\r\n this.control.setValue(data.networkValue);\r\n }\r\n else {\r\n this.control.setValue(data.value, { emitEvent: false });\r\n }\r\n this.changed.emit(this.selectedValue);\r\n }\r\n\r\n filter(value: string): any[] {\r\n const filterValue = value.toLowerCase();\r\n return this.sourceData.filter((option: any) =>\r\n option.name.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n getName(): string {\r\n if (this.control && this.sourceData.length > 0) {\r\n return this.sourceData.filter((o) => o.networkValue === this.control.value).pop()\r\n .name;\r\n }\r\n return \"\";\r\n }\r\n\r\n selectedImg(v) {\r\n if (v?.icon) {\r\n this.optionIcon = v.icon;\r\n }\r\n }\r\n\r\n /**\r\n * On search of currency\r\n */\r\n onSearch(event: Event): void {\r\n event.stopPropagation();\r\n this.filteredOptions = this.sourceData.filter((val) => {\r\n if (val.name && this.searchText) {\r\n return (\r\n val.name\r\n .toLocaleLowerCase()\r\n .indexOf(this.searchText.toLocaleLowerCase()) !== -1\r\n );\r\n } else {\r\n return true;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {{ selectedValue?.name }}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{ currency?.name }}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {{ selectedValue?.label }}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{ currency?.label }}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-phonecode\",\r\n templateUrl: \"./form-select-phonecode.component.html\",\r\n styleUrls: [\"./form-select-phonecode.component.scss\"],\r\n})\r\nexport class FormSelectPhonecodeComponent implements OnInit {\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Country Code\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n @Input() label = \"\";\r\n\r\n /** form select values */\r\n options: IFormSelect[] = [];\r\n\r\n constructor(private domainService: DomainService) {}\r\n\r\n ngOnInit(): void {\r\n this.getCountriesCode();\r\n }\r\n\r\n getCountriesCode(): void {\r\n this.domainService.getCountriesList().subscribe((list) => {\r\n this.options = list.countries.map((country) => {\r\n return {\r\n value: country.id,\r\n label: `${country.countryCode}(${country.phoneCode})`,\r\n };\r\n });\r\n this.addOtherOption();\r\n });\r\n }\r\n\r\n /**\r\n * Add other options in the list\r\n */\r\n addOtherOption(): void {\r\n this.options.push({\r\n value: \"-1\",\r\n label: \"Other\",\r\n });\r\n }\r\n}\r\n","\r\n\r\n","import { ValidatorUtility } from \"./../../../core/utility/validator.utility\";\r\nimport { UserService } from \"./../../../core/services/user/user.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport {\r\n TRANSFER_TYPE,\r\n CURRENCY_TYPE,\r\n WALLET_CURRENCY,\r\n} from \"src/app/app.constants\";\r\nimport { CurrencyType } from \"src/app/core/enums/currencyType\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { ICurrency } from \"../../../core/models/currency\";\r\nimport { FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { ConvertService } from \"src/app/convert/services/convert.service\";\r\nimport { SubSink } from \"subsink\";\r\nimport { CommonSavedData } from \"../../services/commonSavedData.service\";\r\nimport { DecimalPipe } from \"@angular/common\";\r\nimport { eventNames } from \"process\";\r\nimport { Router } from \"@angular/router\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\n\r\n@Component({\r\n selector: 'cashaa-form-select-plan',\r\n templateUrl: './form-select-plan.component.html',\r\n styleUrls: ['./form-select-plan.component.scss']\r\n})\r\nexport class FormSelectPlanComponent implements OnInit {\r\n\r\n @Output() sendCurrencyChangeEvent = new EventEmitter();\r\n\r\n @Output() reciveCurrencyChangeEvent = new EventEmitter();\r\n\r\n @Output() minSendAmount = new EventEmitter();\r\n\r\n @Input() label = \"Amount\";\r\n\r\n /** disable type */\r\n @Input() disable = false;\r\n\r\n /** transfer type */\r\n @Input() type = TRANSFER_TYPE.SEND;\r\n\r\n /** currency type */\r\n @Input() source = CURRENCY_TYPE.ALL;\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** currency control */\r\n @Input() currencyControl: FormControl;\r\n\r\n /** amount control */\r\n @Input() amountControl: FormControl;\r\n\r\n /** name of control */\r\n @Input() currencyControlName: string;\r\n\r\n /** name of control */\r\n @Input() amountControlName: string;\r\n\r\n /** show balance */\r\n @Input() showBalance = false;\r\n\r\n @Input() noInput = false;\r\n\r\n @Input() noAccountCurrency = false;\r\n\r\n @Input() isSendModule: boolean;\r\n\r\n @Input() isConvertModule: boolean;\r\n\r\n @Input() isSendInput: boolean;\r\n\r\n @Input() isRecipientComponent: boolean = false;\r\n\r\n @Input() set initialValue(data) {\r\n if (data) {\r\n this.initValFlag = true;\r\n this.getCurrencyList(data);\r\n }\r\n }\r\n\r\n @Input() isGBPActive: boolean;\r\n\r\n initValFlag: boolean = false;\r\n\r\n controlCurrencyVal;\r\n\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"CUSD\", \"CGBP\", \"CEUR\", \"SGD\", \"CSGD\", \"AUD\", \"CAUD\", \"CNH\", \"CCNH\",\r\n \"CAD\", \"CCAD\", \"CHF\", \"CCHF\", \"NZD\", \"CNZD\", \"JPY\", \"CJPY\"];\r\n\r\n validKeyCodes = [\r\n 48,\r\n 49,\r\n 50,\r\n 51,\r\n 52,\r\n 53,\r\n 54,\r\n 55,\r\n 56,\r\n 57,\r\n 8,\r\n 46,\r\n 96,\r\n 97,\r\n 98,\r\n 99,\r\n 100,\r\n 101,\r\n 102,\r\n 103,\r\n 104,\r\n 105,\r\n 110,\r\n 190,\r\n ];\r\n\r\n subsink = new SubSink();\r\n\r\n @Input() set controlCurrency(data) {\r\n this.controlCurrencyVal = data;\r\n if (this.showBalance) {\r\n this.attachValidatorsToControl(true, data);\r\n } else {\r\n this.attachValidatorsToControl(false, data);\r\n }\r\n }\r\n\r\n /** select different */\r\n // @Input() different = false;\r\n\r\n /** on currency change */\r\n @Output() changed = new EventEmitter();\r\n\r\n /** selected currency */\r\n selectedPlan;\r\n\r\n /** is dropdown opened */\r\n isDropdownOpened = false;\r\n\r\n /** all currencies */\r\n currencies: ICurrency[] = [];\r\n\r\n /** Original currencies without filter */\r\n originalCurrencies: ICurrency[] = [];\r\n\r\n originalCurrentCurrencies: ICurrency[] = [];\r\n\r\n searchPlan = [];\r\n\r\n /** search term */\r\n searchTerm = \"\";\r\n\r\n CURRENCY_TYPE = CURRENCY_TYPE;\r\n\r\n // defaultCurrency: ICurrency;\r\n\r\n balance = 0;\r\n @Input() send: boolean = true;\r\n\r\n @Input() module: string;\r\n\r\n @Input() set sendCurrencySymbol(value) {\r\n this.sendCurrencySymb = value;\r\n this.currencies = this.originalCurrencies.filter((data) => this.currencyMap.get(value).includes(data.symbol) || (data.symbol === value && data.currencyType === 1));\r\n if (this.controlCurrencyVal === 'DOG') {\r\n this.attachValidatorsToControl(true, this.controlCurrencyVal);\r\n }\r\n }\r\n\r\n @Input() set recieveCurrencySymbol(value) {\r\n if (value !== 'CAS') {\r\n this.recivedCurrencySymb = value;\r\n this.currencies = this.originalCurrencies.filter((data) => this.currencyMap.get(value).includes(data.symbol) || (data.symbol === value && data.currencyType === 1));\r\n }\r\n\r\n if (this.controlCurrencyVal === 'DOG') {\r\n this.attachValidatorsToControl(true, this.controlCurrencyVal);\r\n }\r\n }\r\n\r\n\r\n @Input() currencyMap: Map;\r\n\r\n @Input() isSendConvert;\r\n\r\n @Input() isRecieveConvert;\r\n @Input() minAmount;\r\n @Input() addAddress;\r\n\r\n balanceDetail: IUserBalance;\r\n\r\n sendCurrencySymb;\r\n\r\n recivedCurrencySymb;\r\n @Input() dropdownInfoList;\r\n\r\n constructor(\r\n private domainService: DomainService,\r\n private userService: UserService,\r\n private commonSavedData: CommonSavedData,\r\n private decimalNumber: DecimalPipe,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (!this.initValFlag) {\r\n this.getCurrencyList();\r\n this.listenToCurrencyChange();\r\n } else {\r\n this.initValFlag = false;\r\n }\r\n }\r\n\r\n /**\r\n * get user balance\r\n */\r\n getUserBalance(): void {\r\n this.userService.getUserBalance().subscribe((balance) => {\r\n const found = balance.filter(\r\n (b) => {\r\n // this.selectedPlan.rate == 2.5? this.selectedPlan.rate = 10 : this.selectedPlan.rate = this.selectedPlan.rate;\r\n if (this.module === \"depositInterest\" && this.selectedPlan.currencyType === 2 && this.selectedPlan.symbol.charAt(0) === 'C') {\r\n if (b.currencyType === this.selectedPlan.symbol.slice(1, this.selectedPlan.symbol.length)) {\r\n return b;\r\n }\r\n } else {\r\n if (b.currencyType === this.selectedPlan.symbol) {\r\n return b;\r\n }\r\n }\r\n }\r\n );\r\n if (found.length > 0) {\r\n this.balance = found[0].available;\r\n this.balanceDetail = found[0];\r\n this.minSendAmount.emit(this.balanceDetail.minSendAmount);\r\n if (this.amountControl) {\r\n this.attachValidatorsToControl(true);\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get Currency list\r\n */\r\n getCurrencyList(data?): void {\r\n const currencyType =\r\n this.source === CURRENCY_TYPE.ALL\r\n ? CurrencyType.all\r\n : this.source === CURRENCY_TYPE.WALLET || this.source === \"deposit\"\r\n ? CurrencyType.Fiat\r\n : CurrencyType.Crypto;\r\n\r\n\r\n this.subsink.add(\r\n this.domainService.getCurrenciesList(currencyType).subscribe((list) => {\r\n if (this.source === \"deposit\") {\r\n this.currencies = this.originalCurrencies = list.currencies.filter(\r\n item => item.isDepositActive === true\r\n );\r\n } else if (this.isSendModule && this.module != \"depositInterest\") {\r\n const excludeCurrencies = [\"GBP\"];\r\n this.currencies = this.originalCurrencies = list.currencies.filter(\r\n (cur) => !excludeCurrencies.includes(cur.symbol)\r\n );\r\n } else {\r\n this.currencies = this.originalCurrencies = list.currencies;\r\n }\r\n\r\n if (this.module === \"depositInterest\") {\r\n this.currencies = this.currencies.filter(item => item.isFDActive === true);\r\n this.currencies = this.currencies.map(data => {\r\n if (data.currencyType === 2) {\r\n data.symbol = \"C\".concat(data.symbol);\r\n }\r\n return data;\r\n });\r\n }\r\n\r\n if (currencyType === CurrencyType.Fiat) {\r\n this.domainService.emitFiatCurrency(this.currencies);\r\n }\r\n if (data) {\r\n this.setCurrencyValue(data);\r\n } else {\r\n this.setCurrencyValue(this.currencyControl.value);\r\n }\r\n\r\n if (this.showBalance && this.selectedPlan) {\r\n this.getUserBalance();\r\n } else if (!this.showBalance) {\r\n this.attachValidatorsToControl();\r\n }\r\n if (this.sendCurrencySymb) {\r\n this.currencies = this.originalCurrencies.filter((data) => this.currencyMap.get(this.sendCurrencySymb).includes(data.symbol));\r\n }\r\n\r\n })\r\n );\r\n\r\n }\r\n\r\n attachValidatorsToControl(isSend?: boolean, curr?) {\r\n if (!this.noInput) {\r\n let currency: string = this.selectedPlan?.symbol\r\n ? this.selectedPlan?.symbol\r\n : curr;\r\n this.amountControl.clearValidators();\r\n this.form.updateValueAndValidity();\r\n let validatorsArr = [ValidatorUtility.Required];\r\n if (isSend) {\r\n if (this.amountControlName == \"senderAmount\") {\r\n validatorsArr.push(ValidatorUtility.MaxForConvert(this.balance));\r\n }\r\n\r\n if (this.module === 'depositInterest') {\r\n \r\n validatorsArr.push(ValidatorUtility.MinForConvert(this.balanceDetail?.minFDAmount));\r\n }\r\n }\r\n this.amountControl.setValidators(validatorsArr);\r\n this.form.updateValueAndValidity();\r\n }\r\n }\r\n\r\n /**\r\n * Listen to control change\r\n */\r\n listenToCurrencyChange(): void {\r\n this.subsink.add(\r\n this.currencyControl.valueChanges.subscribe((value) => {\r\n if (this.currencies.length > 0 && value) {\r\n this.setCurrencyValue(value);\r\n }\r\n })\r\n );\r\n }\r\n setCurrencyValue(currencyId: string): void {\r\n this.commonSavedData.setCurrencies(this.currencies);\r\n const found = this.originalCurrencies.filter((c) => c.id === currencyId);\r\n if (found.length > 0) {\r\n this.selectedPlan = found[0];\r\n if (this.type === TRANSFER_TYPE.SEND) {\r\n this.sendCurrencyChangeEvent.emit(this.selectedPlan);\r\n } else {\r\n this.reciveCurrencyChangeEvent.emit(this.selectedPlan);\r\n }\r\n\r\n if (this.showBalance && this.selectedPlan) {\r\n this.getUserBalance();\r\n } else if (!this.showBalance) {\r\n this.attachValidatorsToControl();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * on currency selection\r\n *\r\n */\r\n onPlanSelection(item): void {\r\n this.isDropdownOpened = false;\r\n this.selectedPlan = item;\r\n this.changed.emit(this.selectedPlan);\r\n }\r\n\r\n /**\r\n * On search of currency\r\n */\r\n onSearch(event: Event): void {\r\n event.stopPropagation();\r\n this.searchPlan = this.dropdownInfoList.filter((c) => {\r\n if (c.planName && this.searchTerm) {\r\n return (\r\n c.planName\r\n .toLocaleLowerCase()\r\n .indexOf(this.searchTerm.toLocaleLowerCase()) !== -1\r\n );\r\n } else {\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * get all account currencies\r\n */\r\n getWalletCurrencies(): ICurrency[] {\r\n let currencies: ICurrency[] = [];\r\n if (this.searchTerm.length > 0) {\r\n currencies = this.searchPlan;\r\n } else {\r\n currencies = this.currencies;\r\n }\r\n\r\n if (this.isSendConvert) {\r\n let val = [...this.currencyMap.keys()];\r\n return currencies\r\n .filter((c) => c.currencyType === 2 && val.includes(c.symbol));\r\n } else if (this.module === \"depositInterest\") {\r\n return currencies.filter((c) => c.currencyType === 2 && c.isFDActive === true);\r\n // .map(data => {\r\n // if (data.currencyType === 2) {\r\n // data.symbol = \"C\".concat(data.symbol);\r\n // }\r\n // return data;\r\n // });\r\n } else if (this.isSendModule) {\r\n return currencies.filter((c) => c.currencyType === 2 && c.isSendActive === true);\r\n } else if (this.isRecipientComponent) {\r\n if(this.addAddress === 'cryptoAddress') {\r\n return currencies.filter(item => item.currencyType === 1);\r\n } else {\r\n return currencies.filter(item => item.currencyType === 2 && item.isSendActive === true);\r\n }\r\n } else {\r\n return currencies\r\n .filter((c) => c.currencyType === 2)\r\n .map((curr) => {\r\n if (this.isRecipientComponent && curr.name.endsWith(\"Wallet\")) {\r\n curr.name = curr.name.substring(0, curr.name.lastIndexOf(\" \"));\r\n }\r\n return curr;\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * get all account currencies\r\n */\r\n getWithoutAccountCurrencies(): ICurrency[] {\r\n let currencies: ICurrency[] = [];\r\n if (this.searchTerm.length > 0) {\r\n currencies = [...this.searchPlan];\r\n } else {\r\n currencies = [...this.currencies];\r\n }\r\n\r\n if (this.isConvertModule) {\r\n if (this.isSendInput) {\r\n if (this.isSendConvert) {\r\n return currencies.filter(\r\n (c) => c.currencyType === 1 && [...this.currencyMap.keys()].includes(c.symbol)\r\n );\r\n } else {\r\n return currencies.filter(\r\n (c) => c.currencyType === 1 && c.symbol !== \"CAS\"\r\n );\r\n }\r\n } else {\r\n return currencies.filter(\r\n (c) => c.currencyType === 1\r\n );\r\n }\r\n } else if ((this.isSendModule || this.isRecipientComponent) && this.module !== \"depositInterest\") {\r\n return currencies.filter(\r\n (c) => c.currencyType === 1 && c.isSendActive === true\r\n );\r\n } else {\r\n return currencies.filter(\r\n (c) => {\r\n if (this.module === \"depositInterest\") {\r\n return c.currencyType === 1 && c.isFDActive === true; \r\n } else {\r\n return c.currencyType === 1;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * On input\r\n */\r\n onInput(value: string): void {\r\n const newValue = parseInt(value);\r\n this.amountControl.setValue(newValue);\r\n }\r\n\r\n numberOnly(event, flag) {\r\n let keyCode = event.keyCode;\r\n if (this.validKeyCodes.indexOf(keyCode) >= 0) {\r\n if (this.fiatCurrencies.includes(this.selectedPlan.symbol)) {\r\n let actualValue = event.target.value.substr(\r\n 0,\r\n event.target.value.indexOf(\".\") + 3\r\n );\r\n let val = event.target.value;\r\n if (actualValue === \"0.00\") {\r\n if (event.keyCode === 190 || event.keyCode === 110) {\r\n this.amountControl.setValue(\".\");\r\n } else {\r\n event.target.value = String.fromCharCode(keyCode);\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n } else if (\r\n val != null &&\r\n val.indexOf(\".\") > -1 &&\r\n val.split(\".\")[1].length > 2\r\n ) {\r\n event.target.value = actualValue;\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n } else if (\r\n this.selectedPlan.symbol === \"CAS\" ||\r\n this.selectedPlan.symbol === \"BNB\"\r\n ) {\r\n if (this.isSendModule) {\r\n let actualValue = event.target.value.substr(\r\n 0,\r\n event.target.value.indexOf(\".\") + 5\r\n );\r\n let val = event.target.value;\r\n if (actualValue === \"0.0000\") {\r\n if (event.keyCode === 190 || event.keyCode === 110) {\r\n this.amountControl.setValue(\".\");\r\n } else {\r\n event.target.value = String.fromCharCode(keyCode);\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n } else if (\r\n val != null &&\r\n val.indexOf(\".\") > -1 &&\r\n val.split(\".\")[1].length > 4\r\n ) {\r\n event.target.value = actualValue;\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n }\r\n } else {\r\n let actualValue = event.target.value.substr(\r\n 0,\r\n event.target.value.indexOf(\".\") + 5\r\n );\r\n let val = event.target.value;\r\n if (actualValue === \"0.0000\") {\r\n if (event.keyCode === 190 || event.keyCode === 110) {\r\n this.amountControl.setValue(\".\");\r\n } else {\r\n event.target.value = String.fromCharCode(keyCode);\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n } else if (\r\n val != null &&\r\n val.indexOf(\".\") > -1 &&\r\n val.split(\".\")[1].length > 4\r\n ) {\r\n event.target.value = actualValue;\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n }\r\n } else if (flag) {\r\n event = event.toString();\r\n if (\r\n (this.selectedPlan.symbol === \"CAS\" ||\r\n this.selectedPlan.symbol === \"BNB\") &&\r\n !this.isSendModule\r\n ) {\r\n this.amountControl.setValue(event);\r\n } else if (this.fiatCurrencies.includes(this.selectedPlan.symbol)) {\r\n let actualValue =\r\n event.indexOf(\".\") === -1\r\n ? event\r\n : event.substr(0, event.indexOf(\".\") + 3);\r\n let val = event;\r\n if (actualValue === \"0.00\") {\r\n this.amountControl.setValue(event);\r\n } else if (val != null) {\r\n event = actualValue;\r\n this.amountControl.setValue(event);\r\n }\r\n } else {\r\n let actualValue =\r\n event.indexOf(\".\") === -1\r\n ? event\r\n : event.substr(0, event.indexOf(\".\") + 5);\r\n let val = event;\r\n if (actualValue === \"0.0000\") {\r\n this.amountControl.setValue(event);\r\n } else if (val != null) {\r\n event = actualValue;\r\n this.amountControl.setValue(event);\r\n }\r\n }\r\n } else {\r\n return false;\r\n }\r\n if (\r\n event.keyCode !== 190 &&\r\n event.keyCode !== 110 &&\r\n this.amountControl.value\r\n ) {\r\n let decimalPoint =\r\n \"0.\" +\r\n (this.amountControl.value.split(\".\")[1]\r\n ? this.amountControl.value.split(\".\")[1].length\r\n : \"0\") +\r\n \"-4\";\r\n this.amountControl.setValue(\r\n this.decimalNumber.transform(\r\n this.amountControl.value.replaceAll(\",\", \"\"),\r\n decimalPoint\r\n )\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subsink.unsubscribe();\r\n }\r\n\r\n patchBalance(balance) {\r\n this.numberOnly(balance, true);\r\n }\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n getMinDog(): number {\r\n let validCurrencies = [... this.fiatCurrencies];\r\n validCurrencies.push('USDT');\r\n validCurrencies.push('BNB');\r\n if (this.isConvertModule) {\r\n if (validCurrencies.includes(this.sendCurrencySymb) || validCurrencies.includes(this.recivedCurrencySymb)) {\r\n return 1;\r\n } else if ('BTC' === this.sendCurrencySymb || 'BTC' === this.recivedCurrencySymb || 'ETH' === this.sendCurrencySymb || 'ETH' === this.recivedCurrencySymb) {\r\n return 100;\r\n }\r\n }\r\n }\r\n\r\n depositBalance() {\r\n if (this.fiatCurrencies.includes(this.selectedPlan.symbol)) {\r\n this.router.navigateByUrl(`/deposit?cur=${this.selectedPlan.symbol}`);\r\n } else {\r\n this.router.navigateByUrl(`/wallet?c=${this.selectedPlan.symbol}#${this.selectedPlan.symbol}`);\r\n }\r\n }\r\n\r\n}\r\n","\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n {{ selectedPlan?.rate }}%\r\n
    \r\n
    \r\n {{ selectedPlan?.planName }} \r\n
    {{ selectedPlan?.description }}
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n \r\n
    0\">\r\n \r\n

    Select term

    \r\n \r\n \r\n
    \r\n
    \r\n {{ currency?.rate }}%\r\n
    \r\n
    \r\n

    Special limited time offer

    \r\n {{ currency?.planName }} \r\n

    Assets will be held for 3 months, and will
    earn 24% APR, interest paid monthly.

    \r\n \r\n

    * This plan is only available for Cashaa Mobile App

    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{ currency?.rate }}%\r\n
    \r\n
    \r\n {{ currency?.planName }} \r\n
    {{ currency?.description }}
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n","import { ValidatorUtility } from \"./../../../core/utility/validator.utility\";\r\nimport { UserService } from \"./../../../core/services/user/user.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport {\r\n TRANSFER_TYPE,\r\n CURRENCY_TYPE,\r\n WALLET_CURRENCY,\r\n} from \"src/app/app.constants\";\r\nimport { CurrencyType } from \"src/app/core/enums/currencyType\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { ICurrency } from \"../../../core/models/currency\";\r\nimport { FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { ConvertService } from \"src/app/convert/services/convert.service\";\r\nimport { SubSink } from \"subsink\";\r\nimport { CommonSavedData } from \"../../services/commonSavedData.service\";\r\nimport { DecimalPipe } from \"@angular/common\";\r\nimport { eventNames } from \"process\";\r\nimport { Router } from \"@angular/router\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-transfer-currency\",\r\n templateUrl: \"./form-select-transfer-currency.component.html\",\r\n styleUrls: [\"./form-select-transfer-currency.component.scss\"],\r\n})\r\nexport class FormSelectTransferCurrencyComponent implements OnInit, OnDestroy {\r\n /** currency chnage event */\r\n @Output() sendCurrencyChangeEvent = new EventEmitter();\r\n\r\n @Output() reciveCurrencyChangeEvent = new EventEmitter();\r\n\r\n @Output() minSendAmount = new EventEmitter();\r\n\r\n @Input() label = \"Amount\";\r\n\r\n /** disable type */\r\n @Input() disable = false;\r\n\r\n /** transfer type */\r\n @Input() type = TRANSFER_TYPE.SEND;\r\n\r\n /** currency type */\r\n @Input() source = CURRENCY_TYPE.ALL;\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** currency control */\r\n @Input() currencyControl: FormControl;\r\n\r\n /** amount control */\r\n @Input() amountControl: FormControl;\r\n\r\n /** name of control */\r\n @Input() currencyControlName: string;\r\n\r\n /** name of control */\r\n @Input() amountControlName: string;\r\n\r\n /** show balance */\r\n @Input() showBalance = false;\r\n\r\n @Input() noInput = false;\r\n\r\n @Input() noAccountCurrency = false;\r\n\r\n @Input() isSendModule: boolean;\r\n\r\n @Input() isConvertModule: boolean;\r\n\r\n @Input() isSendInput: boolean;\r\n\r\n @Input() isRecipientComponent: boolean = false;\r\n\r\n // @Input() isLongTerm: boolean;\r\n\r\n @Input() set initialValue(data) {\r\n if (data) {\r\n this.initValFlag = true;\r\n this.getCurrencyList(data);\r\n }\r\n }\r\n\r\n @Input() isGBPActive: boolean;\r\n\r\n @Output() currencyBalance = new EventEmitter();\r\n\r\n initValFlag: boolean = false;\r\n\r\n controlCurrencyVal;\r\n\r\n fiatCurrencies = [\"INR\", \"USD\", \"GBP\", \"EUR\", \"AUSD\", \"CUSD\", \"CGBP\", \"CEUR\", \"SGD\", \"CSGD\", \"AUD\", \"CAUD\", \"CNH\", \"CCNH\",\r\n \"CAD\", \"CCAD\", \"CHF\", \"CCHF\", \"NZD\", \"CNZD\", \"JPY\", \"CJPY\"];\r\n\r\n validKeyCodes = [\r\n 48,\r\n 49,\r\n 50,\r\n 51,\r\n 52,\r\n 53,\r\n 54,\r\n 55,\r\n 56,\r\n 57,\r\n 8,\r\n 46,\r\n 96,\r\n 97,\r\n 98,\r\n 99,\r\n 100,\r\n 101,\r\n 102,\r\n 103,\r\n 104,\r\n 105,\r\n 110,\r\n 190,\r\n ];\r\n\r\n subsink = new SubSink();\r\n@Output() onChangeAmountField = new EventEmitter();\r\n@Input() currencyPlaceholder = '0';\r\n\r\n @Input() set controlCurrency(data) {\r\n this.controlCurrencyVal = data;\r\n if (this.showBalance) {\r\n this.attachValidatorsToControl(true, data);\r\n } else {\r\n this.attachValidatorsToControl(false, data);\r\n }\r\n }\r\n\r\n /** select different */\r\n // @Input() different = false;\r\n\r\n /** on currency change */\r\n @Output() changed = new EventEmitter();\r\n\r\n /** selected currency */\r\n selectedCurrency: ICurrency;\r\n\r\n /** is dropdown opened */\r\n isDropdownOpened = false;\r\n\r\n /** all currencies */\r\n currencies: ICurrency[] = [];\r\n\r\n /** Original currencies without filter */\r\n originalCurrencies: ICurrency[] = [];\r\n\r\n originalCurrentCurrencies: ICurrency[] = [];\r\n\r\n searchCurrency: ICurrency[] = [];\r\n\r\n /** search term */\r\n searchTerm = \"\";\r\n\r\n CURRENCY_TYPE = CURRENCY_TYPE;\r\n\r\n // defaultCurrency: ICurrency;\r\n\r\n balance = 0;\r\n @Input() send: boolean = true;\r\n\r\n @Input() module: string;\r\n\r\n @Input() set sendCurrencySymbol(value) {\r\n this.sendCurrencySymb = value;\r\n // this.currencies = this.originalCurrencies.filter((data) => this.currencyMap.get(value).includes(data.symbol) || (data.symbol === value));\r\n if (this.controlCurrencyVal === 'DOG') {\r\n this.attachValidatorsToControl(true, this.controlCurrencyVal);\r\n }\r\n }\r\n\r\n @Input() set recieveCurrencySymbol(value) {\r\n if (value !== 'CAS') {\r\n this.recivedCurrencySymb = value;\r\n // this.currencies = this.originalCurrencies.filter((data) => this.currencyMap.get(value).includes(data.symbol) || (data.symbol === value));\r\n }\r\n\r\n if (this.controlCurrencyVal === 'DOG') {\r\n this.attachValidatorsToControl(true, this.controlCurrencyVal);\r\n }\r\n }\r\n\r\n\r\n @Input() currencyMap: Map;\r\n\r\n @Input() isSendConvert;\r\n\r\n @Input() isRecieveConvert;\r\n @Input() minAmount;\r\n @Input() addAddress;\r\n\r\n balanceDetail: IUserBalance;\r\n\r\n sendCurrencySymb;\r\n\r\n recivedCurrencySymb;\r\n constructor(\r\n private domainService: DomainService,\r\n private userService: UserService,\r\n private commonSavedData: CommonSavedData,\r\n private decimalNumber: DecimalPipe,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (!this.initValFlag) {\r\n this.getCurrencyList();\r\n this.listenToCurrencyChange();\r\n } else {\r\n this.initValFlag = false;\r\n }\r\n }\r\n\r\n /**\r\n * get user balance\r\n */\r\n getUserBalance(): void {\r\n this.userService.getUserBalance().subscribe((balance) => {\r\n const found = balance.filter(\r\n (b) => {\r\n if (this.module === \"depositInterest\" && this.selectedCurrency.currencyType === 2 && this.selectedCurrency.symbol.charAt(0) === 'C') {\r\n if (b.currencyType === this.selectedCurrency.symbol.slice(1, this.selectedCurrency.symbol.length)) {\r\n return b;\r\n }\r\n } else {\r\n if (b.currencyType === this.selectedCurrency.symbol) {\r\n return b;\r\n }\r\n }\r\n }\r\n );\r\n if (found.length > 0) {\r\n this.balance = found[0].available;\r\n this.currencyBalance.emit(this.balance);\r\n this.balanceDetail = found[0];\r\n this.minSendAmount.emit(this.balanceDetail.minSendAmount);\r\n if (this.amountControl) {\r\n this.attachValidatorsToControl(true);\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Get Currency list\r\n */\r\n getCurrencyList(data?): void {\r\n const currencyType =\r\n this.source === CURRENCY_TYPE.ALL\r\n ? CurrencyType.all\r\n : this.source === CURRENCY_TYPE.WALLET || this.source === \"deposit\"\r\n ? CurrencyType.Fiat\r\n : CurrencyType.Crypto;\r\n\r\n this.subsink.add(\r\n this.domainService.getCurrenciesList(currencyType).subscribe((list) => {\r\n if (this.source === \"deposit\") {\r\n this.currencies = this.originalCurrencies = list.currencies.filter(\r\n item => item.isDepositActive === true\r\n );\r\n // } else if (this.isSendModule && this.module != \"depositInterest\") {\r\n // const excludeCurrencies = [\"GBP\"];\r\n // this.currencies = this.originalCurrencies = list.currencies.filter(\r\n // (cur) => !excludeCurrencies.includes(cur.symbol)\r\n // );\r\n } else { \r\n this.currencies = this.originalCurrencies = list.currencies;\r\n \r\n }\r\n\r\n if (this.module === \"depositInterest\") {\r\n this.currencies = this.currencies.filter(item => item.isFDActive === true);\r\n this.currencies = this.currencies.map(data => {\r\n if (data.currencyType === 2) {\r\n data.symbol = \"C\".concat(data.symbol);\r\n }\r\n return data;\r\n });\r\n }\r\n\r\n if (this.module === \"borrow\") {\r\n this.currencies = this.currencies.filter(item => item.isBorrowActive === true);\r\n }\r\n\r\n if (currencyType === CurrencyType.Fiat) {\r\n this.domainService.emitFiatCurrency(this.currencies);\r\n }\r\n if (data) {\r\n this.setCurrencyValue(data);\r\n } else {\r\n this.setCurrencyValue(this.currencyControl.value);\r\n }\r\n\r\n if (this.showBalance && this.selectedCurrency) {\r\n this.getUserBalance();\r\n } else if (!this.showBalance) {\r\n this.attachValidatorsToControl();\r\n }\r\n // if (this.sendCurrencySymb) {\r\n // this.currencies = this.originalCurrencies.filter((data) => this.currencyMap.get(this.sendCurrencySymb).includes(data.symbol));\r\n // }\r\n\r\n })\r\n );\r\n }\r\n\r\n attachValidatorsToControl(isSend?: boolean, curr?) {\r\n if (!this.noInput) {\r\n let currency: string = this.selectedCurrency?.symbol\r\n ? this.selectedCurrency?.symbol\r\n : curr;\r\n this.amountControl.clearValidators();\r\n this.form.updateValueAndValidity();\r\n let validatorsArr = [ValidatorUtility.Required];\r\n if (isSend) {\r\n if (this.amountControlName == \"senderAmount\") {\r\n if(!this.selectedCurrency?.isOnramp) {\r\n validatorsArr.push(ValidatorUtility.MaxForConvert(this.balance));\r\n }\r\n }\r\n\r\n if (this.module === 'depositInterest') {\r\n validatorsArr.push(ValidatorUtility.MinForConvert(this.balanceDetail?.minFDAmount));\r\n }\r\n }\r\n this.amountControl.setValidators(validatorsArr);\r\n this.form.updateValueAndValidity();\r\n }\r\n }\r\n\r\n /**\r\n * Listen to control change\r\n */\r\n listenToCurrencyChange(): void {\r\n this.subsink.add(\r\n this.currencyControl.valueChanges.subscribe((value) => {\r\n if (this.currencies.length > 0 && value) {\r\n this.setCurrencyValue(value);\r\n }\r\n })\r\n );\r\n }\r\n setCurrencyValue(currencyId: string): void {\r\n this.commonSavedData.setCurrencies(this.currencies);\r\n const found = this.originalCurrencies.filter((c) => c.id === currencyId);\r\n if (found.length > 0) {\r\n this.selectedCurrency = found[0];\r\n if (this.type === TRANSFER_TYPE.SEND) {\r\n this.sendCurrencyChangeEvent.emit(this.selectedCurrency);\r\n } else {\r\n this.reciveCurrencyChangeEvent.emit(this.selectedCurrency);\r\n }\r\n if (this.showBalance && this.selectedCurrency) {\r\n this.getUserBalance();\r\n } else if (!this.showBalance) {\r\n this.attachValidatorsToControl();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * on currency selection\r\n *\r\n */\r\n onCurrencySelection(currency: ICurrency): void {\r\n this.isDropdownOpened = false;\r\n this.selectedCurrency = currency;\r\n if (this.noInput) {\r\n this.currencyControl.setValue(currency.id, { emitEvent: false });\r\n } else {\r\n this.currencyControl.setValue(currency.id, { emitEvent: true });\r\n }\r\n if (!this.initValFlag) {\r\n this.setCurrencyValue(currency.id);\r\n }\r\n this.changed.emit(this.selectedCurrency);\r\n }\r\n\r\n onChangeAmount(event) {\r\n this.onChangeAmountField.emit(true);\r\n }\r\n\r\n /**\r\n * On search of currency\r\n */\r\n onSearch(event: Event): void {\r\n event.stopPropagation();\r\n this.searchCurrency = this.currencies.filter((c) => {\r\n if (c.symbol && this.searchTerm) {\r\n return (\r\n c.symbol\r\n .toLocaleLowerCase()\r\n .indexOf(this.searchTerm.toLocaleLowerCase()) !== -1\r\n );\r\n } else {\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * get all account currencies\r\n */\r\n getWalletCurrencies(): ICurrency[] {\r\n let currencies: ICurrency[] = [];\r\n if (this.searchTerm.length > 0) {\r\n currencies = this.searchCurrency;\r\n } else {\r\n currencies = this.currencies;\r\n }\r\n if (this.isSendConvert) {\r\n let res = currencies\r\n .filter((c) => c.currencyType === 2 && (c.tradeSide == 1 || c.tradeSide == 3));\r\n return res;\r\n } else if (this.module === \"depositInterest\") {\r\n // if (this.isLongTerm) {\r\n // return currencies.filter((c) => c.currencyType === 2 && c.isFDActive === true && c.isLongTermActive === true);\r\n // } else {\r\n return currencies.filter((c) => c.currencyType === 2 && c.isFDActive === true);\r\n // }\r\n } else if(this.isRecieveConvert) {\r\n let val = [...this.currencyMap.values()];\r\n let resReceCurr = currencies\r\n .filter((c) => c.currencyType === 2 && val[0].some(element => element.includes(c.symbol || 'DOGE')));\r\n return resReceCurr;\r\n } else if (this.isSendModule) {\r\n return currencies.filter((c) => c.currencyType === 2 && c.isSendActive === true);\r\n } else if (this.isRecipientComponent) {\r\n if (this.addAddress === 'cryptoAddress') {\r\n return currencies.filter(item => item.currencyType === 1 && item.isSendActive === true);\r\n } else {\r\n return currencies.filter(item => item.currencyType === 2 && item.isSendActive === true);\r\n }\r\n } else {\r\n return currencies\r\n .filter((c) => c.currencyType === 2)\r\n .map((curr) => {\r\n if (this.isRecipientComponent && curr.name.endsWith(\"Wallet\")) {\r\n curr.name = curr.name.substring(0, curr.name.lastIndexOf(\" \"));\r\n }\r\n return curr;\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * get all account currencies\r\n */\r\n // getAccountCurrencies(): ICurrency[] {\r\n // return this.currencies.filter((c) => c.isAccount);\r\n // }\r\n\r\n /**\r\n * get all account currencies\r\n */\r\n getWithoutAccountCurrencies(): ICurrency[] {\r\n let currencies: ICurrency[] = [];\r\n if (this.searchTerm.length > 0) {\r\n currencies = [...this.searchCurrency];\r\n } else {\r\n currencies = [...this.currencies];\r\n }\r\n\r\n if (this.isConvertModule) {\r\n if (this.isSendInput) {\r\n if (this.isSendConvert ) {\r\n let resSendConvert = currencies.filter(\r\n (c) => c.currencyType === 1 && (c.tradeSide == 1 || c.tradeSide == 3)\r\n );\r\n return resSendConvert;\r\n } else {\r\n return currencies.filter(\r\n (c) => c.currencyType === 1 && c.symbol !== \"CAS\"\r\n );\r\n }\r\n } if (this.isRecieveConvert ) {\r\n let val = [...this.currencyMap.values()];\r\n if(val.length > 0) {\r\n let res = currencies.filter(\r\n (c) => c.currencyType === 1 && val[0].some(element => element.includes(c.symbol || 'DOGE'))\r\n );\r\n return res;\r\n }\r\n \r\n } else {\r\n return currencies.filter(\r\n (c) => c.currencyType === 1\r\n );\r\n }\r\n } else if ((this.isSendModule || this.isRecipientComponent) && this.module !== \"depositInterest\") {\r\n return currencies.filter(\r\n (c) => c.currencyType === 1 && c.isSendActive === true\r\n );\r\n } else {\r\n return currencies.filter(\r\n (c) => {\r\n if (this.module === \"depositInterest\") {\r\n // if (this.isLongTerm) {\r\n // return c.currencyType === 1 && c.isFDActive === true && c.isLongTermActive === true;\r\n // } else {\r\n return c.currencyType === 1 && c.isFDActive === true;\r\n // }\r\n\r\n } else {\r\n return c.currencyType === 1;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * On input\r\n */\r\n onInput(value: string): void {\r\n const newValue = parseInt(value);\r\n this.amountControl.setValue(newValue);\r\n }\r\n\r\n numberOnly(event, flag) {\r\n let keyCode = event.keyCode;\r\n if (this.validKeyCodes.indexOf(keyCode) >= 0) {\r\n if (this.fiatCurrencies.includes(this.selectedCurrency.symbol)) {\r\n let actualValue = event.target.value.substr(\r\n 0,\r\n event.target.value.indexOf(\".\") + 3\r\n );\r\n let val = event.target.value;\r\n if (actualValue === \"0.00\") {\r\n if (event.keyCode === 190 || event.keyCode === 110) {\r\n this.amountControl.setValue(\".\");\r\n } else {\r\n event.target.value = String.fromCharCode(keyCode);\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n } else if (\r\n val != null &&\r\n val.indexOf(\".\") > -1 &&\r\n val.split(\".\")[1].length > 2\r\n ) {\r\n event.target.value = actualValue;\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n } else if (\r\n this.selectedCurrency.symbol === \"CAS\" ||\r\n this.selectedCurrency.symbol === \"BNB\"\r\n ) {\r\n if (this.isSendModule) {\r\n let actualValue = event.target.value.substr(\r\n 0,\r\n event.target.value.indexOf(\".\") + 5\r\n );\r\n let val = event.target.value;\r\n if (actualValue === \"0.0000\") {\r\n if (event.keyCode === 190 || event.keyCode === 110) {\r\n this.amountControl.setValue(\".\");\r\n } else {\r\n event.target.value = String.fromCharCode(keyCode);\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n } else if (\r\n val != null &&\r\n val.indexOf(\".\") > -1 &&\r\n val.split(\".\")[1].length > 4\r\n ) {\r\n event.target.value = actualValue;\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n }\r\n } else {\r\n let actualValue = event.target.value.substr(\r\n 0,\r\n event.target.value.indexOf(\".\") + 5\r\n );\r\n let val = event.target.value;\r\n if (actualValue === \"0.0000\") {\r\n if (event.keyCode === 190 || event.keyCode === 110) {\r\n this.amountControl.setValue(\".\");\r\n } else {\r\n event.target.value = String.fromCharCode(keyCode);\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n } else if (\r\n val != null &&\r\n val.indexOf(\".\") > -1 &&\r\n val.split(\".\")[1].length > 4\r\n ) {\r\n event.target.value = actualValue;\r\n this.amountControl.setValue(event.target.value);\r\n }\r\n }\r\n } else if (flag) {\r\n event = event.toString();\r\n if (\r\n (this.selectedCurrency.symbol === \"CAS\" ||\r\n this.selectedCurrency.symbol === \"BNB\") &&\r\n !this.isSendModule\r\n ) {\r\n this.amountControl.setValue(event);\r\n } else if (this.fiatCurrencies.includes(this.selectedCurrency.symbol)) {\r\n let actualValue =\r\n event.indexOf(\".\") === -1\r\n ? event\r\n : event.substr(0, event.indexOf(\".\") + 3);\r\n let val = event;\r\n if (actualValue === \"0.00\") {\r\n this.amountControl.setValue(event);\r\n } else if (val != null) {\r\n event = actualValue;\r\n this.amountControl.setValue(event);\r\n }\r\n } else {\r\n let actualValue =\r\n event.indexOf(\".\") === -1\r\n ? event\r\n : event.substr(0, event.indexOf(\".\") + 5);\r\n let val = event;\r\n if (actualValue === \"0.0000\") {\r\n this.amountControl.setValue(event);\r\n } else if (val != null) {\r\n event = actualValue;\r\n this.amountControl.setValue(event);\r\n }\r\n }\r\n } else {\r\n return false;\r\n }\r\n if (\r\n event.keyCode !== 190 &&\r\n event.keyCode !== 110 &&\r\n this.amountControl.value\r\n ) {\r\n let decimalPoint =\r\n \"0.\" +\r\n (this.amountControl.value.split(\".\")[1]\r\n ? this.amountControl.value.split(\".\")[1].length\r\n : \"0\") +\r\n \"-4\";\r\n this.amountControl.setValue(\r\n this.decimalNumber.transform(\r\n this.amountControl.value.replaceAll(\",\", \"\"),\r\n decimalPoint\r\n )\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subsink.unsubscribe();\r\n }\r\n\r\n patchBalance(balance) {\r\n this.numberOnly(balance, true);\r\n }\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n getMinDog(): number {\r\n let validCurrencies = [... this.fiatCurrencies];\r\n validCurrencies.push('USDT');\r\n validCurrencies.push('BNB');\r\n if (this.isConvertModule) {\r\n if (validCurrencies.includes(this.sendCurrencySymb) || validCurrencies.includes(this.recivedCurrencySymb)) {\r\n return 1;\r\n } else if ('BTC' === this.sendCurrencySymb || 'BTC' === this.recivedCurrencySymb || 'ETH' === this.sendCurrencySymb || 'ETH' === this.recivedCurrencySymb) {\r\n return 100;\r\n }\r\n }\r\n }\r\n\r\n depositBalance() {\r\n if (this.fiatCurrencies.includes(this.selectedCurrency.symbol)) {\r\n this.router.navigateByUrl(`/deposit?cur=${this.selectedCurrency.symbol}`);\r\n } else {\r\n this.router.navigateByUrl(`/wallet?c=${this.selectedCurrency.symbol}#${this.selectedCurrency.symbol}`);\r\n }\r\n }\r\n\r\n}\r\n","

    \r\n Amount is higher than available balance\r\n

    \r\n

    \r\n {{ controlCurrencyVal }} amount should not be less than {{this.balanceDetail.minFDAmount}}\r\n

    \r\n\r\n\r\n
    \r\n
    \r\n \r\n

    \r\n {{ label }}\r\n

    \r\n
    \r\n \r\n
    \r\n

    \r\n You have\r\n {{ balance | number: \"0.0-2\" }} {{\r\n getCurrencyName(selectedCurrency?.symbol)\r\n }} \r\n \r\n {{ balance | number: \"0.0-4\" }} {{\r\n getCurrencyName(selectedCurrency?.symbol)\r\n }} \r\n \r\n in your balance. Deposit balance\r\n

    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {{ getCurrencyName(selectedCurrency?.symbol) }}\r\n
    \r\n

    {{ selectedCurrency?.name }}

    \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    0\">\r\n
    \r\n

    {{isRecipientComponent ? '' : 'National Currency Wallet'}}

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    {{ currency?.symbol }}
    \r\n

    {{ currency?.name }}

    \r\n
    \r\n\r\n
    \r\n 0 && !isRecipientComponent\">\r\n
    \r\n

    Cryptocurrency

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    {{ currency?.symbol === 'DOG' ? 'DOGE' : currency?.symbol}}
    \r\n

    {{ currency?.name }}

    \r\n
    \r\n \r\n
    \r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnChanges,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { TransferType } from \"src/app/core/enums/transferType\";\r\nimport { ITransferFees } from \"src/app/core/models/transfer-types\";\r\nimport { ConvertService } from \"../../../convert/services/convert.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-transfer-type\",\r\n templateUrl: \"./form-select-transfer-type.component.html\",\r\n styleUrls: [\"./form-select-transfer-type.component.scss\"],\r\n})\r\nexport class FormSelectTransferTypeComponent implements OnInit, OnChanges {\r\n @Output() Onfeechangeevent = new EventEmitter();\r\n\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Select transfer type\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n @Input() selected: string;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n /** Form select values */\r\n @Input() options: IFormSelect[] = [];\r\n\r\n isDropdownOpened = false;\r\n\r\n /** transfer fees types */\r\n transferFees: ITransferFees[] = [];\r\n\r\n /** selected fee */\r\n selectedFee: ITransferFees;\r\n\r\n symbol: string;\r\n\r\n constructor(\r\n private domainService: DomainService,\r\n private convertService: ConvertService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.getTransferTypeList();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes.selected &&\r\n changes.selected.currentValue !== changes.selected.previousValue\r\n ) {\r\n const currency = this.transferFees.filter(\r\n (fee) => fee.currencyId === this.selected\r\n );\r\n if (currency.length > 0) {\r\n this.control.setValue(currency[0].transferFeeId);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get Transfer fess\r\n */\r\n getTransferTypeList(): void {\r\n // to get the emitted symbol from convert component\r\n this.convertService.getCurrencySymbolEmitter().subscribe((symbol) => {\r\n this.symbol = symbol;\r\n });\r\n this.domainService.getTransferTypeList().subscribe((list) => {\r\n this.transferFees = list.transferFeesList;\r\n if (this.transferFees.length > 0) {\r\n this.selectedFee = this.transferFees[0];\r\n if (this.symbol === \"GBP\") {\r\n this.selectedFee = this.transferFees[0];\r\n } else if (this.symbol === \"EUR\") {\r\n this.selectedFee = this.transferFees[1];\r\n }\r\n this.control.setValue(this.selectedFee.transferFeeId);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * on fee selection\r\n */\r\n onFeeTypeSelection(fee: ITransferFees): void {\r\n this.selectedFee = fee;\r\n this.isDropdownOpened = false;\r\n this.control.setValue(fee.transferFeeId);\r\n this.Onfeechangeevent.emit(fee);\r\n }\r\n}\r\n","
    \r\n \r\n

    {{ selectedFee?.transferName }}

    \r\n\r\n \r\n \r\n
    \r\n

    Transfer types

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    {{ fee?.transferName }}
    \r\n -\r\n

    {{ fee?.amount | number: \"0.2\" }} GBP fee

    \r\n
    \r\n

    {{ fee?.description }}

    \r\n
    \r\n
    \r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { IFormSelect } from 'src/app/core/models/form-select';\r\nimport { DomainService } from 'src/app/core/services/domain/domain.service';\r\nimport { IUserBalance } from 'src/app/core/models/user-balance';\r\nimport { WithdrawService } from 'src/app/withdraw/services/withdraw.service';\r\nimport { data } from 'jquery';\r\n\r\n@Component({\r\n selector: \"cashaa-form-select-withdraw-address\",\r\n templateUrl: \"./form-select-withdraw-address.component.html\",\r\n styleUrls: [\"./form-select-withdraw-address.component.scss\"]\r\n})\r\nexport class FormSelectWithdrawAddressComponent implements OnInit {\r\n\r\n /** name of control */\r\n @Input() symbol: string;\r\n /** Placeholder for input */\r\n @Input() placeholder = \"Withdraw Address\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n /** form select values */\r\n options: IFormSelect[] = [];\r\n\r\n constructor(private domainService: DomainService, private withdrawService: WithdrawService) { }\r\n\r\n ngOnInit(): void {\r\n this.withdrawService.getWithdrawAddressSymbolEmitter().subscribe((data) => {\r\n if (data) {\r\n\r\n this.getWithdrawAddressList(data);\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n /*** Get list of available Withdraw Addresses*/\r\n getWithdrawAddressList(symbol: string): void {\r\n this.domainService.getWithdrawAddressList(symbol).subscribe((list) => {\r\n\r\n this.options = list.map((address) => {\r\n\r\n return {\r\n value: address.currencyId,\r\n label: address.address,\r\n };\r\n });\r\n this.addOtherOption();\r\n });\r\n }\r\n\r\n addOtherOption(): void {\r\n this.options.push({\r\n value: \"-1\",\r\n label: \"Other\",\r\n });\r\n }\r\n Onsymbolchanged(UserBalance: IUserBalance): void {\r\n\r\n\r\n\r\n }\r\n\r\n\r\n}\r\n","\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup, FormControl } from \"@angular/forms\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { map, startWith } from \"rxjs/operators\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-select\",\r\n templateUrl: \"./form-select.component.html\",\r\n styleUrls: [\"./form-select.component.scss\"],\r\n})\r\nexport class FormSelectComponent implements OnInit {\r\n /** Placeholder for input */\r\n @Input() placeholder = \"\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n /** Form select values */\r\n @Input() set options(source: IFormSelect[]) {\r\n if (source) {\r\n this.sourceData = source;\r\n this.fillData(source);\r\n }\r\n }\r\n\r\n\r\n @Input() label: string;\r\n\r\n /** disable type */\r\n @Input() disable = false;\r\n\r\n @Input() onlyValue = false;\r\n\r\n @Input() loading;\r\n\r\n @Output() changed = new EventEmitter();\r\n\r\n selectedValue;\r\n\r\n optionIcon;\r\n\r\n searchText: string;\r\n\r\n filteredOptions: any;\r\n\r\n private sourceData:IFormSelect[];\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.control.valueChanges.subscribe((val) => {\r\n this.selectedValue = this.sourceData.filter((option: any) => {\r\n return option.value === this.control.value;\r\n })[0];\r\n });\r\n }\r\n\r\n fillData(source:IFormSelect[]) {\r\n let fuc = setInterval(() => {\r\n if (source && source.length > 0) {\r\n clearInterval(fuc);\r\n this.filteredOptions = JSON.parse(JSON.stringify(source));\r\n if (this.control.value) {\r\n this.selectedValue = source.filter((option: any) => {\r\n return option.value === this.control.value;\r\n })[0];\r\n }\r\n }\r\n }, 1000);\r\n }\r\n\r\n onValueChange(data: any): void {\r\n this.selectedValue = data;\r\n if (this.name === \"walletType\") {\r\n this.control.setValue(data.value);\r\n } else {\r\n this.control.setValue(data.value, { emitEvent: false });\r\n }\r\n this.changed.emit(this.selectedValue);\r\n }\r\n\r\n filter(value: string): any[] {\r\n const filterValue = value.toLowerCase();\r\n return this.sourceData.filter((option: any) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n getName(): string {\r\n if (this.control && this.sourceData.length > 0) {\r\n return this.sourceData.filter((o) => o.value === this.control.value).pop()\r\n .label;\r\n }\r\n return \"\";\r\n }\r\n\r\n selectedImg(v) {\r\n if (v?.icon) {\r\n this.optionIcon = v.icon;\r\n }\r\n }\r\n\r\n /**\r\n * On search of currency\r\n */\r\n onSearch(event: Event): void {\r\n event.stopPropagation();\r\n this.filteredOptions = this.sourceData.filter((val) => {\r\n if (val.label && this.searchText) {\r\n return (\r\n val.label\r\n .toLocaleLowerCase()\r\n .indexOf(this.searchText.toLocaleLowerCase()) !== -1\r\n );\r\n } else {\r\n return true;\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n {{ selectedValue?.label }}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{ currency?.label }}
    \r\n
    \r\n
    \r\n
    ","import { ValidatorUtility } from \"./../../../core/utility/validator.utility\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: \"cashaa-form-textarea\",\r\n templateUrl: \"./form-textarea.component.html\",\r\n styleUrls: [\"./form-textarea.component.scss\"],\r\n})\r\nexport class FormTextareaComponent implements OnInit {\r\n /** Placeholder for input */\r\n @Input() placeholder = \"\";\r\n\r\n /** input form group */\r\n @Input() form: FormGroup;\r\n\r\n /** form control */\r\n @Input() control: FormControl;\r\n\r\n @Input() rows: number;\r\n\r\n /** name of control */\r\n @Input() name: string;\r\n\r\n @Input() label = \"\";\r\n\r\n @Input() onlyValue = false;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n /**\r\n * Get Error message for controls\r\n */\r\n getErrorMessage(): string {\r\n for (const propertyName in this.control.errors) {\r\n if (\r\n this.control.errors.hasOwnProperty(propertyName) &&\r\n this.control.touched\r\n ) {\r\n let mesg= ValidatorUtility.GetValidatorErrorMessage(\r\n propertyName,\r\n this.control.errors[propertyName]\r\n );\r\n\r\n if (mesg === \"Required\") {\r\n return \"Please fill out this field\";\r\n } else {\r\n return mesg;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n

    \r\n {{ control?.value }}\r\n

    \r\n \r\n {{ getErrorMessage() }}\r\n
    \r\n","import { Router } from \"@angular/router\";\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n ElementRef,\r\n QueryList,\r\n ViewChildren,\r\n EventEmitter,\r\n Output,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cashaa-google-auth-boxes\",\r\n templateUrl: \"./google-auth-boxes.component.html\",\r\n styleUrls: [\"./google-auth-boxes.component.scss\"],\r\n})\r\nexport class GoogleAuthBoxesComponent implements OnInit {\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n allCodeEntered = false;\r\n\r\n @Input() set finalCode(value) {\r\n if (value === \"\") {\r\n this.code = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n }\r\n }\r\n @Output() updateCode = new EventEmitter();\r\n @Output() removeAuthBoxesError = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n removeError(): void {\r\n this.removeAuthBoxesError.emit(true);\r\n }\r\n\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfCodeIsFilled(idx: number): void {\r\n if (idx >= 0 && idx < 5 && this.code[idx]) {\r\n this.inputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n this.allCodeEntered = true;\r\n this.code.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allCodeEntered = false;\r\n }\r\n });\r\n if (this.code[5] && idx === -1) {\r\n this.inputs.toArray()[5].nativeElement.focus();\r\n }\r\n this.updateCode.emit(this.code.join(\"\"));\r\n }\r\n\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onCodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.code = pastedText.split(\"\");\r\n this.checkIfCodeIsFilled(-1);\r\n }\r\n this.updateCode.emit(this.code.join(\"\"));\r\n }\r\n\r\n removeBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.inputs.toArray()[index].nativeElement.focus();\r\n }\r\n this.updateCode.emit(this.code.join(\"\"));\r\n }\r\n}\r\n","
    \r\n

    Authentication Code

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    ","import { Component, OnInit, ElementRef } from \"@angular/core\";\r\nimport { MDBModalRef } from \"ng-uikit-pro-standard\";\r\n\r\n@Component({\r\n selector: \"cashaa-message-box\",\r\n templateUrl: \"./message-box.component.html\",\r\n styleUrls: [\"./message-box.component.scss\"],\r\n})\r\nexport class MessageBoxComponent implements OnInit {\r\n title = \"\";\r\n body = \"\";\r\n\r\n constructor(public modalRef: MDBModalRef) {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n

    {{ title }}

    \r\n
    \r\n {{ body }}\r\n
    \r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { APP_ROUTES } from \"../../../app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-navbar\",\r\n templateUrl: \"./navbar.component.html\",\r\n styleUrls: [\"./navbar.component.scss\"],\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n /**\r\n * Constructor to inject services\r\n * @param modalService Modal sevices to open\r\n * various modals\r\n */\r\n constructor(private router: Router) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n /**\r\n * Open sign in user page\r\n */\r\n signIn(): void {\r\n this.router.navigateByUrl(APP_ROUTES.SIGN_IN);\r\n }\r\n}\r\n","\r\n\r\n \r\n CASHAA\r\n\r\n \r\n \r\n \r\n
      \r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { USER_ID } from 'src/app/app.constants';\r\nimport { NavigationService } from 'src/app/core/services/navigation/navigation.service';\r\n\r\n@Component({\r\n selector: 'cashaa-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.scss']\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n \r\n currentUserId = sessionStorage.getItem(USER_ID);\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n getRoute(): void {\r\n if (this.currentUserId) {\r\n this.router.navigateByUrl(\"/activity\");\r\n } else {\r\n this.router.navigateByUrl(\"/account/signin\");\r\n }\r\n }\r\n\r\n\r\n}\r\n","
    \r\n \r\n \r\n

    404

    \r\n

    Sorry, we can't find the page you were looking for!

    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n","import {\r\n Component,\r\n OnInit,\r\n ElementRef,\r\n Input,\r\n SimpleChange,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cashaa-password-strength\",\r\n templateUrl: \"./password-strength.component.html\",\r\n styleUrls: [\"./password-strength.component.scss\"],\r\n})\r\nexport class PasswordStrengthComponent implements OnInit {\r\n bar0: string;\r\n bar1: string;\r\n bar2: string;\r\n bar3: string;\r\n\r\n @Input() public passwordToCheck: string;\r\n @Input() public isSetting: boolean;\r\n @Output() passwordStrength = new EventEmitter();\r\n lowerLetters;\r\n upperLetters;\r\n numbers;\r\n symbols;\r\n length;\r\n password;\r\n errorShow;\r\n private colors = [\"red\", \"orange\", \"#e1d70d\", \"#2ed06e\"];\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n checkStrength(p) {\r\n // 1\r\n let force = 0;\r\n\r\n // 2\r\n const regex = /[$-/:-?{-~!\"^_@`\\[\\]]/g;\r\n this.lowerLetters = /[a-z]+/.test(p);\r\n this.upperLetters = /[A-Z]+/.test(p);\r\n this.numbers = /[0-9]+/.test(p);\r\n this.symbols = regex.test(p);\r\n this.length = p.length;\r\n\r\n // 3\r\n const flags = [\r\n this.lowerLetters,\r\n this.upperLetters,\r\n this.numbers,\r\n this.symbols,\r\n ];\r\n\r\n // 4\r\n let passedMatches = 0;\r\n for (const flag of flags) {\r\n passedMatches += flag === true ? 1 : 0;\r\n }\r\n\r\n // 5\r\n force += 2 * p.length + (p.length >= 10 ? 1 : 0);\r\n force += passedMatches * 10;\r\n\r\n // 6\r\n force = p.length <= 8 ? Math.min(force, 10) : force;\r\n\r\n // 7\r\n force = passedMatches === 1 ? Math.min(force, 10) : force;\r\n force = passedMatches === 2 ? Math.min(force, 20) : force;\r\n force = passedMatches === 3 ? Math.min(force, 30) : force;\r\n force = passedMatches === 4 ? Math.min(force, 40) : force;\r\n\r\n return force;\r\n }\r\n\r\n ngOnChanges(changes: { [propName: string]: SimpleChange }): void {\r\n const password = changes.passwordToCheck.currentValue;\r\n this.password = password;\r\n this.setBarColors(4, \"#DDD\");\r\n if (password) {\r\n const c = this.getColor(this.checkStrength(password));\r\n this.setBarColors(c.index, c.color);\r\n const pwdStrength = this.checkStrength(password);\r\n if (pwdStrength === 40) {\r\n this.passwordStrength.emit(true);\r\n this.errorShow = false;\r\n } else {\r\n this.passwordStrength.emit(false);\r\n this.errorShow = true;\r\n }\r\n }\r\n }\r\n\r\n private getColor(s) {\r\n let index = 0;\r\n if (s === 10) {\r\n index = 0;\r\n } else if (s === 20) {\r\n index = 1;\r\n } else if (s === 30) {\r\n index = 2;\r\n } else if (s === 40) {\r\n index = 3;\r\n } else {\r\n index = 4;\r\n }\r\n return {\r\n index: index + 1,\r\n color: this.colors[index],\r\n };\r\n }\r\n\r\n private setBarColors(count, col) {\r\n for (let n = 0; n < count; n++) {\r\n this[\"bar\" + n] = col;\r\n }\r\n }\r\n}\r\n","
    \r\n
    \r\n

    Password must meet the following requirements:

    \r\n
      \r\n
    • At least one letter
    • \r\n
    • At least one capital letter
    • \r\n
    • At least one number
    • \r\n
    • At least one special character
    • \r\n
    • = 8}\">At least 8 character
    • \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { IRecipient } from \"src/app/core/models/fIat/recipients\";\r\nimport { NEW_RECIPIENT_TYPE } from \"src/app/app.constants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { NetworkType } from \"src/app/core/enums/network-type-enum\";\r\n\r\n@Component({\r\n selector: \"cashaa-recipient-box\",\r\n templateUrl: \"./recipient-box.component.html\",\r\n styleUrls: [\"./recipient-box.component.scss\"],\r\n})\r\nexport class RecipientBoxComponent implements OnInit {\r\n /** Recipient */\r\n @Input() recipient: IRecipient;\r\n\r\n /** is New recipient */\r\n @Input() isNew = false;\r\n\r\n /** if new, then its type */\r\n @Input() type = NEW_RECIPIENT_TYPE.MYSELF;\r\n\r\n /** on click */\r\n @Output() clicked = new EventEmitter();\r\n\r\n /**\r\n * get initials of user\r\n *\r\n */\r\n get initials(): string {\r\n if (this.recipient) {\r\n const fullName = this.recipient?.name.split(\" \");\r\n return `${fullName[0] ? fullName[0][0] : \"\"}${\r\n fullName[1] ? fullName[1][0] : \"\"\r\n }`;\r\n }\r\n return \"\";\r\n }\r\n copied = false;\r\n constructor(private toastrService: ToastrService, private modalService: ModalService) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n /**\r\n * On recipient clicked\r\n *\r\n */\r\n onRecipientClick(): void {\r\n if(this.recipient?.isCashaaAddress && !this.recipient?.memo && this.recipient?.network === 0) {\r\n } else {\r\n this.clicked.emit();\r\n } \r\n }\r\n copyAddress(): void {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.recipient.accountNumber);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n\r\n updateMemo(data, netwrkLabel) {\r\n this.modalService.openUpdateMemoModal(data.currency, data.currencyId,data.accountNumber, data.id, data.network, netwrkLabel);\r\n }\r\n getLabel(): string {\r\n if (this.recipient.network == 0 || this.recipient.network == null) {\r\n if (this.recipient.currency === 'CAS' || this.recipient.currency === 'BNB') {\r\n return \"BNB Beacon Chain (BEP2)\"\r\n } else {\r\n return this.getCurrency();\r\n } \r\n } else {\r\n return NetworkType[this.recipient.network];\r\n }\r\n }\r\n\r\n getCurrency() : string {\r\n if (this.recipient.currency === \"AUSD\") return \"USD\";\r\n if (this.recipient.currency === \"DOG\") return \"DOGE\";\r\n else return this.recipient.currency;\r\n }\r\n}\r\n","\r\n\r\n\r\n
    \r\n
    \r\n
    {{ initials }}
    \r\n
    \r\n
    \r\n {{ recipient?.name }}\r\n

    \r\n {{ recipient?.currency }} Account\r\n

    \r\n \r\n
    \r\n
    {{recipient?.accountNumber}} \r\n

    Memo: {{recipient?.memo}}

    \r\n
    Update Memo
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \"\"
    \r\n \r\n
    \r\n {{\r\n type == \"myself\"\r\n ? \"Self\"\r\n : type == \"someone\"\r\n ? \"Someone else\"\r\n : type == \"addsender\"\r\n ? \"Add Sender\"\r\n : type == \"walletAddress\"\r\n ? \"Add Wallet Address\"\r\n : \"Business or charity\"\r\n }}\r\n
    \r\n
    \r\n
    \r\n","import { UserType } from \"./../../../core/enums/userType\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport {\r\n USER_NAME_PATH,\r\n APP_ROUTES,\r\n USER_TYPE,\r\n SEESION_FLAG,\r\n USER_NAME_ID,\r\n USER_EMAIL_PATH,\r\n IS_KYC_DONE_PERSONAL,\r\n SUBSCRIPTION_PERSONAL_PLAN,\r\n SUBSCRIPTION_BUSINESS_PLAN,\r\n USER_COUNTRY_CODE,\r\n USER_ID,\r\n IS_CAS_SWAP_Enabled,\r\n} from \"src/app/app.constants\";\r\nimport { from } from \"rxjs\";\r\nimport { MDBModalService } from \"ng-uikit-pro-standard\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { KycService } from \"src/app/kyc/services/kyc.service\";\r\nimport { CommonSavedData } from \"../../services/commonSavedData.service\";\r\nimport { ActivityService } from \"src/app/activity/services/activity.service\";\r\nimport { AccountUpgradeService } from \"src/app/account-upgrade/services/account-upgrade.service\";\r\nimport { UserSubscriptionPlan } from \"src/app/core/models/account-upgrade/subscription-plan-response\";\r\n\r\n@Component({\r\n selector: \"cashaa-sidenav\",\r\n templateUrl: \"./sidenav.component.html\",\r\n styleUrls: [\"./sidenav.component.scss\"],\r\n})\r\n\r\nexport class SidenavComponent implements OnInit {\r\n // isBusiness = false;\r\n // isBroker = false;\r\n // isPersonal = false;\r\n isKycDone;\r\n stakingURL: string = APP_ROUTES.STAKING;\r\n activeStaking: boolean = false;\r\n isBasicPlan: boolean = false;\r\n isPremiumPlan = false;\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n userCountryCode = sessionStorage.getItem(USER_COUNTRY_CODE);\r\n constructor(\r\n private router: Router,\r\n private modalService: ModalService,\r\n private kycService: KycService,\r\n private commonSavedData: CommonSavedData,\r\n private activityService: ActivityService,\r\n private upgradeService: AccountUpgradeService\r\n ) {\r\n\r\n }\r\n username: string;\r\n isCASSWAPEnabled: boolean;\r\n ngOnInit(): void {\r\n this.userType = sessionStorage.getItem(USER_TYPE);\r\n sessionStorage.getItem(IS_CAS_SWAP_Enabled) == 'true'? this.isCASSWAPEnabled = true : this.isCASSWAPEnabled = false;\r\n // if (+this.userType === UserType.Business) {\r\n // this.isBusiness = true;\r\n // }\r\n\r\n // if (+this.userType === UserType.Broker) {\r\n // this.isBroker = true;\r\n // }\r\n\r\n // if (+this.userType === UserType.Personal) {\r\n // this.isPersonal = true;\r\n // }\r\n this.isKycDone = sessionStorage.getItem(IS_KYC_DONE_PERSONAL);\r\n /* this.username = sessionStorage.getItem(USER_NAME_PATH)\r\n ? sessionStorage.getItem(USER_NAME_PATH)\r\n : sessionStorage.getItem(USER_EMAIL_PATH); */\r\n this.username = sessionStorage.getItem(USER_EMAIL_PATH);\r\n // if (this.isPersonal) {\r\n // // this.checkStakingUrl();\r\n // this.kycDoneCheck();\r\n // }\r\n\r\n // this.upgradeService.getUserActionSubscriptionPlan().subscribe((data: UserSubscriptionPlan) => {\r\n // if (data) {\r\n // if (this.userType === '4') {\r\n // if (SUBSCRIPTION_PERSONAL_PLAN.BASIC === data.planName) {\r\n // this.isBasicPlan = true;\r\n // }\r\n // if (SUBSCRIPTION_PERSONAL_PLAN.PREMIUM === data.planName) {\r\n // this.isPremiumPlan = true;\r\n // }\r\n // } else {\r\n // if (SUBSCRIPTION_BUSINESS_PLAN.BASIC === data.planName) {\r\n // this.isBasicPlan = true;\r\n // }\r\n // if (SUBSCRIPTION_BUSINESS_PLAN.PREMIUM === data.planName) {\r\n // this.isPremiumPlan = true;\r\n // }\r\n // }\r\n // }\r\n // });\r\n }\r\n\r\n // checkStakingUrl() {\r\n // let filterData = {\r\n // activityType: \"14\",\r\n // fromDate: \"\",\r\n // toDate: \"\",\r\n // symbol: [],\r\n // searchText: \"\",\r\n // };\r\n // this.activityService.getRecentTransactions(filterData).subscribe(\r\n // (res) => {\r\n // if (res.length !== 0) {\r\n // this.stakingURL = APP_ROUTES.STAKING_TIMELINE;\r\n // this.activeStaking = true;\r\n // this.commonSavedData.setStakingUrl(this.stakingURL);\r\n // } else {\r\n // filterData.activityType = \"11\";\r\n // this.activityService\r\n // .getRecentTransactions(filterData)\r\n // .subscribe((res) => {\r\n // if (res.length !== 0) {\r\n // this.stakingURL = APP_ROUTES.STAKING_TIMELINE;\r\n // this.activeStaking = true;\r\n // this.commonSavedData.setStakingUrl(this.stakingURL);\r\n // } else {\r\n // filterData.activityType = \"\";\r\n // this.activityService\r\n // .getRecentTransactions(filterData)\r\n // .subscribe(\r\n // (res) => {\r\n // let flag = false;\r\n // res.forEach((dateRow) => {\r\n // dateRow.activitylist.forEach((row) => {\r\n // if (row.mondaylist !== null) {\r\n // flag = true;\r\n // }\r\n // });\r\n // });\r\n\r\n // if (flag) {\r\n // this.stakingURL = APP_ROUTES.STAKING_TIMELINE;\r\n // this.activeStaking = true;\r\n // } else {\r\n // this.stakingURL = APP_ROUTES.STAKING;\r\n // }\r\n // this.commonSavedData.setStakingUrl(this.stakingURL);\r\n // },\r\n // (err) => { }\r\n // );\r\n // }\r\n // });\r\n // }\r\n // },\r\n // (err) => { }\r\n // );\r\n // }\r\n\r\n kycDoneCheck(flag?): void {\r\n if (!this.commonSavedData.getIsFirstKycCall() || flag) {\r\n this.isKycDone = sessionStorage.getItem(IS_KYC_DONE_PERSONAL);\r\n if (this.isKycDone === undefined || this.isKycDone === null) {\r\n this.kycService.getKycDetails().subscribe((res) => {\r\n if (res) {\r\n this.commonSavedData.setIsFirstKycCall(true);\r\n this.isKycDone = res.verified;\r\n if (this.isKycDone) {\r\n sessionStorage.setItem(IS_KYC_DONE_PERSONAL, this.isKycDone);\r\n if (flag) {\r\n this.router.navigateByUrl(APP_ROUTES.ACTIVITY_LIST);\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n this.isKycDone =\r\n sessionStorage.getItem(IS_KYC_DONE_PERSONAL) === \"true\";\r\n }\r\n }\r\n }\r\n goToRoute(route: string): void {\r\n this.router.navigateByUrl(route);\r\n }\r\n\r\n createHelpdeskTicket() {\r\n this.modalService.openTicketCreateModal();\r\n }\r\n\r\n /**\r\n * Logout out of account\r\n */\r\n logout(): void {\r\n this.activityService.refreshToken({'cashaaUserId': sessionStorage.getItem(USER_ID)}).subscribe(res => {\r\n if(res) {\r\n localStorage.clear();\r\n localStorage.setItem(SEESION_FLAG, \"false\");\r\n this.commonSavedData.setIsFirstKycCall(false);\r\n sessionStorage.clear();\r\n this.router.navigateByUrl(APP_ROUTES.SIGN_IN);\r\n }\r\n })\r\n }\r\n\r\n goToAccount(){\r\n this.router.navigateByUrl(`account-wallet?isBorrow=true`)\r\n }\r\n \r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n
  • \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n \r\n\r\n \r\n \r\n Activity\r\n \r\n \r\n\r\n \r\n \r\n Account\r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n Add Beneficiary\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n Referral\r\n \r\n \r\n\r\n \r\n \r\n Borrow \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{(username[0]+username[1]).toUpperCase()}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {{ username }}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n\r\n\r\n
    \r\n
    ","import {\r\n Component\r\n } from \"@angular/core\";\r\n \r\n @Component({\r\n selector: \"social-media\",\r\n template: ``,\r\n styles: [`.fab:before,.fa-paper-plane:before { right: 0;\r\n position: absolute;\r\n left: 0;\r\n text-align: center;\r\n top: 12px;\r\n font-size: 15px;\r\n }\r\n .fab,\r\n .fa-paper-plane {\r\n width: 2rem;\r\n height: 2em;\r\n border-radius: 50%;\r\n color: #1531aa;\r\n position: relative;\r\n }\r\n .social-icon {\r\n position: fixed;\r\n right: 4px;\r\n bottom: 0;\r\n flex-direction: column;\r\n a {\r\n margin-left: 0.5rem;\r\n margin-right: 0.5rem;\r\n }\r\n }`\r\n ]\r\n })\r\n export class SocialMediaComponent {}","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MDBModalRef } from 'ng-uikit-pro-standard';\r\nimport { AccountService } from 'src/app/account/sevices/account.service';\r\nimport { CommonSavedData } from '../../services/commonSavedData.service';\r\n\r\n@Component({\r\n selector: 'cashaa-terms-and-conditions',\r\n templateUrl: './terms-and-conditions.component.html',\r\n styleUrls: ['./terms-and-conditions.component.scss']\r\n})\r\nexport class TermsAndConditionsComponent implements OnInit {\r\n\r\n info: string;\r\n imgSrc;\r\n constructor(public modalRef: MDBModalRef, private commonSavedData: CommonSavedData,\r\n private accountService: AccountService, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n onClick(status: boolean): void {\r\n this.accountService.isAgreementApproved().subscribe(res => {\r\n sessionStorage.setItem('isConsent', 'true');\r\n });\r\n this.modalRef.hide();\r\n this.commonSavedData.emitConfirmationBoxStatus(status);\r\n } \r\n\r\n onSelect() {\r\n this.modalRef.hide();\r\n this.router.navigateByUrl('spot');\r\n }\r\n\r\n}\r\n","
    \r\n
    Account Migration Terms & Conditions
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\"\"\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnChanges,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cashaa-timer\",\r\n templateUrl: \"./timer.component.html\",\r\n styleUrls: [\"./timer.component.scss\"],\r\n})\r\nexport class TimerComponent implements OnInit, OnChanges {\r\n @Input() time = 15;\r\n\r\n @Input() start = true;\r\n @Input() noExpiry = false;\r\n\r\n @Output() expire = new EventEmitter();\r\n\r\n /** is timer expired */\r\n expired = false;\r\n resetTime: number;\r\n @Input() isRecipient: boolean = false;\r\n private intervalId: any;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(): void {\r\n if (this.start) {\r\n if (this.time === 0) {\r\n this.time = this.resetTime;\r\n }\r\n this.resetTime = this.time;\r\n this.startTimer();\r\n } else {\r\n this.expired = false;\r\n clearInterval(this.intervalId);\r\n }\r\n }\r\n\r\n startTimer(): void {\r\n this.intervalId = setInterval(() => {\r\n this.time -= 1;\r\n if (this.time === 0) {\r\n clearInterval(this.intervalId);\r\n if (!this.noExpiry) {\r\n this.expired = true;\r\n }\r\n this.expire.emit();\r\n } else {\r\n this.expired = false;\r\n }\r\n }, 1000);\r\n }\r\n}\r\n","

    \r\n \r\n Time expired{{time}}\r\n

    \r\n

    \r\n \r\n Time expired{{time}}\r\n

    \r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { APP_ROUTES } from \"src/app/app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-unauthorized\",\r\n templateUrl: \"./unauthorized.component.html\",\r\n styleUrls: [\"./unauthorized.component.scss\"],\r\n})\r\nexport class UnauthorizedComponent implements OnInit {\r\n constructor(private router: Router) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n /**\r\n * Open sign in user page\r\n */\r\n signIn(): void {\r\n this.router.navigateByUrl(APP_ROUTES.SIGN_IN);\r\n }\r\n}\r\n","\r\n
    \r\n

    You are not authorized

    \r\n

    \r\n Please again for access\r\n

    \r\n
    ","import { Component } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { USER_ID } from \"src/app/app.constants\";\r\n\r\n@Component({\r\n selector: \"under-maintenance\",\r\n template: `
    \r\n

    Exchange service is under maintenance. We'll be back soon!

    \r\n
    \r\n \r\n
    \r\n
    `,\r\n styles: [`.main-div {\r\n position: absolute;\r\n top: 50%;\r\n transform: translate(0, -50%);\r\n left:0;\r\n right:0}`]\r\n})\r\nexport class UnderMaintenanceComponent {\r\n currentUserId = sessionStorage.getItem(USER_ID);\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n getRoute(): void {\r\n if (this.currentUserId) {\r\n this.router.navigateByUrl(\"/activity\");\r\n } else {\r\n this.router.navigateByUrl(\"/account/signin\");\r\n }\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { MDBModalRef } from 'ng-uikit-pro-standard';\r\nimport { CommonSavedData } from '../../services/commonSavedData.service';\r\n\r\n@Component({\r\n selector: 'cashaa-warning-memo-box',\r\n templateUrl: './warning-memo-box.component.html',\r\n styleUrls: ['./warning-memo-box.component.scss']\r\n})\r\nexport class WarningMemoBoxComponent implements OnInit {\r\n public currency: string;\r\n public memoOrTag: string;\r\n public XrpOrREP: string;\r\n constructor(public modalRef: MDBModalRef, private commonSavedData: CommonSavedData) { }\r\n\r\n ngOnInit(): void {\r\n this.memoOrTag = this.currency === 'XRP' ? 'Tag' : 'Memo';\r\n this.XrpOrREP = this.currency === 'XRP' ? 'XRP' : 'BEP-2' ;\r\n }\r\n\r\n onClick(status: boolean): void {\r\n this.modalRef.hide();\r\n this.commonSavedData.emitConfirmationBoxStatus(status);\r\n } \r\n\r\n}\r\n","
    \r\n

    Warning!!

    \r\n
    \r\n
    \r\n • It is mandatory to enter both {{memoOrTag}} and address.

    \r\n • Deposit address support only {{XrpOrREP}} token.

    \r\n • If you forgot to enter {{memoOrTag}} while depositing {{XrpOrREP}} supported token on Cashaa platform, then a recovery fees will\r\n be charged to recover.

    \r\n Note: Recovery of token is not guaranteed.\r\n
    \r\n
    \r\n
    \r\n \r\n
    ","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer} from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'safe' })\r\nexport class SafePipe implements PipeTransform {\r\n constructor(private domSanitizer: DomSanitizer) {}\r\n transform(url) {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n} ","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { USER_COUNTRY_CODE, USER_TYPE } from \"src/app/app.constants\";\r\nimport { UserType } from \"src/app/core/enums/userType\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CommonSavedData {\r\n public currencies;\r\n public stakingUrl;\r\n public isFirstKycCall;\r\n\r\n private confirmationBoxStatus = new Subject();\r\n\r\n setCurrencies(data) {\r\n this.currencies = data;\r\n }\r\n\r\n getCurrencies() {\r\n return this.currencies;\r\n }\r\n setIsFirstKycCall(data) {\r\n this.isFirstKycCall = data;\r\n }\r\n\r\n getStakingUrl() {\r\n return this.stakingUrl;\r\n }\r\n setStakingUrl(data) {\r\n this.stakingUrl = data;\r\n }\r\n\r\n getIsFirstKycCall() {\r\n return this.isFirstKycCall;\r\n }\r\n\r\n emitConfirmationBoxStatus(status: boolean) {\r\n this.confirmationBoxStatus.next(status);\r\n }\r\n\r\n getConfirmationBoxStatus(): Observable {\r\n return this.confirmationBoxStatus.asObservable();\r\n }\r\n\r\n getEnvironmentOrigin() {\r\n return window.location.origin+\"/#\";\r\n }\r\n\r\n isPersonalUS() {\r\n if(+sessionStorage.getItem(USER_TYPE) === UserType.Personal && sessionStorage.getItem(USER_COUNTRY_CODE) === 'US' ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NavbarComponent } from \"./components/navbar/navbar.component\";\r\nimport { InputsModule, MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FormInputComponent } from \"./components/form-input/form-input.component\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { FormSelectComponent } from \"./components/form-select/form-select.component\";\r\nimport { FormSelectCountryComponent } from \"./components/form-select-country/form-select-country.component\";\r\nimport { MessageBoxComponent } from \"./components/message-box/message-box.component\";\r\nimport { FormSelectBalanceComponent } from \"./components/form-select-balance/form-select-balance.component\";\r\nimport { FormInputCurrencyComponent } from \"./components/form-input-currency/form-input-currency.component\";\r\nimport { CurrencyBoxComponent } from \"./components/currency-box/currency-box.component\";\r\nimport { SidenavComponent } from \"./components/sidenav/sidenav.component\";\r\nimport { FormSelectCurrencyComponent } from \"./components/form-select-currency/form-select-currency.component\";\r\nimport { FormSelectTransferTypeComponent } from \"./components/form-select-transfer-type/form-select-transfer-type.component\";\r\nimport { FormSelectCurrencySymbolComponent } from \"./components/form-select-currency-symbol/form-select-currency-symbol.component\";\r\nimport { FormSelectAccounttypeComponent } from \"./components/form-select-accounttype/form-select-accounttype.component\";\r\nimport { FormSelectPhonecodeComponent } from \"./components/form-select-phonecode/form-select-phonecode.component\";\r\nimport { FormInputDirectorRoleComponent } from \"./components/form-input-director-role/form-input-director-role.component\";\r\nimport { FormSelectWithdrawAddressComponent } from \"./components/form-select-withdraw-address/form-select-withdraw-address.component\";\r\nimport { FormSelectBusinessCategoryComponent } from \"./components/form-select-business-category/form-select-business-category.component\";\r\nimport { BalanceBoxComponent } from \"./components/balance-box/balance-box.component\";\r\nimport { FormSelectTransferCurrencyComponent } from \"./components/form-select-transfer-currency/form-select-transfer-currency.component\";\r\nimport { RecipientBoxComponent } from \"./components/recipient-box/recipient-box.component\";\r\n\r\nimport { NumDecimalDirective } from \"./Directives/num-decimal.directive\";\r\nimport { TimerComponent } from \"./components/timer/timer.component\";\r\nimport { NotFoundComponent } from \"./components/not-found/not-found.component\";\r\nimport { UnauthorizedComponent } from \"./components/unauthorized/unauthorized.component\";\r\nimport { FormSelectActivityTypeFilterComponent } from \"./components/form-select-activity-type-filter/form-select-activity-type-filter.component\";\r\nimport { FormInputSortcodeComponent } from \"./components/form-input-sortcode/form-input-sortcode.component\";\r\nimport { FormTextareaComponent } from \"./components/form-textarea/form-textarea.component\";\r\nimport { FormSelectHelpdeskCategoryComponent } from \"./components/form-select-helpdesk-category/form-select-helpdesk-category.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { GoogleAuthBoxesComponent } from \"./components/google-auth-boxes/google-auth-boxes.component\";\r\nimport { PasswordStrengthComponent } from \"./components/password-strength/password-strength.component\";\r\nimport { FormInputFileComponent } from './components/form-input-file/form-input-file.component';\r\nimport { ConfirmationBoxComponent } from './components/confirmation-box/confirmation-box.component';\r\nimport { WarningMemoBoxComponent } from './components/warning-memo-box/warning-memo-box.component';\r\n// import { AccountBoxComponent } from \"./components/account-box/account-box.component\";\r\nimport { AccountBoxComponent } from \"./components/account-box/account-box.component\";\r\nimport { SocialMediaComponent } from \"./components/social-media/social-media-component\";\r\nimport { UnderMaintenanceComponent } from \"./components/under-maintenance/under-maintenance.component\";\r\nimport { TermsAndConditionsComponent } from './components/terms-and-conditions/terms-and-conditions.component';\r\nimport { FormSelectFilterComponent } from \"./components/form-select-filter/form-select-filter.component\";\r\nimport { FormSelectPlanComponent } from './components/form-select-plan/form-select-plan.component';\r\nimport { AccountBoxMobileComponent } from \"./components/acount-box-mobile/account-box-mobile.component\";\r\nimport { FormSelectCurrencyPairComponent } from \"./components/form-select-currency-pair/form-select-currency-pair.component\";\r\nimport { SwitchComponent } from \"./switch/switch.component\";\r\nimport { SafePipe } from \"./pipes/safe.pipe\";\r\nimport { FormSelectNetworkTypeComponent } from \"./components/form-select-network-type/form-select-network-type.component\";\r\nimport { CurrencyPairsComponent } from './components/currency-pairs/currency-pairs.component';\r\nimport { AccessRestrictedComponent } from \"./components/access-restricted/access-restricted.component\";\r\n@NgModule({\r\n declarations: [\r\n NavbarComponent,\r\n FormInputComponent,\r\n FormSelectComponent,\r\n FormSelectCountryComponent,\r\n MessageBoxComponent,\r\n FormSelectBalanceComponent,\r\n FormInputCurrencyComponent,\r\n CurrencyBoxComponent,\r\n SidenavComponent,\r\n FormSelectCurrencyComponent,\r\n FormSelectTransferTypeComponent,\r\n FormSelectCurrencySymbolComponent,\r\n FormSelectCurrencySymbolComponent,\r\n FormSelectAccounttypeComponent,\r\n FormSelectPhonecodeComponent,\r\n FormInputDirectorRoleComponent,\r\n FormSelectWithdrawAddressComponent,\r\n FormSelectBusinessCategoryComponent,\r\n FormSelectHelpdeskCategoryComponent,\r\n BalanceBoxComponent,\r\n FormSelectTransferCurrencyComponent,\r\n RecipientBoxComponent,\r\n NumDecimalDirective,\r\n TimerComponent,\r\n NotFoundComponent,\r\n UnauthorizedComponent,\r\n AccessRestrictedComponent,\r\n FormSelectActivityTypeFilterComponent,\r\n FormInputSortcodeComponent,\r\n FormTextareaComponent,\r\n FormSelectHelpdeskCategoryComponent,\r\n GoogleAuthBoxesComponent,\r\n PasswordStrengthComponent,\r\n FormInputFileComponent,\r\n ConfirmationBoxComponent,\r\n WarningMemoBoxComponent,\r\n AccountBoxComponent,\r\n SocialMediaComponent,\r\n UnderMaintenanceComponent,\r\n TermsAndConditionsComponent,\r\n FormSelectFilterComponent,\r\n FormSelectPlanComponent,\r\n AccountBoxMobileComponent,\r\n FormSelectCurrencyPairComponent,\r\n SwitchComponent,\r\n SafePipe,\r\n FormSelectNetworkTypeComponent,\r\n CurrencyPairsComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ToastrModule.forRoot(),\r\n InputsModule.forRoot(),\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n NavbarComponent,\r\n FormInputComponent,\r\n FormSelectComponent,\r\n FormSelectCountryComponent,\r\n FormSelectBalanceComponent,\r\n FormInputCurrencyComponent,\r\n CurrencyBoxComponent,\r\n SidenavComponent,\r\n FormSelectCurrencyComponent,\r\n FormSelectTransferTypeComponent,\r\n FormSelectCurrencySymbolComponent,\r\n FormSelectAccounttypeComponent,\r\n FormSelectPhonecodeComponent,\r\n FormInputDirectorRoleComponent,\r\n FormSelectWithdrawAddressComponent,\r\n BalanceBoxComponent,\r\n FormSelectBusinessCategoryComponent,\r\n FormSelectTransferCurrencyComponent,\r\n RecipientBoxComponent,\r\n NumDecimalDirective,\r\n TimerComponent,\r\n FormSelectActivityTypeFilterComponent,\r\n FormSelectHelpdeskCategoryComponent,\r\n FormInputSortcodeComponent,\r\n FormTextareaComponent,\r\n GoogleAuthBoxesComponent,\r\n PasswordStrengthComponent,\r\n FormInputFileComponent,\r\n AccountBoxComponent,\r\n SocialMediaComponent,\r\n UnderMaintenanceComponent,\r\n FormSelectFilterComponent,\r\n FormSelectPlanComponent,\r\n AccountBoxMobileComponent,\r\n FormSelectCurrencyPairComponent,\r\n SwitchComponent,\r\n SafePipe,\r\n FormSelectNetworkTypeComponent\r\n ],\r\n})\r\nexport class SharedModule {}\r\n","import { Component, Input, Output, EventEmitter, HostListener, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\nconst UI_SWITCH_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n /* tslint:disable-next-line: no-use-before-declare */\r\n useExisting: forwardRef(() => SwitchComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'app-switch',\r\n templateUrl: './switch.component.html',\r\n styleUrls: ['./switch.component.scss'],\r\n providers: [UI_SWITCH_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class SwitchComponent implements ControlValueAccessor {\r\n private _checked: boolean;\r\n private _disabled: boolean;\r\n private _reverse: boolean;\r\n\r\n @Input() size = 'medium';\r\n @Output() change = new EventEmitter();\r\n @Input() labelOn = '';\r\n @Input() labelOff = '';\r\n @Input() desc = '';\r\n\r\n @Input() set checked(v: boolean) {\r\n this._checked = v !== false;\r\n }\r\n\r\n get checked() {\r\n return this._checked;\r\n }\r\n\r\n @Input() set disabled(v: boolean) {\r\n this._disabled = v !== false;\r\n }\r\n\r\n get disabled() {\r\n return this._disabled;\r\n }\r\n\r\n @Input() set reverse(v: boolean) {\r\n this._reverse = v !== false;\r\n }\r\n\r\n get reverse() {\r\n return this._reverse;\r\n }\r\n\r\n @HostListener('click')\r\n onToggle() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this.checked = !this.checked;\r\n this.change.emit(this.checked);\r\n this.changed(this.checked);\r\n this.touched(this.checked);\r\n }\r\n\r\n // Implement control value accessor\r\n\r\n changed = (_: any) => {};\r\n\r\n touched = (_: any) => {};\r\n\r\n public writeValue(obj: any) {\r\n if (obj !== this.checked) {\r\n this.checked = !!obj;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this.changed = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any) {\r\n this.touched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n //\r\n }\r\n}\r\n","
    \r\n {{labelOn}}\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n{{labelOff}}\r\n
    \r\n\r\n\r\n
    {{desc}}
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { IMyOptions } from 'ng-uikit-pro-standard';\r\nimport { IFormSelect } from 'src/app/core/models/form-select';\r\nimport { IStatementData } from 'src/app/core/models/statement/statement';\r\nimport { StatementService } from '../services/statement.service';\r\nimport * as XLSX from \"xlsx\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'cashaa-generate-statement',\r\n templateUrl: './generate-statement.component.html',\r\n styleUrls: ['./generate-statement.component.scss']\r\n})\r\nexport class GenerateStatementComponent implements OnInit {\r\n searchForm: FormGroup;\r\n loader: boolean = false;\r\n myDatePickerOptions: IMyOptions = {\r\n minYear: 1900,\r\n maxYear: 2099,\r\n };\r\n activityType: number;\r\n fromDate: string;\r\n toDate: string;\r\n searchText: string;\r\n symbol: string;\r\n pageSize: number = 10;\r\n pageIndex: number = 1;\r\n totalPageSize: number;\r\n hasPreviousPage: boolean;\r\n hasNextPage: boolean;\r\n length: number;\r\n statementData: IStatementData[];\r\n depositInterestId: string;\r\n cur: string;\r\n val: string;\r\n ledger;\r\n rateType;\r\n\r\n constructor(private fb: FormBuilder, private statementService: StatementService, private activateRoute: ActivatedRoute, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.fb.group({\r\n currency: [\"\"]\r\n });\r\n // this.router.navigateByUrl('activity');\r\n this.activateRoute.queryParams.subscribe(params => {\r\n this.depositInterestId = params['id'];\r\n this.val = params['val'];\r\n this.cur = params['cur'];\r\n if (this.depositInterestId) {\r\n this.loadFixedDepositStatement(this.pageIndex, this.pageSize);\r\n } else {\r\n this.loadStatementData(this.pageIndex, this.pageSize);\r\n }\r\n });\r\n\r\n this.ledger = JSON.parse(sessionStorage.getItem('ledger'))\r\n this.rateType = JSON.parse(sessionStorage.getItem('rateType'))\r\n }\r\n\r\n \r\n\r\n loadStatementData(pageIndex: number, pageSize: number, activityType?: number, fromDate?: string, toDate?: string, searchTerm?: string, symbol?: string): void {\r\n this.loader = true;\r\n this.statementService.getStatementList(pageIndex, pageSize, activityType, fromDate, toDate, searchTerm, symbol).subscribe(data => {\r\n this.loader = false;\r\n this.statementData = data.data;\r\n this.pageSize = data.pageSize;\r\n this.pageIndex = data.pageIndex;\r\n this.length = data.totalCount;\r\n this.totalPageSize = data.totalPageCount;\r\n this.hasPreviousPage = data.hasPreviousPage;\r\n this.hasNextPage = data.hasNextPage;\r\n });\r\n }\r\n\r\n loadFixedDepositStatement(pageIndex: number, pageSize: number, activityType?: number, fromDate?: string, toDate?: string, searchTerm?: string, symbol?: string): void {\r\n this.loader = true;\r\n this.statementService.getFixedDepositStatementList(this.depositInterestId, pageIndex, pageSize, activityType, fromDate, toDate, searchTerm, symbol).subscribe(data => {\r\n this.loader = false;\r\n this.statementData = data.data;\r\n this.pageSize = data.pageSize;\r\n this.pageIndex = data.pageIndex;\r\n this.length = data.totalCount;\r\n this.totalPageSize = data.totalPageCount;\r\n this.hasPreviousPage = data.hasPreviousPage;\r\n this.hasNextPage = data.hasNextPage;\r\n });\r\n }\r\n\r\n onActivityTypeChange(activity: IFormSelect) {\r\n this.activityType = Number(activity.value);\r\n this.loadStatementData(1, 10, this.activityType, this.fromDate, this.toDate, this.searchText, this.symbol);\r\n }\r\n\r\n onFromDateChange(date: any) {\r\n this.fromDate = date.actualDateFormatted;\r\n this.loadStatementData(1, 10, this.activityType, this.fromDate, this.toDate, this.searchText, this.symbol);\r\n }\r\n\r\n onToDateChange(date: any) {\r\n this.toDate = date.actualDateFormatted;\r\n this.loadStatementData(1, 10, this.activityType, this.fromDate, this.toDate, this.searchText, this.symbol);\r\n }\r\n\r\n onCurrencyTypeChange(event) {\r\n this.symbol = event.symbol;\r\n this.loadStatementData(1, 10, this.activityType, this.fromDate, this.toDate, this.searchText, this.symbol);\r\n\r\n }\r\n\r\n onSearchTextChanged(searchText: any) {\r\n this.searchText = searchText;\r\n this.loadStatementData(1, 10, this.activityType, this.fromDate, this.toDate, this.searchText, this.symbol);\r\n }\r\n\r\n previous() {\r\n if (this.hasPreviousPage) {\r\n this.loadStatementData(this.pageIndex - 1, this.pageSize, this.activityType, this.fromDate, this.toDate, this.searchText, this.symbol);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.hasNextPage) {\r\n this.loadStatementData(this.pageIndex + 1, this.pageSize, this.activityType, this.fromDate, this.toDate, this.searchText, this.symbol);\r\n }\r\n }\r\n\r\n exportStatement(): void {\r\n this.statementService.getStatementList(1, this.length, this.activityType, this.fromDate, this.toDate, this.searchText, this.symbol)\r\n .subscribe((data) => {\r\n /* table id is passed over here */\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(data.data);\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, \"Statement Detail\");\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, \"Statement.xlsx\");\r\n });\r\n }\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    \r\n Statement\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{cur}}\r\n Fixed Deposit\r\n
    \r\n
    \r\n {{ val |number: \"0.0-4\" }}\r\n {{cur}}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Moved From
    \r\n Your {{ cur}}\r\n balance\r\n
    \r\n\r\n
    \r\n Deposited
    \r\n {{val | number: \"0.0-4\" }} {{\r\n cur\r\n }}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Start Date
    \r\n {{ ledger.startDate| date:'longDate'}}\r\n
    \r\n\r\n
    \r\n End Date
    \r\n {{ ledger.endDate| date:'longDate'}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Interest Rate Type
    \r\n {{ rateType[ledger.rateType].split('In').join('In ') }}\r\n
    \r\n
    \r\n Interest Rate
    \r\n {{ ledger.interestRate }} %\r\n
    \r\n
    \r\n
    \r\n
    \r\n Transaction Number
    \r\n {{ ledger?.transactionId }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    Sr No
    \r\n
    \r\n
    Amount
    \r\n
    \r\n
    CR/DR
    \r\n
    \r\n
    Activity
    \r\n
    \r\n
    Date
    \r\n
    \r\n {{i+1}}\r\n \r\n \r\n {{item.amount | number: \"0.0-4\"}} {{item.symbol}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {{item.transferType}}
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n {{item.transactionData}}\r\n \r\n \r\n {{item.createdDate | date}}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {{pageIndex}}-{{pageSize}} of {{length}}\r\n
    \r\n
    \r\n The page you're on {{pageIndex}}\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { IStatementResponse } from \"src/app/core/models/statement/statement\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class StatementService {\r\n private apiUrl = environment.api;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getStatementList(page: number, pageSize: number, activityType?: number, fromDate?: string, toDate?: string, searchTerm?: string, symbol?: string): Observable {\r\n let url = `${this.apiUrl}/activity/userstatement?page=${page}&pageSize=${pageSize}`\r\n \r\n if (activityType) {\r\n url = url + `&activityType=${activityType}`\r\n }\r\n\r\n if (fromDate) {\r\n url = url + `&fromDate=${fromDate}`\r\n }\r\n\r\n if (toDate) {\r\n url = url + `&toDate=${toDate}`\r\n }\r\n\r\n if (searchTerm) {\r\n url = url + `&searchTerm=${searchTerm}`\r\n }\r\n\r\n if (symbol) {\r\n url = url + `&symbol=${symbol}`\r\n }\r\n\r\n return this.http.get(url);\r\n }\r\n\r\n getFixedDepositStatementList(id: string, page: number, pageSize: number, activityType?: number, fromDate?: string, toDate?: string, searchTerm?: string, symbol?: string): Observable {\r\n let url = `${this.apiUrl}/activity/fdstatement?depositInterestId=${id}&page=${page}&pageSize=${pageSize}`\r\n \r\n if (activityType) {\r\n url = url + `&activityType=${activityType}`\r\n }\r\n\r\n if (fromDate) {\r\n url = url + `&fromDate=${fromDate}`\r\n }\r\n\r\n if (toDate) {\r\n url = url + `&toDate=${toDate}`\r\n }\r\n\r\n if (searchTerm) {\r\n url = url + `&searchTerm=${searchTerm}`\r\n }\r\n\r\n if (symbol) {\r\n url = url + `&symbol=${symbol}`\r\n }\r\n\r\n return this.http.get(url);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ActivityHomeComponent } from '../activity/activity-home/activity-home.component';\r\nimport { AuthGuardService } from '../core/services/auth-guard/auth-guard.service';\r\nimport { GenerateStatementComponent } from './generate-statement/generate-statement.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"statement\",\r\n component: GenerateStatementComponent\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class StatementRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { StatementRoutingModule } from './statement-routing.module';\r\nimport { GenerateStatementComponent } from './generate-statement/generate-statement.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { MDBBootstrapModulesPro } from 'ng-uikit-pro-standard';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n@NgModule({\r\n declarations: [GenerateStatementComponent],\r\n imports: [\r\n CommonModule,\r\n StatementRoutingModule,\r\n SharedModule,\r\n ToastrModule.forRoot(),\r\n MDBBootstrapModulesPro.forRoot(),\r\n FormsModule\r\n ]\r\n})\r\nexport class StatementModule { }\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport {\r\n ISwapAddress,\r\n ISwapReceivingAddress,\r\n ISwapListData,\r\n} from \"src/app/core/models/swap/swap\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class SwapService {\r\n private apiUrl = environment.api;\r\n private isLoading = new BehaviorSubject(false);\r\n private customerAddFlag = new BehaviorSubject(false);\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n getDepositAddress(data: {\r\n currencyId: string;\r\n currency: string;\r\n }): Observable {\r\n return this.http.post(`${this.apiUrl}/swap/create`, data);\r\n }\r\n getReceivingWallet(): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/swap/getAddress`\r\n );\r\n }\r\n getList(): Observable {\r\n return this.http.get(`${this.apiUrl}/swap/getall`);\r\n }\r\n resendVerificationEmail(): Observable<{\r\n statusCode: number;\r\n message: string;\r\n }> {\r\n return this.http.get<{ statusCode: number; message: string }>(\r\n `${this.apiUrl}/swap/resendswapaddressconfirmationrequest`\r\n );\r\n }\r\n\r\n submitReceivingWallet(\r\n data: ISwapReceivingAddress\r\n ): Observable {\r\n return this.http.post(\r\n `${this.apiUrl}/swap/receiving/address`,\r\n data\r\n );\r\n }\r\n\r\n /* editCustomerUSD(formData: FormData): Observable {\r\n return this.http.get(`${this.apiUrl}`);\r\n } */\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { IMyOptions } from \"ng-uikit-pro-standard\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IS_CAS_SWAP_Enabled, UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { ICurrency } from \"src/app/core/models/currency\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { ICustomer } from \"src/app/core/models/recipient/recipient-add-usd\";\r\nimport {\r\n ISwapListData,\r\n ISwapReceivingAddress,\r\n} from \"src/app/core/models/swap/swap\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { SwapService } from \"../services/swap.service\";\r\nimport { Status } from \"src/app/core/enums/swapEnum\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nconst customerType = require(\"../../../assets/json/customerType.json\");\r\nconst addressdocumentTypes = require(\"../../../assets/json/addressProofDocumentType.json\");\r\nconst identitydocumentTypes = require(\"../../../assets/json/identityProofDocumentType.json\");\r\n\r\n@Component({\r\n selector: \"cashaa-swap-home\",\r\n templateUrl: \"./swap-home.component.html\",\r\n styleUrls: [\"./swap-home.component.scss\"],\r\n})\r\nexport class SwapHomeComponent implements OnInit {\r\n depositAddress: string;\r\n receivingWallet: ISwapReceivingAddress;\r\n listData: ISwapListData[];\r\n copiedValue: string;\r\n copiedAddress: boolean;\r\n loader: boolean;\r\n receivedBalance = 0;\r\n public form: FormGroup;\r\n status = Status;\r\n walletOptions;\r\n walletEnum = {\r\n 1: \"Cashaa Wallet\",\r\n 2: \"Trust Wallet\",\r\n 3: \"Ledger NanoS\",\r\n 4: \"Binance DEX\",\r\n 5: \"Other BEP2 Wallet\",\r\n };\r\n constructor(\r\n private swapService: SwapService,\r\n private toastrService: ToastrService,\r\n private fb: FormBuilder,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if(sessionStorage.getItem(IS_CAS_SWAP_Enabled) == 'false') {\r\n this.router.navigateByUrl('/activity')\r\n }\r\n this.createForm();\r\n this.getAddress();\r\n //this.getReceivingWallet();\r\n this.getList();\r\n this.walletOptions = [\r\n { value: 1, label: \"Cashaa Wallet\" },\r\n { value: 2, label: \"Trust Wallet\" },\r\n { value: 3, label: \"Ledger NanoS\" },\r\n { value: 4, label: \"Binance DEX\" },\r\n { value: 5, label: \"Other BEP2 Wallet\" },\r\n ];\r\n\r\n this.form.controls.walletType.valueChanges.subscribe((ev) => {\r\n this.form.controls[\"address\"].clearValidators();\r\n this.form.controls[\"address\"].updateValueAndValidity({\r\n onlySelf: true,\r\n });\r\n this.form.updateValueAndValidity({ onlySelf: true });\r\n if (ev !== 1) {\r\n this.form.controls[\"address\"].setValidators(Validators.required);\r\n }\r\n this.form.updateValueAndValidity();\r\n });\r\n }\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n walletType: [\"\", Validators.required],\r\n address: [\"\"],\r\n });\r\n }\r\n\r\n /**\r\n * Open add recipient modal\r\n */\r\n getAddress(): void {\r\n this.loader = true;\r\n this.swapService\r\n .getDepositAddress({\r\n currencyId: \"ffc6c1df-073f-4f50-2534-08d7b39928d1\",\r\n currency: \"ETH\",\r\n })\r\n .subscribe(\r\n (res) => {\r\n this.depositAddress = res.address;\r\n this.loader = false;\r\n },\r\n (err) => {\r\n this.loader = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n getReceivingWallet(): void {\r\n this.loader = true;\r\n this.swapService.getReceivingWallet().subscribe(\r\n (res) => {\r\n if (res.walletType) {\r\n this.receivingWallet = res;\r\n }\r\n this.loader = false;\r\n },\r\n (err) => {\r\n this.loader = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n getList(): void {\r\n this.loader = true;\r\n this.swapService.getList().subscribe(\r\n (res) => {\r\n if (res) {\r\n this.listData = res;\r\n this.listData.forEach((row) => {\r\n this.receivedBalance += row.amount;\r\n });\r\n } else {\r\n this.receivedBalance = 0;\r\n }\r\n this.loader = false;\r\n },\r\n (err) => {\r\n this.loader = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n copyItem(value): void {\r\n if (value && value !== this.copiedValue) {\r\n this.copiedValue = value.trim();\r\n navigator.clipboard.writeText(value);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n }\r\n }\r\n\r\n onSubmit(val) {\r\n this.loader = true;\r\n let data: ISwapReceivingAddress = {\r\n walletType: val.walletType,\r\n verified: false,\r\n };\r\n if (val.walletType !== 1) {\r\n data.address = val.address;\r\n }\r\n this.swapService.submitReceivingWallet(data).subscribe(\r\n (res) => {\r\n this.receivingWallet = res;\r\n this.loader = false;\r\n },\r\n (err) => {\r\n this.loader = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n resendVerification() {\r\n this.loader = true;\r\n this.swapService.resendVerificationEmail().subscribe(\r\n (res) => {\r\n this.toastrService.success(res.message);\r\n this.loader = false;\r\n },\r\n (err) => {\r\n this.loader = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n\r\n copyMemoAddress(): void {\r\n if (this.depositAddress) {\r\n this.copiedAddress = true;\r\n navigator.clipboard.writeText(this.depositAddress);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copiedAddress = false), 2000);\r\n }\r\n }\r\n\r\n getValue(id: string): string {\r\n return environment.NETWORK_ERC20 + id;\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n \r\n
    \r\n
    CAS SWAP
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n \r\n \"\"\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n CAS-ERC20 Deposit Address\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{depositAddress }}\r\n
    \r\n \r\n
    \r\n
    \r\n Received CAS (ERC20) : {{receivedBalance}}\r\n
    \r\n
    \r\n
    \r\n

    You\r\n will receive your BEP2 token after 13 January 2023 (Completed all steps before 13 December 2022,\r\n 4:00 AM BST) – Fees 15%\"\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Deposit History\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    AmountTransaction IDFrom AddressStatusIs Released
    No Data Found
    {{item.amount}}  {{item.transactionId}}\r\n {{item.fromAddress}} \r\n {{status[item.status]}} \r\n {{item.isReleased}} \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuardService } from \"../core/services/auth-guard/auth-guard.service\";\r\nimport { SwapHomeComponent } from \"./swap-home/swap-home.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"cas-swap\",\r\n component: SwapHomeComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class SwapRoutingModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { SwapHomeComponent } from \"./swap-home/swap-home.component\";\r\nimport { SwapRoutingModule } from \"./swap-routing.module\";\r\nimport { QRCodeModule } from \"angular2-qrcode\";\r\n\r\n@NgModule({\r\n declarations: [SwapHomeComponent],\r\n imports: [\r\n CommonModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ToastrModule.forRoot(),\r\n SharedModule,\r\n ReactiveFormsModule,\r\n SwapRoutingModule,\r\n QRCodeModule,\r\n ],\r\n})\r\nexport class SwapModule {}\r\n","import { Injectable, OnChanges } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { ITradeChange } from \"src/app/core/models/trade\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TradeService {\r\n /** on trade change emitter */\r\n tradeChangeEmitter = new BehaviorSubject(undefined);\r\n\r\n constructor() {}\r\n\r\n /**\r\n * Get trade change emitter\r\n */\r\n getTradeChangeEmitter(): Observable {\r\n return this.tradeChangeEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * emit trade change\r\n * @param change change\r\n */\r\n emitTradeChange(change: ITradeChange): void {\r\n this.tradeChangeEmitter.next(change);\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { CRYPTO_CURRENCY, TRADE_MODE } from \"src/app/app.constants\";\r\nimport { TradeService } from \"../services/trade.service\";\r\nimport { Subscription, Subject } from \"rxjs\";\r\nimport { RateWebsocketService } from \"src/app/core/services/rate-websocket/rate-websocket.service\";\r\nimport { IMarketRate } from \"src/app/core/models/market-rate\";\r\nimport { ITradeChange } from \"src/app/core/models/trade\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\n\r\n@Component({\r\n selector: \"cashaa-trade-buy-form\",\r\n templateUrl: \"./trade-buy-form.component.html\",\r\n styleUrls: [\"./trade-buy-form.component.scss\"],\r\n})\r\nexport class TradeBuyFormComponent implements OnInit, OnDestroy {\r\n /** currency form group */\r\n form: FormGroup;\r\n\r\n /** From currency */\r\n fromCurrency = \"\";\r\n\r\n /** to currency */\r\n toCurrency = CRYPTO_CURRENCY.CAS;\r\n\r\n /** market data subscription */\r\n sub$: Subscription;\r\n\r\n /** Market rate */\r\n marketData: IMarketRate[] = [];\r\n\r\n /** reset currency prices emitter */\r\n resetCurrencyPrices = new Subject();\r\n\r\n constructor(\r\n private rateWebsocketService: RateWebsocketService,\r\n private tradeService: TradeService,\r\n private fb: FormBuilder\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n //this.listenToMarketData();\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n fromAmount: [0],\r\n toAmount: [0],\r\n });\r\n }\r\n\r\n /**\r\n * Listen to market data change\r\n */\r\n listenToMarketData(): void {\r\n this.sub$ = this.rateWebsocketService\r\n .getMarketDataEmitter()\r\n .subscribe((data) => {\r\n this.marketData = data;\r\n });\r\n }\r\n\r\n /**\r\n * On Currency change\r\n */\r\n onFromCurrencyChange(change: IUserBalance): void {\r\n this.fromCurrency = change.currencyType;\r\n this.convertCurrencyRates(this.form.controls.fromAmount.value, true);\r\n\r\n // Using timeout to simulate asynchrounous behaviour, otherwise\r\n // input value fromCurrency is not updated till then\r\n setTimeout(() => this.resetCurrencyPrices.next());\r\n }\r\n\r\n /**\r\n * on to currency change\r\n * @param change new currency\r\n */\r\n onToCurrencyChange(change: string): void {\r\n this.toCurrency = change;\r\n this.convertCurrencyRates(this.form.controls.fromAmount.value, true);\r\n }\r\n\r\n /**\r\n * On from Currency amount change\r\n */\r\n onFromCurrencyAmountChange(newAmount: number): void {\r\n this.convertCurrencyRates(newAmount, true);\r\n }\r\n\r\n /**\r\n * on to currency amount change\r\n * @param change new currency\r\n */\r\n onToCurrencyAmountChange(newAmount: number): void {\r\n this.convertCurrencyRates(newAmount, false);\r\n }\r\n\r\n /**\r\n * convert currency rates\r\n */\r\n convertCurrencyRates(value: number, from: boolean): void {\r\n const found = this.marketData.filter(\r\n (data) =>\r\n data.From === this.fromCurrency &&\r\n data.To === this.toCurrency &&\r\n data.side === 1\r\n );\r\n\r\n let rate = 0;\r\n if (found.length > 0) {\r\n rate = found[0].Rate;\r\n }\r\n\r\n if (from) {\r\n const newValue = rate ? (value || 0) / rate : 0;\r\n this.form.controls.toAmount.setValue(newValue);\r\n } else {\r\n const newValue = rate ? (value || 0) * rate : 0;\r\n this.form.controls.fromAmount.setValue(newValue);\r\n }\r\n this.emitTradeData(rate);\r\n }\r\n\r\n /**\r\n * Emit trade data\r\n */\r\n emitTradeData(rate: number): void {\r\n const data: ITradeChange = {\r\n from: this.fromCurrency,\r\n to: this.toCurrency,\r\n mode: TRADE_MODE.BUY,\r\n fromAmount: this.form.controls.fromAmount.value,\r\n toAmount: this.form.controls.toAmount.value,\r\n error: this.form.invalid,\r\n rate,\r\n };\r\n this.tradeService.emitTradeChange(data);\r\n }\r\n\r\n /**\r\n * On destroy life cycle\r\n */\r\n ngOnDestroy(): void {\r\n if (this.sub$) {\r\n this.sub$.unsubscribe();\r\n }\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Select Payment Method\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Amount\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { TRADE_MODE } from \"src/app/app.constants\";\r\nimport { TradeService } from \"../services/trade.service\";\r\nimport { ITradeChange } from \"src/app/core/models/trade\";\r\n\r\n@Component({\r\n selector: \"cashaa-trade-buy-sell-confirmation\",\r\n templateUrl: \"./trade-buy-sell-confirmation.component.html\",\r\n styleUrls: [\"./trade-buy-sell-confirmation.component.scss\"],\r\n})\r\nexport class TradeBuySellConfirmationComponent implements OnInit {\r\n /** buy or sell mode */\r\n mode = TRADE_MODE.BUY;\r\n\r\n /** trade Data change */\r\n tradeData: ITradeChange;\r\n\r\n constructor(private tradeService: TradeService) {}\r\n\r\n ngOnInit(): void {\r\n this.listenToTradeDataChange();\r\n }\r\n\r\n /**\r\n * Listen to trade data change\r\n */\r\n listenToTradeDataChange(): void {\r\n this.tradeService.getTradeChangeEmitter().subscribe((data) => {\r\n if (data) {\r\n this.mode = data.mode;\r\n this.tradeData = data;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
    \r\n

    \r\n {{ mode == \"buy\" ? \"You are buying\" : \"You will get\" }}\r\n

    \r\n

    \r\n {{ tradeData?.toAmount || 0 }} {{ tradeData?.to }}\r\n

    \r\n

    \r\n {{ tradeData?.rate }} {{ tradeData?.from }} per {{ tradeData?.to }}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n {{ mode == \"buy\" ? \"Payment method\" : \"Withdraw from\" }}\r\n

    \r\n
    \r\n {{ tradeData?.from }} wallet\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Deposit to

    \r\n
    \r\n {{ tradeData?.to }} wallet\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{ tradeData?.toAmount || 0 }} {{ tradeData?.to }}

    \r\n

    £ {{ tradeData?.fromAmount || 0 }}

    \r\n
    \r\n
    \r\n
    \r\n

    Fee

    \r\n

    £ 0

    \r\n
    \r\n
    \r\n
    \r\n

    Total

    \r\n

    £ {{ tradeData?.fromAmount || 0 }}

    \r\n
    \r\n
    \r\n \r\n {{ mode == \"buy\" ? \"Buy \" + tradeData?.to : \"Sell\" }}\r\n \r\n
    \r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { TradeService } from \"../services/trade.service\";\r\nimport { TRADE_MODE } from \"src/app/app.constants\";\r\nimport { ITradeChange } from \"src/app/core/models/trade\";\r\nimport { TabsetComponent, TabDirective } from \"ng-uikit-pro-standard\";\r\n\r\n@Component({\r\n selector: \"cashaa-trade-buy-sell-tabs\",\r\n templateUrl: \"./trade-buy-sell-tabs.component.html\",\r\n styleUrls: [\"./trade-buy-sell-tabs.component.scss\"],\r\n})\r\nexport class TradeBuySellTabsComponent implements OnInit {\r\n /** shown tab */\r\n shownTab = 0;\r\n\r\n constructor(private tradeService: TradeService) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n /**\r\n * On tab change\r\n */\r\n onTabChange(event: any): void {\r\n this.shownTab = event && event.activeTabIndex ? event.activeTabIndex : 0;\r\n }\r\n}\r\n","\r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cashaa-trade-home',\r\n templateUrl: './trade-home.component.html',\r\n styleUrls: ['./trade-home.component.scss']\r\n})\r\nexport class TradeHomeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { TradeHomeComponent } from \"./trade-home/trade-home.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nconst routes: Routes = [\r\n {\r\n path: \"trade\",\r\n component: TradeHomeComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class TradeRoutingModule {}\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { RateWebsocketService } from \"src/app/core/services/rate-websocket/rate-websocket.service\";\r\nimport { TradeService } from \"../services/trade.service\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { IMarketRate } from \"src/app/core/models/market-rate\";\r\nimport { ITradeChange } from \"src/app/core/models/trade\";\r\nimport { TRADE_MODE } from \"src/app/app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-trade-sell-form\",\r\n templateUrl: \"./trade-sell-form.component.html\",\r\n styleUrls: [\"./trade-sell-form.component.scss\"],\r\n})\r\nexport class TradeSellFormComponent implements OnInit, OnDestroy {\r\n /** currency form group */\r\n form: FormGroup;\r\n\r\n /** From currency */\r\n fromCurrency = \"\";\r\n\r\n /** to currency */\r\n toCurrency = \"\";\r\n\r\n /** market data subscription */\r\n sub$: Subscription;\r\n\r\n /** Market rate */\r\n marketData: IMarketRate[] = [];\r\n\r\n constructor(\r\n private rateWebsocketService: RateWebsocketService,\r\n private tradeService: TradeService,\r\n private fb: FormBuilder\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.listenToMarketData();\r\n this.emitTradeData(0);\r\n }\r\n\r\n /**\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n fromAmount: [0],\r\n toAmount: [0],\r\n });\r\n }\r\n\r\n /**\r\n * Listen to market data change\r\n */\r\n listenToMarketData(): void {\r\n this.sub$ = this.rateWebsocketService\r\n .getMarketDataEmitter()\r\n .subscribe((data) => {\r\n this.marketData = data;\r\n });\r\n }\r\n\r\n /**\r\n * on currency change\r\n * @param change new currency with balance\r\n */\r\n onFromCurrencyChange(change: IUserBalance): void {\r\n this.fromCurrency = change.currencyType;\r\n this.convertCurrencyRates(this.form.controls.fromAmount.value, true);\r\n }\r\n\r\n /**\r\n * on currency change\r\n * @param change new currency with balance\r\n */\r\n onToCurrencyChange(change: IUserBalance): void {\r\n this.toCurrency = change.currencyType;\r\n this.convertCurrencyRates(this.form.controls.fromAmount.value, true);\r\n }\r\n\r\n /**\r\n * On from Currency amount change\r\n */\r\n onFromCurrencyAmountChange(newAmount: number): void {\r\n this.convertCurrencyRates(newAmount, true);\r\n }\r\n\r\n /**\r\n * on to currency amount change\r\n * @param change new currency\r\n */\r\n onToCurrencyAmountChange(newAmount: number): void {\r\n this.convertCurrencyRates(newAmount, false);\r\n }\r\n\r\n /**\r\n * Convert currency changes\r\n */\r\n convertCurrencyRates(amount: number, from: boolean): void {\r\n const found = this.marketData.filter(\r\n (data) =>\r\n data.From === this.fromCurrency &&\r\n data.To === this.toCurrency &&\r\n data.side === 2\r\n );\r\n\r\n let rate = 0;\r\n if (found.length > 0) {\r\n rate = found[0].Rate;\r\n }\r\n\r\n if (from) {\r\n const newValue = rate ? (amount || 0) / rate : 0;\r\n this.form.controls.toAmount.setValue(newValue);\r\n } else {\r\n const newValue = rate ? (amount || 0) * rate : 0;\r\n this.form.controls.fromAmount.setValue(newValue);\r\n }\r\n this.emitTradeData(rate);\r\n }\r\n\r\n /**\r\n * Emit trade data\r\n */\r\n emitTradeData(rate: number): void {\r\n const data: ITradeChange = {\r\n from: this.fromCurrency,\r\n to: this.toCurrency,\r\n mode: TRADE_MODE.SELL,\r\n fromAmount: this.form.controls.fromAmount.value,\r\n toAmount: this.form.controls.toAmount.value,\r\n error: this.form.invalid,\r\n rate,\r\n };\r\n this.tradeService.emitTradeChange(data);\r\n }\r\n\r\n /**\r\n * On destroy life cycle\r\n */\r\n ngOnDestroy(): void {\r\n if (this.sub$) {\r\n this.sub$.unsubscribe();\r\n }\r\n }\r\n}\r\n","
    \r\n
    \r\n Sell From\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Select Receiving Wallet\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Amount\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TradeBuySellTabsComponent } from \"./trade-buy-sell-tabs/trade-buy-sell-tabs.component\";\r\nimport { TradeBuyFormComponent } from \"./trade-buy-form/trade-buy-form.component\";\r\nimport { TradeSellFormComponent } from \"./trade-sell-form/trade-sell-form.component\";\r\nimport { TradeRoutingModule } from \"./trade-routing.module\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { TradeHomeComponent } from \"./trade-home/trade-home.component\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { TradeBuySellConfirmationComponent } from \"./trade-buy-sell-confirmation/trade-buy-sell-confirmation.component\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\n\r\n@NgModule({\r\n declarations: [\r\n TradeBuySellTabsComponent,\r\n TradeBuyFormComponent,\r\n TradeBuyFormComponent,\r\n TradeSellFormComponent,\r\n TradeHomeComponent,\r\n TradeBuySellConfirmationComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n TradeRoutingModule,\r\n FormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ToastrModule.forRoot(),\r\n SharedModule,\r\n ],\r\n})\r\nexport class TradeModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MDBModalRef } from 'ng-uikit-pro-standard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { BASE_PLAN, DIAMOND_PLAN, GOLD_PLAN, SILVER_PLAN, USER_INTEREST_MODE, USER_TYPE } from 'src/app/app.constants';\r\nimport { IUserPlan, IUserPlanDetail } from 'src/app/core/models/user-plan/user-detail';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { UserService } from 'src/app/core/services/user/user.service';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\n\r\n@Component({\r\n selector: 'cashaa-earn-plan-details',\r\n templateUrl: './earn-plan-details.component.html',\r\n styleUrls: ['./earn-plan-details.component.scss']\r\n})\r\nexport class EarnPlanDetailsComponent implements OnInit {\r\n\r\n userCurrentPlan: IUserPlanDetail;\r\n loader: boolean = false;\r\n userPlanDetailByCurrency: IUserPlan[];\r\n currentPlanUserDetail: IUserPlan;\r\n diamondPlan: IUserPlan;\r\n userInterestMode: string = sessionStorage.getItem(USER_INTEREST_MODE);\r\n upgradePlanName: string;\r\n \r\n casDepositRates: number[];\r\n isFixedDepositEnable: boolean\r\n isFixedAndEarnEnable: boolean\r\n maxInterestModeRate: number[];\r\n isEarnModuleNotActive: boolean;\r\n isFiatCurrency: boolean;\r\n casDepositRatesLessThan365: number[];\r\n casDepositRatesGreaterThan365: number[];\r\n userType: string = sessionStorage.getItem(USER_TYPE);\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"CUSD\", \"CGBP\", \"CEUR\", \"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\"];\r\n selectedCurrency;\r\n sub: Subscription;\r\n\r\n loyaltyPlanName: string;\r\n upgradeTo: string;\r\n balance: number;\r\n currencyId: string;\r\n symbol:string\r\n fLexTerm: number;\r\n fixedTerm: number;\r\n earnUpto: number;\r\n longEarnUpTo: number;\r\n minFlexAmount: number;\r\n isFlexSubscribed: boolean;\r\n casBonus: boolean;\r\n highestEarnUpto;\r\n constructor(public modalRef: MDBModalRef, public router: Router, private userService: UserService,\r\n private modalService: ModalService, private commonSavedData: CommonSavedData, private toastrService: ToastrService) { }\r\n\r\n ngOnInit(): void {\r\n this.earnUpto > this.longEarnUpTo ? this.highestEarnUpto = this.earnUpto : this.highestEarnUpto = this.longEarnUpTo;\r\n this.getCurrencyInfo();\r\n if (this.fiatCurrencies.includes(this.symbol)) {\r\n this.isFiatCurrency = true;\r\n } else {\r\n this.isFiatCurrency = false;\r\n }\r\n }\r\n\r\n getCurrencyInfo() {\r\n this.userService.getFlexAndFdDetail().subscribe((res) => {\r\n let currencyInfo = res;\r\n this.selectedCurrency = currencyInfo.filter(item => item.currencyId == this.currencyId);\r\n this.isFlexSubscribed = this.selectedCurrency[0].isFlexSubscribed;\r\n }, err => {\r\n // this.loading = false;\r\n });\r\n }\r\n\r\n redirectPlans(): void {\r\n this.modalRef.hide();\r\n this.router.navigateByUrl('/plans');\r\n }\r\n\r\n redirectDepositInterest(): void {\r\n this.modalRef.hide();\r\n this.router.navigateByUrl(`/deposit-interest?c=${this.symbol}`);\r\n }\r\n // redirectDepositInterestForLongTerm() {\r\n // this.modalRef.hide();\r\n // this.router.navigateByUrl(`/deposit-interest?c=${this.symbol}&longTerm=true`);\r\n // }\r\n\r\n getRate(): number {\r\n if (this.userInterestMode === 'InKind') {\r\n if (this.currentPlanUserDetail) {\r\n return this.currentPlanUserDetail.kindRate;\r\n } else {\r\n return 0;\r\n }\r\n } else {\r\n if (this.currentPlanUserDetail && this.currentPlanUserDetail.casRate) {\r\n return Number(this.currentPlanUserDetail.casRate + this.currentPlanUserDetail.kindRate);\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n }\r\n\r\n getMinCasDepositRate(): number {\r\n // return this.maxInterestModeRate.length > 0 ? Math.max(...this.maxInterestModeRate) : 0;\r\n if (this.maxInterestModeRate.length > 0) {\r\n return Math.max(...this.maxInterestModeRate);\r\n } else {\r\n return Math.max(...this.casDepositRates);\r\n }\r\n }\r\n\r\n getMaxCasDepositRate(): number {\r\n // return this.casDepositRates.length > 0 ? Math.max(...this.casDepositRates) : 0;\r\n return this.casDepositRatesGreaterThan365.length > 0 ? Math.max(...this.casDepositRatesGreaterThan365) : 0;\r\n\r\n }\r\n getMaxCasDepositLessThanEqualRate(): number {\r\n return this.casDepositRatesLessThan365.length > 0 ? Math.max(...this.casDepositRatesLessThan365) : 0;\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n deposit() {\r\n if (this.fiatCurrencies.includes(this.symbol)) {\r\n this.router.navigateByUrl(`/deposit?currency=${this.symbol}`);\r\n } else {\r\n this.router.navigateByUrl(`/wallet?c=${this.symbol}#${this.symbol}`);\r\n }\r\n this.modalRef.hide();\r\n }\r\n redirectToSetting() {\r\n this.router.navigateByUrl('/settings');\r\n }\r\n\r\n subcribe() {\r\n if (this.balance > this.minFlexAmount) {\r\n this.modalService.openConfirmationModal(`You need to maintain ${this.minFlexAmount}${this.symbol} in your ${this.symbol} account to receive flex interest.
    Are you sure you want to subscribe?`);\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n this.sub.unsubscribe();\r\n if (status) {\r\n this.userService.subscribeUnsubscribe(this.selectedCurrency[0].currencyId).subscribe(res => {\r\n this.getCurrencyInfo();\r\n this.toastrService.success(res.message);\r\n \r\n }, err => {\r\n this.toastrService.error(err.error.message);\r\n })\r\n }\r\n });\r\n } else {\r\n this.toastrService.error(`Minimum balance is required to subscribe is ${this.minFlexAmount}${this.symbol}. Please deposit the amount.`);\r\n }\r\n\r\n }\r\n\r\n unsub() {\r\n this.modalService.openConfirmationModal(\"Are you sure you want to unsubscribe?\");\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n this.sub.unsubscribe();\r\n if (status) {\r\n this.userService.subscribeUnsubscribe(this.selectedCurrency[0].currencyId).subscribe(res => {\r\n this.getCurrencyInfo();\r\n this.toastrService.success(res.message);\r\n this.sub.unsubscribe();\r\n\r\n }, err => {\r\n this.toastrService.error(err.error.message);\r\n\r\n })\r\n }\r\n });\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n

    Interest Breakdown

    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \"\"\r\n\r\n \r\n \r\n \r\n \r\n {{symbol}} Savings Wallet Balance\r\n
    \r\n \r\n \r\n {{symbol}}\r\n {{balance | number: \"0.0-4\" }}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n Deposit or buy {{symbol}} and start earning\r\n

    \r\n

    \r\n Deposit or buy {{symbol}} coin and start earning\r\n

    \r\n \r\n \r\n
    \r\n

    You will earn

    \r\n \r\n
    \r\n

    \r\n {{fLexTerm}}%\r\n

    Flex Term\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    \r\n {{fixedTerm}}%\r\n

    \r\n Fixed term\r\n
    \r\n \r\n
    \r\n \r\n

    \r\n Earn up to {{highestEarnUpto}}% interest with Fixed\r\n Term Deposits\r\n

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Loyalty Level

    \r\n
    \r\n\r\n

    \r\n \"\"{{loyaltyPlanName}}\r\n

    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    Interest Options

    \r\n
    Earn in Cas
    \r\n \r\n

    \r\n Get {{casBonus}}% Bonus\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BASE_PLAN, DIAMOND_PLAN, GOLD_PLAN, SILVER_PLAN, USER_TYPE } from 'src/app/app.constants';\r\nimport { IDepositInterestPlan } from 'src/app/core/models/deposit-interest/deposit-interest';\r\nimport { IUserInterestList, IUserPlan, IUserPlanDetail, PlanDetails } from 'src/app/core/models/user-plan/user-detail';\r\nimport { UserService } from 'src/app/core/services/user/user.service';\r\nimport { DepositInterestService } from 'src/app/deposit-interest/service/deposit-interest.service';\r\n\r\n@Component({\r\n selector: 'cashaa-plan-details',\r\n templateUrl: './plan-details.component.html',\r\n styleUrls: ['./plan-details.component.scss']\r\n})\r\nexport class PlanDetailsComponent implements OnInit {\r\n userCurrentPlan: IUserPlanDetail;\r\n loading: boolean = false;\r\n isBase: boolean = false;\r\n isSilver: boolean = false;\r\n isGold: boolean = false;\r\n isDiamond: boolean = false;\r\n basePlans: IUserPlan[] = [];\r\n silverPlans: IUserPlan[] = [];\r\n goldPlans: IUserPlan[] = [];\r\n daimondPlans: IUserPlan[] = [];\r\n allPlans = [];\r\n // interestList: IUserInterestList;\r\n borrowBenefit;\r\n highLTVRate = [];\r\n exchangeCashback = [];\r\n earnBenefits = [];\r\n additionalBenefits = [];\r\n basePlanDesc = [];\r\n silverPlanDesc = [];\r\n goldPlanDesc = [];\r\n diamondPlanDesc = [];\r\n maxCryptoRateCoins;\r\n cryptoFixedDepoistRate = [];\r\n maxFiatRateCoins;\r\n fiatFixedDepoistRate = [];\r\n maxStableRateCoins;\r\n stableFixedDepoistRate = [];\r\n maxCashaaRateCoins;\r\n cashaaFixedDepoistRate = [];\r\n\r\n userType: string = sessionStorage.getItem(USER_TYPE);\r\n allplanCasBonus = [{ 'base': 0.5 }, { 'silver': 1 }, { 'gold': 2 }, { 'diamond': 3 }];\r\n symbol;\r\n basePlanNameId = '7c57b4ea-3cfc-4520-b2bd-db442be4d763';\r\n silverPlanNameId = '48654d6c-bd60-4054-85cc-a484ceeeef92';\r\n goldPlanNameId = 'c138f175-28d7-4ab4-99b6-8bb8b9f8251a';\r\n diamondPlanNameId = '016688f1-9caa-40ed-b77c-2095d5c85baa';\r\n cryptoCurrencyWithMaxRate = [];\r\n fiatCurrencyWithMaxRate = [];\r\n stableCurrencyWithMaxRate = [];\r\n planDetails: PlanDetails;\r\n constructor(private userService: UserService, private router: Router,\r\n private activateRoute: ActivatedRoute, private depositService: DepositInterestService) { }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.getPlanListDetails();\r\n this.userService.getInterestList().subscribe((data: IUserInterestList) => {\r\n this.borrowBenefit = [[12, 11, 8, 6], [10, 15, 20, 50]];\r\n // this.borrowBenefit = data.bowrrowBenefits[0];\r\n // this.highLTVRate.push(this.borrowBenefit.base[0]);\r\n // this.highLTVRate.push(this.borrowBenefit.silver[0]);\r\n // this.highLTVRate.push(this.borrowBenefit.diamond[0]);\r\n // this.highLTVRate.push(this.borrowBenefit.gold[0]);\r\n\r\n this.exchangeCashback.push(data.exchangeBenefits[0]);\r\n\r\n this.earnBenefits.push(data.earnBenefits[0].base[0]);\r\n this.earnBenefits.push(data.earnBenefits[0].silver[0]);\r\n this.earnBenefits.push(data.earnBenefits[0].gold[0]);\r\n this.earnBenefits.push(data.earnBenefits[0].diamond[0]);\r\n\r\n this.additionalBenefits.push(data.additionalBenefits[0].base[0]);\r\n this.additionalBenefits.push(data.additionalBenefits[0].silver[0]);\r\n this.additionalBenefits.push(data.additionalBenefits[0].gold[0]);\r\n this.additionalBenefits.push(data.additionalBenefits[0].diamond[0]);\r\n })\r\n this.userService.getUserPlanDetail().subscribe((data: IUserPlanDetail) => {\r\n this.userCurrentPlan = data;\r\n if (this.userCurrentPlan.name === BASE_PLAN) {\r\n this.isBase = true;\r\n } else if (this.userCurrentPlan.name === SILVER_PLAN) {\r\n this.isSilver = true;\r\n } else if (this.userCurrentPlan.name === GOLD_PLAN) {\r\n this.isGold = true;\r\n } else {\r\n this.isDiamond = true;\r\n }\r\n this.loading = false;\r\n });\r\n\r\n this.userService.getAllPlansDetails().subscribe((data: IUserPlan[]) => {\r\n this.symbol = data[0].symbol;\r\n this.allPlans = data;\r\n this.basePlans = data.filter(plans => plans.loyaltyPlanName === BASE_PLAN);\r\n this.silverPlans = data.filter(plans => plans.loyaltyPlanName === SILVER_PLAN);\r\n this.goldPlans = data.filter(plans => plans.loyaltyPlanName === GOLD_PLAN);\r\n this.daimondPlans = data.filter(plans => plans.loyaltyPlanName === DIAMOND_PLAN);\r\n const cryptodiamondPlan = this.allPlans.filter(ele => ele.currencyNature === 'Crypto' && ele.loyaltyPlanNameId === this.diamondPlanNameId);\r\n const cryptoMaxRate = cryptodiamondPlan.map(ele => ele.kindRate);\r\n let cryptoMax = Math.max(...cryptoMaxRate);\r\n let cryptoCurrWdMax;\r\n this.allPlans.filter(ele => {\r\n if (ele.currencyNature === 'Crypto' && ele.kindRate === cryptoMax) {\r\n cryptoCurrWdMax = ele;\r\n }\r\n });\r\n let allPlanofCurr = []\r\n this.allPlans.filter(ele => {\r\n if (cryptoCurrWdMax.currencyId === ele.currencyId) {\r\n allPlanofCurr.push(ele);\r\n }\r\n })\r\n allPlanofCurr.map(ele => {\r\n if (ele.loyaltyPlanNameId === this.basePlanNameId) {\r\n this.cryptoCurrencyWithMaxRate[0] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.silverPlanNameId) {\r\n this.cryptoCurrencyWithMaxRate[1] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.goldPlanNameId) {\r\n this.cryptoCurrencyWithMaxRate[2] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.diamondPlanNameId) {\r\n this.cryptoCurrencyWithMaxRate[3] = ele;\r\n }\r\n })\r\n const fiatDiamondPlan = this.allPlans.filter(ele => ele.currencyNature === 'Fiat' && ele.loyaltyPlanNameId === this.diamondPlanNameId);\r\n const fiatMaxRate = fiatDiamondPlan.map(ele => ele.kindRate);\r\n let fiatMax = Math.max(...fiatMaxRate);\r\n let fiatCurrWdMax;\r\n this.allPlans.filter(ele => {\r\n if (ele.currencyNature === 'Fiat' && ele.kindRate === fiatMax) {\r\n fiatCurrWdMax = ele;\r\n }\r\n });\r\n let allFiatPlanofCurr = []\r\n if(fiatCurrWdMax) {\r\n this.allPlans.filter(ele => {\r\n if (fiatCurrWdMax.currencyId === ele.currencyId) {\r\n allFiatPlanofCurr.push(ele);\r\n }\r\n })\r\n }\r\n allFiatPlanofCurr.map(ele => {\r\n if (ele.loyaltyPlanNameId === this.basePlanNameId) {\r\n this.fiatCurrencyWithMaxRate[0] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.silverPlanNameId) {\r\n this.fiatCurrencyWithMaxRate[1] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.goldPlanNameId) {\r\n this.fiatCurrencyWithMaxRate[2] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.diamondPlanNameId) {\r\n this.fiatCurrencyWithMaxRate[3] = ele;\r\n }\r\n })\r\n\r\n const stableDiamondPlan = this.allPlans.filter(ele => ele.currencyNature === 'StableCoins' && ele.loyaltyPlanNameId === this.diamondPlanNameId);\r\n const stableMaxRate = stableDiamondPlan.map(ele => ele.kindRate);\r\n let stableMax = Math.max(...stableMaxRate);\r\n let stableCurrWdMax;\r\n this.allPlans.filter(ele => {\r\n if (ele.currencyNature === 'StableCoins' && ele.kindRate === stableMax) {\r\n stableCurrWdMax = ele;\r\n }\r\n });\r\n let allStablePlanofCurr = []\r\n this.allPlans.filter(ele => {\r\n if (stableCurrWdMax.currencyId === ele.currencyId) {\r\n allStablePlanofCurr.push(ele);\r\n }\r\n })\r\n allStablePlanofCurr.map(ele => {\r\n if (ele.loyaltyPlanNameId === this.basePlanNameId) {\r\n this.stableCurrencyWithMaxRate[0] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.silverPlanNameId) {\r\n this.stableCurrencyWithMaxRate[1] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.goldPlanNameId) {\r\n this.stableCurrencyWithMaxRate[2] = ele;\r\n }\r\n if (ele.loyaltyPlanNameId === this.diamondPlanNameId) {\r\n this.stableCurrencyWithMaxRate[3] = ele;\r\n }\r\n })\r\n\r\n\r\n });\r\n // }\r\n this.getDepositCurrency();\r\n }\r\n\r\n getDepositCurrency() {\r\n this.depositService.getAllCurrencyDepositInterest().subscribe((res: IDepositInterestPlan[]) => {\r\n let allCryptoRate = [];\r\n let allFiatRate = [];\r\n let allStableCoinRate = [];\r\n let cashaa = []\r\n res.filter(ele => {\r\n if (ele.currencyNature === 'Crypto' && ele.rateType === 1) {\r\n allCryptoRate.push(ele);\r\n }\r\n if (ele.currencyNature === 'Fiat' && ele.rateType === 1) {\r\n allFiatRate.push(ele);\r\n }\r\n if (ele.currencyNature === 'StableCoins' && ele.rateType === 1) {\r\n allStableCoinRate.push(ele);\r\n }\r\n if (ele.currencyNature === 'Cashaa' && ele.rateType === 1) {\r\n cashaa.push(ele);\r\n }\r\n });\r\n if (allCryptoRate.length > 0) {\r\n let maxCryptoRate = Math.max(...allCryptoRate.map(ele => ele.rate));\r\n let maxCryptoWithInKindB = allCryptoRate.reduce((max, current) => {\r\n let currentSum = current.inKindPlanB + current.rate;\r\n let maxSum = max.inKindPlanB + max.rate;\r\n return currentSum > maxSum ? current : max;\r\n }); \r\n let maxCryptoWithInKindD = allCryptoRate.reduce((max, current) => {\r\n let currentSum = current.inKindPlanD + current.rate;\r\n let maxSum = max.inKindPlanD + max.rate;\r\n return currentSum > maxSum ? current : max;\r\n }); \r\n this.maxCryptoRateCoins = allCryptoRate.filter(item => item.rate === maxCryptoRate);\r\n this.cryptoFixedDepoistRate = [maxCryptoRate + maxCryptoWithInKindB.inKindPlanA, \r\n maxCryptoRate+ maxCryptoWithInKindB.inKindPlanB, maxCryptoRate + maxCryptoWithInKindD.inKindPlanC,\r\n maxCryptoRate + maxCryptoWithInKindD.inKindPlanD];\r\n if(allFiatRate.length > 0) {\r\n let maxFiatRate = Math.max(...allFiatRate.map(ele => ele.rate));\r\n this.maxFiatRateCoins = allFiatRate.filter(item => item.rate === maxFiatRate);\r\n this.fiatFixedDepoistRate = [maxFiatRate + this.maxFiatRateCoins[0].inKindPlanA, \r\n maxFiatRate+ this.maxFiatRateCoins[0].inKindPlanB, maxFiatRate + this.maxFiatRateCoins[0].inKindPlanC,\r\n maxFiatRate + this.maxFiatRateCoins[0].inKindPlanD];\r\n }\r\n \r\n let maxStableRate = Math.max(...allStableCoinRate.map(ele => ele.rate));\r\n let maxStableWithInKindB = allStableCoinRate.reduce((max, current) => {\r\n let currentSum = current.inKindPlanB + current.rate;\r\n let maxSum = max.inKindPlanB + max.rate;\r\n return currentSum > maxSum ? current : max;\r\n }); \r\n let maxStableWithInKindD = allStableCoinRate.reduce((max, current) => {\r\n let currentSum = current.inKindPlanD + current.rate;\r\n let maxSum = max.inKindPlanD + max.rate;\r\n return currentSum > maxSum ? current : max;\r\n }); \r\n this.maxStableRateCoins = allStableCoinRate.filter(item => item.rate === maxStableRate);\r\n this.stableFixedDepoistRate = [maxStableRate + maxStableWithInKindB.inKindPlanA, \r\n maxStableRate + maxStableWithInKindB.inKindPlanB, maxStableRate + maxStableWithInKindD.inKindPlanC,\r\n maxStableRate + maxStableWithInKindD.inKindPlanD];\r\n \r\n let maxCashaaRate = Math.max(...cashaa.map(ele => ele.rate));\r\n this.maxCashaaRateCoins = cashaa.filter(item => item.rate === maxCashaaRate);\r\n this.cashaaFixedDepoistRate = [maxCashaaRate + this.maxCashaaRateCoins[0].inKindPlanA, \r\n maxCashaaRate+ this.maxCashaaRateCoins[0].inKindPlanB, maxCashaaRate + this.maxCashaaRateCoins[0].inKindPlanC,\r\n maxCashaaRate + this.maxCashaaRateCoins[0].inKindPlanD];\r\n }\r\n });\r\n }\r\n goToAccount(): void {\r\n this.router.navigateByUrl(\"/wallet?c=CAS#CAS\");\r\n }\r\n \r\n goToCrypto(): void {\r\n this.router.navigateByUrl(`/wallet?crypto=true`);\r\n }\r\n\r\n getPlanListDetails() {\r\n this.userService.getPlanList().subscribe((res: PlanDetails) => {\r\n this.planDetails = res;\r\n })\r\n }\r\n\r\n}\r\n","\r\n\r\n
    \r\n
    \r\n
    \r\n
    Hold CAS to boost your rewards.
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Besides crypto, Cashaa users can also earn a fixed interest rate on their fiat deposits, including in USD and\r\n EUR balances. As a result, you will be able to earn market-beating interest rates on both crypto and fiat\r\n deposits - helping you put your idle\r\n funds to work.\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {{userCurrentPlan.currentPortfolioPercent}}%\r\n

    \r\n
    \r\n
    \r\n

    of your portfolio is in CAS tokens

    \r\n Your Loyalty Level is based on the ratio of CAS tokens to the other assets in your account\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n Base\r\n
    \r\n
    \r\n
    {{basePlans[0]?.planNameDescription}}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n Silver\r\n
    \r\n
    \r\n
    {{silverPlans[0]?.planNameDescription}}\r\n
    \r\n
    \r\n \r\n \r\n \r\n 0; else deposit\"\r\n class=\"m-auto p-3 text-center\">\r\n Add {{userCurrentPlan.amountForAllPlan[1] | number}} CAS to\r\n upgrade\r\n \r\n \r\n \r\n Deposit \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n Gold\r\n
    \r\n
    \r\n
    {{goldPlans[0]?.planNameDescription}}
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n 0 ) ; else deposit\"\r\n class=\"m-auto p-3 text-center\">\r\n Add\r\n \r\n \r\n {{userCurrentPlan.amountForAllPlan[2] | number}}\r\n CAS to\r\n upgrade\r\n \r\n \r\n \r\n Deposit\r\n \r\n 0 || userCurrentPlan.amountForAllPlan[0] > 0)\" class=\"m-auto p-3 text-center\">\r\n Deposit to\r\n upgrade\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n Diamond\r\n
    \r\n
    \r\n
    {{daimondPlans[0]?.planNameDescription}}
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n 0 ) ; else deposit\"\r\n class=\"m-auto p-3 text-center\">\r\n Add\r\n \r\n \r\n {{userCurrentPlan.amountForAllPlan[3] | number}}\r\n CAS to\r\n upgrade\r\n \r\n \r\n \r\n Deposit\r\n \r\n 0 || userCurrentPlan.amountForAllPlan[1] > 0 || userCurrentPlan.amountForAllPlan[0] > 0)\" class=\"m-auto p-3 text-center\">\r\n Deposit to\r\n upgrade\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \"\"\r\n \r\n
    Earn Benefits
    \r\n
    Interest Rate
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Flex Interest Rate\r\n
    \r\n
    \r\n
    \r\n
    \r\n Cryptocurrencies\r\n
    \r\n
    \r\n Up to {{max.kindRate}}%\r\n
    \r\n
    \r\n
    0\" class=\"row align-items-center bg-white border-top p-3\">\r\n
    \r\n Fiat Currencies\r\n
    \r\n
    \r\n Up to {{max.kindRate}}%\r\n
    \r\n
    \r\n
    0\" class=\"row align-items-center bg-white border-top p-3\">\r\n
    \r\n Stablecoins\r\n
    \r\n
    \r\n Up to {{max.kindRate}}%\r\n
    \r\n
    \r\n
    \r\n
    \r\n Earn in CAS Bonus\r\n
    \r\n
    \r\n +{{planDetails[0].casEarnBonus}}%\r\n
    \r\n
    \r\n +{{planDetails[1].casEarnBonus}}%\r\n
    \r\n
    \r\n +{{planDetails[2].casEarnBonus}}%\r\n
    \r\n
    \r\n +{{planDetails[3].casEarnBonus}}%\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Fixed Deposit Interest Rate\r\n
    \r\n
    \r\n
    0\" class=\"row bg-white p-3\">\r\n
    \r\n Cryptocurrencies\r\n
    \r\n
    \r\n Up to {{cryptoFixedDepoistRate[0]}}%\r\n
    \r\n
    \r\n Up to {{cryptoFixedDepoistRate[1]}}%\r\n
    \r\n
    \r\n Up to {{cryptoFixedDepoistRate[2]}}%\r\n
    \r\n
    \r\n Up to {{cryptoFixedDepoistRate[3]}}%\r\n
    \r\n
    \r\n
    0\" class=\"row align-items-center bg-white border-top p-3\">\r\n
    \r\n Fiat Currencies\r\n
    \r\n
    \r\n Up to {{fiatFixedDepoistRate[0]}}%\r\n
    \r\n
    \r\n Up to {{fiatFixedDepoistRate[1]}}%\r\n
    \r\n
    \r\n Up to {{fiatFixedDepoistRate[2]}}%\r\n
    \r\n
    \r\n Up to {{fiatFixedDepoistRate[3]}}%\r\n
    \r\n
    \r\n
    \r\n
    \r\n Stablecoins\r\n
    \r\n
    \r\n Up to {{stableFixedDepoistRate[0]}}%\r\n
    \r\n
    \r\n Up to {{stableFixedDepoistRate[1]}}%\r\n
    \r\n
    \r\n Up to {{stableFixedDepoistRate[2]}}%\r\n
    \r\n
    \r\n Up to {{stableFixedDepoistRate[3]}}%\r\n
    \r\n
    \r\n
    0\" class=\"row align-items-center bg-white border-top p-3\">\r\n
    \r\n Earn in CAS Bonus\r\n
    \r\n
    \r\n +{{planDetails[0].casEarnBonus}}%\r\n
    \r\n
    \r\n +{{planDetails[1].casEarnBonus}}%\r\n
    \r\n
    \r\n +{{planDetails[2].casEarnBonus}}%\r\n
    \r\n
    \r\n +{{planDetails[3].casEarnBonus}}%\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n\r\n\r\n\r\n
    *Rates for certain assets may vary.
    \r\n\r\n
    \r\n
    \r\n \"\"\r\n \r\n
    Additional Benefits
    \r\n
    Get the most out of CAS
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n FD Premature Withdrawals\r\n
    \r\n \r\n
    \r\n Yes\r\n
    \r\n
    \r\n No\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n FD Cancellation Fee Discount\r\n
    \r\n
    \r\n {{pd.fdCancelFeeDiscount}}%\r\n
    \r\n
    \r\n
    \r\n
    \r\n Exchange Fee Discount\r\n
    \r\n
    \r\n {{pd.exchangeFeeDiscount}}%\r\n
    \r\n
    \r\n
    \r\n
    \r\n Free Withdrawals Per Month\r\n
    \r\n
    \r\n {{pd.monthlyFreeCryptoWithdraw}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Governance\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n \r\n
    Borrow Benefits
    \r\n
    Interest Rate
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Regular Cash Loan\r\n \r\n
    \r\n
    \r\n {{plan.borrowInterest}}%\r\n
    \r\n
    \r\n
    \r\n
    \r\n Consumer Loan Limit (0% interest)\r\n
    \r\n
    \r\n
    NA
    \r\n {{plan.borrowZeroInterest}}%\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {{userCurrentPlan.currentPortfolioPercent}}%\r\n

    \r\n
    \r\n of your portfolio is in \r\n \"\"\r\n \r\n
    \r\n
    CAS tokens
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Upgrade your Loyalty Level
    \r\n
    \r\n Hold more, earn more. Get the best rates on our earn products by holding more CAS in your\r\n portfolio. Pay less in transfer and exchange fees by paying in CAS.\r\n
    \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    ","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuardService } from '../core/services/auth-guard/auth-guard.service';\r\nimport { PlanDetailsComponent } from './plan-details/plan-details.component';\r\n// import { EarnGuardService } from '../core/services/earn-guard/earn-guard.service';\r\n\r\n\r\nconst routes: Routes = [{\r\n path: \"plans\",\r\n component: PlanDetailsComponent,\r\n canActivate: [AuthGuardService]\r\n}];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class UserPlanRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { UserPlanRoutingModule } from './user-plan-routing.module';\r\nimport { PlanDetailsComponent } from './plan-details/plan-details.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { EarnPlanDetailsComponent } from './earn-plan-details/earn-plan-details.component';\r\nimport { MDBBootstrapModulesPro } from 'ng-uikit-pro-standard';\r\n\r\n\r\n@NgModule({\r\n declarations: [PlanDetailsComponent, EarnPlanDetailsComponent],\r\n imports: [\r\n CommonModule,\r\n UserPlanRoutingModule,\r\n SharedModule,\r\n MDBBootstrapModulesPro.forRoot()\r\n ]\r\n})\r\nexport class UserPlanModule { }\r\n","import { Location } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { USER_FEE_MODE, USER_TYPE, WALLET_CURRENCY } from 'src/app/app.constants';\r\nimport { CurrencyType } from 'src/app/core/enums/currencyType';\r\nimport { UserSubscriptionPlan } from 'src/app/core/models/account-upgrade/subscription-plan-response';\r\nimport { ICurrency } from 'src/app/core/models/currency';\r\nimport { IBrokerFees } from 'src/app/core/models/transfer-types';\r\nimport { DomainService } from 'src/app/core/services/domain/domain.service';\r\nimport { SubSink } from 'subsink';\r\nimport { WalletService } from '../../services/wallet.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'cashaa-borrow',\r\n templateUrl: './borrow.component.html',\r\n styleUrls: ['./borrow.component.scss']\r\n})\r\nexport class BorrowComponent implements OnInit {\r\n\r\n // creditLineList: CreditLine[];\r\n // userCreditBalance;\r\n totalCreditInUSD;\r\n totalAvailableCreditInUSD;\r\n conditionsAccepted: any;\r\n isLoader;\r\n\r\n form: FormGroup;\r\n iscasfee = false;\r\n\r\n defaultFromCurrency: ICurrency;\r\n rateSymbol: string;\r\n\r\n /** casSymbol varibale */\r\n casSymbol: string;\r\n\r\n /** casrate varibale */\r\n casrate: number = 0;\r\n minAmount: number;\r\n minAmountSymbol: string;\r\n minCASAmount: number;\r\n minCASAmountSymbol: string;\r\n brokerFees: IBrokerFees;\r\n selectedfeeamount: number;\r\n actulaconvertedamount: number;\r\n isMinSendValueError: boolean = false;\r\n isMinReceiveValueError: boolean = false;\r\n\r\n defaultToCurrency: ICurrency;\r\n defautCreditCurrency: ICurrency;\r\n sendCurrencySymbol: string;\r\n receiveCurrencySymbol: string;\r\n rate: number;\r\n loanAmountInUSD: number;\r\n currentUserPlanDetail: UserSubscriptionPlan;\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n userFeeMode = sessionStorage.getItem(USER_FEE_MODE);\r\n creditError = false;\r\n fiatCurrencies = [\"USD\", \"GBP\", \"EUR\", \"AUSD\", \"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\"];\r\n\r\n subsink = new SubSink();\r\n currencyMap = new Map();\r\n @Input() inView;\r\n @Output() onConfirm = new EventEmitter();\r\n amountAfterLoanAvailed: number = 0;\r\n annuallyInterestCharged;\r\n lockedCurrency: any = [];\r\n minAmountError = false;\r\n //receivercurrencyId = ;\r\n loading = false;\r\n minLoanAmount;\r\n currencyType;\r\n borrowInSameCurrency;\r\n isBorrowMore = false;\r\n clicked = false;\r\n zeroMoreDesc = '';\r\n approxDailyInterest;\r\n data;\r\n planName;\r\n showUpgradeOption = false;\r\n constructor(private walletService: WalletService,\r\n private domainService: DomainService,\r\n private fb: FormBuilder,\r\n private location: Location,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n this.createForm();\r\n this.rate = 1;\r\n this.sendCurrencySymbol = \"USD\";\r\n this.selectedfeeamount = 0;\r\n this.actulaconvertedamount = 0;\r\n this.receiveCurrencySymbol = \"CAS\";\r\n this.casSymbol = \"CAS\";\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getGivenCurrency(); \r\n this.form.get('senderAmount').valueChanges.subscribe(res => {\r\n if (res) {\r\n this.loanAmountInUSD = (res.split(\",\").join(\"\") * this.rate);\r\n // this.amountAfterLoanAvailed = (this.userCreditBalance?.totalCreditInUSD -( res.split(\",\").join(\"\") * this.rate));\r\n this.amountAfterLoanAvailed = this.borrowInSameCurrency - Number(res.split(\",\").join(\"\"));\r\n this.amountAfterLoanAvailed = this.amountAfterLoanAvailed < 0 ? 0 : this.amountAfterLoanAvailed;\r\n this.creditError = this.loanAmountInUSD > (this.totalCreditInUSD) ? true : false;\r\n this.minAmountError = res.split(\",\").join(\"\") >= this.minLoanAmount ? false : true;\r\n }\r\n })\r\n this.sortNoInterestRate();\r\n }\r\n\r\n onsendCurrencyChangeEvent(data: ICurrency): void {\r\n // this.iscasfee = false;\r\n this.data = data;\r\n this.loading = true;\r\n this.borrowInSameCurrency = 0;\r\n this.actulaconvertedamount = 0;\r\n this.sendCurrencySymbol = data.symbol;\r\n this.currencyType = data.currencyType;\r\n this.walletService.getDailyInterestRate(data.id, this.isBorrowMore).subscribe(res => {\r\n // this.dailyInterestCharged = res.dailyInterest;\r\n this.minLoanAmount = res.minLoanAmount;\r\n this.rate = res.rate;\r\n if (this.currencyType == 2) {\r\n this.borrowInSameCurrency = this.rate * this.totalAvailableCreditInUSD;\r\n } else {\r\n this.borrowInSameCurrency = this.totalAvailableCreditInUSD / this.rate;\r\n }\r\n this.amountAfterLoanAvailed = this.borrowInSameCurrency;\r\n this.loading = false;\r\n }, err => {\r\n this.loading = false;\r\n });\r\n\r\n this.resetAmountvalue();\r\n\r\n\r\n }\r\n\r\n\r\n /***\r\n * Create new form\r\n */\r\n createForm(): void {\r\n this.form = this.fb.group({\r\n sendercurrencyId: [\"\"],\r\n senderAmount: [\"\"]\r\n });\r\n }\r\n\r\n resetAmountvalue(): void {\r\n if (this.form.controls[\"senderAmount\"]) {\r\n this.form.controls[\"senderAmount\"].patchValue(null, {\r\n emitEvent: false,\r\n onlySelf: true,\r\n });\r\n }\r\n this.actulaconvertedamount = 0;\r\n this.isMinSendValueError = false;\r\n this.isMinReceiveValueError = false;\r\n }\r\n\r\n getGivenCurrency(): void {\r\n const pathName = window.location.pathname;\r\n\r\n this.domainService\r\n .getCurrenciesList(CurrencyType.all)\r\n .subscribe((list) => {\r\n this.activatedRoute.queryParamMap.subscribe((val) => {\r\n this.sendCurrencySymbol = val.get(\"c\");\r\n })\r\n let borrowedCurrency = list.currencies.filter(item => item.isBorrowActive === true);\r\n if(this.sendCurrencySymbol) {\r\n this.defaultFromCurrency = list.currencies.filter(\r\n (c) => c.symbol === this.sendCurrencySymbol\r\n )[0];\r\n } else {\r\n this.defaultFromCurrency = list.currencies.filter(\r\n (c) => c.symbol === borrowedCurrency[0].symbol\r\n )[0];\r\n }\r\n \r\n this.defaultToCurrency = list.currencies.filter(\r\n (c) => c.symbol === WALLET_CURRENCY.USD\r\n )[0];\r\n this.form.controls.sendercurrencyId.setValue(\r\n this.defaultFromCurrency.id\r\n );\r\n if (this.form.controls.receivercurrencyId) {\r\n this.form.controls.receivercurrencyId.setValue(\r\n this.defaultToCurrency.id\r\n );\r\n }\r\n\r\n // this.defautCreditCurrency = list.currencies.filter(\r\n // (c) => c.symbol === WALLET_CURRENCY.USD\r\n // )[0];\r\n\r\n });\r\n }\r\n\r\n // getCreditLine() {\r\n // this.loading = true;\r\n // this.walletService.getCreditLines().subscribe((res: UserCreditBalance) => {\r\n // this.loading = false;\r\n // if (res) {\r\n // this.creditLineList = res.creditLines;\r\n // this.userCreditBalance = res.usercreditbalance; \r\n // }\r\n // }, err => {\r\n // this.loading = false;\r\n // })\r\n // }\r\n\r\n confirm() {\r\n this.getLockedAmount();\r\n }\r\n\r\n getLockedAmount() {\r\n const payload = {\r\n \"amount\": this.form.value.senderAmount,\r\n \"currencyId\": this.form.value.sendercurrencyId,\r\n \"isInterestFetch\": this.isBorrowMore\r\n }\r\n this.loading = true;\r\n this.clicked = true;\r\n this.walletService.getLockedCurrencyAmount(payload).subscribe(res => {\r\n this.loading = false;\r\n this.clicked = false;\r\n this.lockedCurrency = res;\r\n const payload = {\r\n amount: this.form.value.senderAmount,\r\n currencyId: this.form.value.sendercurrencyId,\r\n amountBeforeLoan: this.totalCreditInUSD,\r\n amountAfterLoan: this.amountAfterLoanAvailed,\r\n dailyInterestCharged: this.annuallyInterestCharged,\r\n lockedCurrency: this.lockedCurrency,\r\n isInterestFetch: this.isBorrowMore\r\n }\r\n this.walletService.setLoanDetails(payload);\r\n this.onConfirm.emit(payload);\r\n }, err => {\r\n this.loading = false;\r\n })\r\n }\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n\r\n sortNoInterestRate() {\r\n this.isBorrowMore = !this.isBorrowMore;\r\n if (this.isBorrowMore) {\r\n this.zeroMoreDesc = 'Pay daily interest to borrow higher amount';\r\n this.showUpgradeOption = false;\r\n } else {\r\n this.zeroMoreDesc = 'Pay 0% interest by borrowing lower amount';\r\n if(this.planName === 'Base') {\r\n this.showUpgradeOption = true;\r\n }\r\n }\r\n this.getCreditLineAmout();\r\n }\r\n\r\n getCreditLineAmout() {\r\n this.loading = true;\r\n this.walletService.getCreditLineQuote(this.isBorrowMore).subscribe(res => {\r\n this.loading = false;\r\n this.totalCreditInUSD = res.totalCreditInUSD;\r\n this.annuallyInterestCharged = res.dailyInterest;\r\n this.approxDailyInterest = this.annuallyInterestCharged / 365;\r\n this.totalAvailableCreditInUSD = res.totalAvailableCreditInUSD;\r\n this.planName = res.planName;\r\n // if(this.totalAvailableCreditInUSD <= 0) {\r\n // this.router.navigateByUrl('wallet');\r\n // }\r\n if (this.currencyType == 2) {\r\n this.borrowInSameCurrency = this.rate * this.totalAvailableCreditInUSD;\r\n } else {\r\n this.borrowInSameCurrency = this.totalAvailableCreditInUSD / this.rate;\r\n }\r\n if (this.form.controls.senderAmount.value) {\r\n this.amountAfterLoanAvailed = this.borrowInSameCurrency - Number(this.form.controls.senderAmount.value.split(\",\").join(\"\"));\r\n } else {\r\n this.amountAfterLoanAvailed = this.borrowInSameCurrency;\r\n }\r\n\r\n }, err => {\r\n this.loading = false;\r\n })\r\n if (this.data) {\r\n this.onsendCurrencyChangeEvent(this.data);\r\n }\r\n }\r\n\r\n goToPlans(): void {\r\n this.router.navigateByUrl(\"/plans\")\r\n}\r\n\r\n\r\n}\r\n","
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Borrow\r\n

    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Total credit line

    \r\n
    ${{totalCreditInUSD | number: \"0.0-2\"}}
    \r\n
    \r\n
    \r\n

    Available credit line

    \r\n
    ${{totalAvailableCreditInUSD | number: \"0.0-2\"}}
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n Amount is higher than available Credit.\r\n

    \r\n

    \r\n Minimum loan amount should be {{minLoanAmount | number: \"0.0-0\"}}\r\n

    \r\n

    \r\n Minimum loan amount should be {{minLoanAmount | number: \"0.0-4\"}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    EstimatedAvailable credit line
    Before{{borrowInSameCurrency | number: \"0.0-2\"}} {{sendCurrencySymbol}}{{borrowInSameCurrency | number: \"0.0-4\"}} {{sendCurrencySymbol}}
    After loan taken{{amountAfterLoanAvailed | number: \"0.0-2\"}} {{sendCurrencySymbol}}{{amountAfterLoanAvailed | number: \"0.0-4\"}} {{sendCurrencySymbol}}
    Annual interest payable{{annuallyInterestCharged}}% ~({{approxDailyInterest | number: '0.0-3'}}% Daily)
    \r\n \r\n
    \r\n
    \r\n \r\n I accept the\r\n Terms of\r\n Use\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    Credit Terms
    \r\n
    Credit Line
    \r\n
      \r\n
    • Minimum loan amount is {{minLoanAmount | number: \"0.0-0\"}} {{sendCurrencySymbol}}.
    • \r\n
    • Minimum loan amount is {{minLoanAmount | number: \"0.0-4\"}} {{sendCurrencySymbol}}.
    • \r\n \r\n
    • Loan is processed only after it is confirmed via email verification.
    • \r\n
    • Once confirmed, loan availed is instantly credited to your account.
    • \r\n
    \r\n \r\n
    Repayment
    \r\n
      \r\n
    • \r\n No minimum amount for repayment of loan principal amount. You can repay your loan amount partially or fully in any currency.\r\n Please note exchange fees will apply if you repay your loan in any currency other than the currency in which the loan has been taken.\r\n
    • \r\n
    • \r\n Daily interest will be deducted automatically from your savings wallet in the same currency as the one in which the loan has been taken.\r\n In case of insufficient balance in that currency, the interest will be deducted in other currencies available in your savings wallet. Once your savings wallet is exhausted, interest will be deducted from your collateral locked with us until a certain LTV ceiling is hit.\r\n You will be regularly notified during each step to top up your savings wallet. Finally the pending interest will accrue to the outstanding loan amount and will lead to full liquidation of the locked collateral assets and closure of loan.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \"borrow\r\n
    To avail Borrow at 0% you need to upgrade your loyalty level
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'cashaa-confirm',\r\n templateUrl: './confirm.component.html',\r\n styleUrls: ['./confirm.component.scss']\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n close() {\r\n this.router.navigateByUrl('wallet');\r\n }\r\n\r\n}\r\n","
    \r\n

    \r\n Loan successfully processed!\r\n

    \r\n
    \r\n \r\n \"credit\r\n

    Congratulations! Your loan has been successfully processed. Please check your savings wallet balance for the loan amount.

    \r\n
    \r\n \r\n
    \r\n For any queries\r\n \r\n contact support \r\n \r\n
    \r\n
    ","import { Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MdbStepperComponent } from 'ng-uikit-pro-standard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ConvertService } from 'src/app/convert/services/convert.service';\r\nimport { CreditBalance, CreditLine } from 'src/app/core/models/credit-line';\r\nimport { NavigationService } from 'src/app/core/services/navigation/navigation.service';\r\nimport { ValidatorUtility } from 'src/app/core/utility/validator.utility';\r\nimport { WalletService } from '../services/wallet.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'cashaa-credit-line',\r\n templateUrl: './credit-line.component.html',\r\n styleUrls: ['./credit-line.component.scss']\r\n})\r\nexport class CreditLineComponent implements OnInit {\r\n @ViewChild(\"stepper\", { static: true }) stepper: MdbStepperComponent;\r\n\r\n amountForm: FormGroup;\r\n\r\n /** Active step */\r\n activeStep = 0;\r\n\r\n /** is completed */\r\n completed = false;\r\n\r\n\r\n\r\n isLoading = false;\r\n totalBalanceInUSD;\r\n totalCreditInUSD;\r\n showOtpBox: boolean;\r\n loanAmountForm: FormGroup;\r\n errorMessage: string;\r\n @ViewChildren(\"inputs\") inputs: QueryList;\r\n creditLineList: CreditLine[];\r\n userCreditBalance: CreditBalance;\r\n currencyId: string;\r\n loanAmount: number;\r\n amountBeforeLoan: number;\r\n amountAfterLoan: number;\r\n dailyInterestCharged;\r\n isInterestFetch: boolean;\r\n loading = false; \r\n\r\n constructor(private fb: FormBuilder, private walletService: WalletService, private convertService: ConvertService, private navigationService: NavigationService, private toastrService: ToastrService,\r\n private router: Router) {\r\n this.createEmptyForm();\r\n // this.loanAmountForm = this.fb.group({\r\n // 'amount' : ['', ValidatorUtility.Required],\r\n // 'currencyId' : ['', ValidatorUtility.Required]\r\n // })\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.activeStep = 2;\r\n }\r\n\r\n createEmptyForm(): void {\r\n this.amountForm = this.fb.group({\r\n valid: [\"\", ValidatorUtility.Required],\r\n });\r\n }\r\n\r\n /**\r\n * on amount form continue click\r\n */\r\n // onAmountFormContinue(): void {\r\n // this.amountForm.controls.valid.setValue(true);\r\n // this.stepper.next();\r\n // this.activeStep = 1;\r\n // }\r\n\r\n /**\r\n * on go back click, go back\r\n * given number of steps\r\n */\r\n onGoBack(): void {\r\n if (this.activeStep == 0) {\r\n this.router.navigateByUrl('/wallet');\r\n }\r\n if(this.activeStep > 0) {\r\n this.activeStep--;\r\n this.stepper.previous();\r\n }\r\n \r\n }\r\n\r\n convertCompleted(status: boolean): void {\r\n this.completed = true;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.convertService.emitConvertCompletedData(undefined);\r\n this.convertService.emitConvertFlowData(undefined);\r\n this.convertService.emitCurrencySymbolData(undefined);\r\n this.convertService.emitQuoteData(undefined);\r\n }\r\n\r\n backRoute() {\r\n this.navigationService.back();\r\n }\r\n\r\n confirm(event) {\r\n this.currencyId = event.currencyId;\r\n this.loanAmount = event.amount;\r\n this.amountBeforeLoan = event.amountBeforeLoan;\r\n this.amountAfterLoan = event.amountAfterLoan;\r\n this.dailyInterestCharged = event.dailyInterestCharged;\r\n this.isInterestFetch = event.isInterestFetch;\r\n this.stepper.next();\r\n this.activeStep = 1;\r\n }\r\n\r\n continue(event) {\r\n this.loading = true;\r\n const payload = {\r\n \"amount\": this.loanAmount,\r\n \"currencyId\": this.currencyId,\r\n \"TwoFA\": event.twoFAOTPCode,\r\n \"EmailCode\": event.emailOTPCode,\r\n \"isInterestFetch\": this.isInterestFetch\r\n };\r\n\r\n this.walletService.getCreditLoan(payload).subscribe(res => {\r\n this.loading = false;\r\n this.stepper.next();\r\n }, err => {\r\n this.loading = false;\r\n this.errorMessage = err.error.message;\r\n this.toastrService.error(this.errorMessage);\r\n });\r\n\r\n }\r\n\r\n}\r\n\r\n","\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    ","import { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { SBItemComponent } from 'ng-uikit-pro-standard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AccountService } from 'src/app/account/sevices/account.service';\r\nimport { USER_EMAIL_PATH, USER_TWO_FACTOR_CODE } from 'src/app/app.constants';\r\nimport { WalletService } from '../../services/wallet.service';\r\n\r\n@Component({\r\n selector: 'cashaa-review-security-verification',\r\n templateUrl: './review-security-verification.component.html',\r\n styleUrls: ['./review-security-verification.component.scss']\r\n})\r\nexport class ReviewSecurityVerificationComponent implements OnInit {\r\n\r\n @Output() onContinue = new EventEmitter();\r\n loading = false;\r\n /** is some call in progress */\r\n isInProgress = false;\r\n isTwoFAInProgress = false;\r\n /** form group */\r\n form: FormGroup;\r\n\r\n errorMessage: string;\r\n\r\n isCollapsed = true;\r\n\r\n allCodeEntered = false;\r\n allEmailCodeEntered = false;\r\n emailCode: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n code: string[] = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n emailOTPCode: string = \"\";\r\n twoFACode: string = \"\";\r\n creditLineLockedCurrency;\r\n\r\n @ViewChildren(\"emailOTPInputs\") emailOTPInputs: QueryList;\r\n @ViewChildren(\"twoFAInputs\") twoFAInputs: QueryList;\r\n\r\n @ViewChildren(SBItemComponent) collapses: QueryList[];\r\n\r\n userEmailId: string = sessionStorage.getItem(USER_EMAIL_PATH);\r\n\r\n @Input() currencyId;\r\n @Input() loanAmount;\r\n @Output() goback = new EventEmitter();\r\n\r\n\r\n encodeKey(key: string): string {\r\n return encodeURIComponent(key);\r\n }\r\n encodeValue(value: string): string {\r\n return encodeURIComponent(value);\r\n }\r\n decodeKey(key: string): string {\r\n return decodeURIComponent(key);\r\n }\r\n decodeValue(value: string): string {\r\n return decodeURIComponent(value);\r\n }\r\n\r\n amountBeforeLoan: number;\r\n amountAfterLoan: number;\r\n dailyInterestCharged;\r\n lockedCurrency;\r\n totalLockedAmount = 0;\r\n isTwoFactorEnable = false;\r\n totalAmountBorrowed;\r\n totalAmountBorrowedInUSD;\r\n amountBorrowedSymbol;\r\n private navigationKeys = [\r\n 'Backspace',\r\n 'Delete',\r\n 'Tab',\r\n 'Escape',\r\n 'Enter',\r\n 'Home',\r\n 'End',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Clear',\r\n 'Copy',\r\n 'Paste'\r\n ];\r\n approxDailyInterest;\r\n constructor(private toastrService: ToastrService, private walletService: WalletService, private accountService: AccountService) { }\r\n\r\n ngOnInit(): void {\r\n this.checkTwoFactorEnable();\r\n this.walletService.loanData.subscribe(data => {\r\n this.loanAmount = data.amount;\r\n this.dailyInterestCharged = data.dailyInterestCharged; // actually this is annual interest\r\n this.approxDailyInterest = data.dailyInterestCharged /365;\r\n this.lockedCurrency = data.lockedCurrency;\r\n this.amountBeforeLoan = this.lockedCurrency.totalCredit;\r\n this.amountAfterLoan = this.lockedCurrency.afterLockedAmount;\r\n this.totalLockedAmount = this.lockedCurrency.totalLockedAmount;\r\n this.creditLineLockedCurrency = this.lockedCurrency.creditLineLockedCurrency;\r\n this.totalAmountBorrowed = this.lockedCurrency.totalAmountBorrowed;\r\n this.totalAmountBorrowedInUSD = this.lockedCurrency.totalAmountBorrowedInUSD;\r\n this.amountBorrowedSymbol = this.lockedCurrency.amountBorrowedSymbol;\r\n // this.lockedCurrency.forEach((val) => {\r\n // this.totalLockedAmount += val.usdamount;\r\n // });\r\n });\r\n }\r\n\r\n checkTwoFactorEnable() {\r\n this.accountService.isTwoFactorEnabled().subscribe(res => {\r\n sessionStorage.setItem(USER_TWO_FACTOR_CODE, res.toString());\r\n this.isTwoFactorEnable = res;\r\n }, err => {\r\n\r\n })\r\n }\r\n\r\n removeError(): void {\r\n if (this.errorMessage !== undefined) {\r\n this.errorMessage = undefined;\r\n }\r\n }\r\n\r\n\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onEmailCodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.emailCode = pastedText.split(\"\");\r\n this.checkIfEmailCodeIsFilled(-1);\r\n }\r\n }\r\n /**\r\n * On code paste automatically\r\n * fill all 6 boxes\r\n */\r\n onTwoFACodePaste(event: ClipboardEvent): void {\r\n const clipboardData = event.clipboardData || (window as any).clipboardData;\r\n const pastedText = clipboardData.getData(\"text\");\r\n\r\n if (pastedText && pastedText.length === 6) {\r\n this.code = pastedText.split(\"\");\r\n this.checkIfTwoFACodeIsFilled(-1);\r\n }\r\n }\r\n\r\n removeEmailOTPBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.emailOTPInputs.toArray()[index].nativeElement.focus();\r\n }\r\n }\r\n\r\n removeTwoFAOTPBack(event: any, index: number) {\r\n const keyCode = event.keyCode;\r\n if (keyCode === 8) {\r\n this.twoFAInputs.toArray()[index].nativeElement.focus();\r\n }\r\n }\r\n\r\n continue() {\r\n this.loading = true;\r\n const payload = {\r\n emailOTPCode: this.emailOTPCode,\r\n twoFAOTPCode: this.twoFACode\r\n }\r\n this.onContinue.emit(payload);\r\n this.loading = false;\r\n }\r\n\r\n sendEmailCode(): void {\r\n this.loading = true;\r\n const payload = {\r\n currencyId: this.currencyId,\r\n amount: this.loanAmount\r\n }\r\n this.walletService.sendEmailOTP(payload).subscribe(res => {\r\n this.isInProgress = false;\r\n this.loading = false;\r\n this.toastrService.success(\"Check your email for OTP\");\r\n this.emailCode = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n this.emailOTPCode = \" \";\r\n }, err => {\r\n this.loading = false;\r\n this.isInProgress = false;\r\n this.errorMessage = err.error.message;\r\n this.emailCode = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n this.emailOTPCode = \" \";\r\n\r\n })\r\n }\r\n\r\n\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfTwoFACodeIsFilled(idx: number): void {\r\n if (idx >= 0 && idx < 5 && this.code[idx]) {\r\n this.twoFAInputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n this.allCodeEntered = true;\r\n this.code.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allCodeEntered = false;\r\n }\r\n });\r\n if (this.allCodeEntered) {\r\n this.isTwoFAInProgress = true;\r\n this.errorMessage = \"\";\r\n this.twoFACode = this.code.join(\"\");\r\n }\r\n // if (this.code[5] && idx === -1) {\r\n // this.twoFAInputs.toArray()[5].nativeElement.focus();\r\n // }\r\n\r\n }\r\n /**\r\n * Check if google input authenticator\r\n * code is filled in all 6 boxes\r\n */\r\n checkIfEmailCodeIsFilled(idx: number): void {\r\n if (idx >= 0 && idx < 5 && this.emailCode[idx]) {\r\n this.emailOTPInputs.toArray()[idx + 1].nativeElement.focus();\r\n }\r\n\r\n this.allEmailCodeEntered = true;\r\n this.emailCode.forEach((val) => {\r\n if (val === null || val.length === 0) {\r\n this.allEmailCodeEntered = false;\r\n }\r\n });\r\n\r\n if (this.allEmailCodeEntered) {\r\n this.isInProgress = true;\r\n this.errorMessage = \"\";\r\n this.emailOTPCode = this.emailCode.join(\"\");\r\n }\r\n }\r\n\r\n goBack() {\r\n this.emailCode = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n this.emailOTPCode = \"\";\r\n this.code = [\"\", \"\", \"\", \"\", \"\", \"\"];\r\n this.twoFACode = \"\";\r\n this.goback.emit();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (\r\n // Allow: Delete, Backspace, Tab, Escape, Enter, etc\r\n this.navigationKeys.indexOf(e.key) > -1 ||\r\n (e.key === 'a' && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.key === 'c' && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.key === 'v' && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.key === 'x' && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.key === 'a' && e.metaKey === true) || // Cmd+A (Mac)\r\n (e.key === 'c' && e.metaKey === true) || // Cmd+C (Mac)\r\n (e.key === 'v' && e.metaKey === true) || // Cmd+V (Mac)\r\n (e.key === 'x' && e.metaKey === true) // Cmd+X (Mac)\r\n ) {\r\n return;\r\n }\r\n if (e.key === ' ' || isNaN(Number(e.key))) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n

    \r\n Security Verification\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n ~ ${{totalAmountBorrowedInUSD}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Total amount borrowed{{totalAmountBorrowed}} {{amountBorrowedSymbol}}\r\n
    Available credit before loan availed${{amountBeforeLoan}}
    Available credit after loan availed${{amountAfterLoan}}
    \r\n
    Total Collateral Locked
    \r\n
    \r\n
    ${{totalLockedAmount | number}}
    \r\n
    \r\n
    Collateral amount (\r\n \"\" {{locked.amount}} \r\n {{locked.currencySymbol}} )\r\n \r\n \r\n
    \r\n
    \r\n
    ${{locked.usdamount | number}}
    \r\n
    Annual interest payable{{dailyInterestCharged}}% ~({{approxDailyInterest | number: '0.0-3'}}% Daily)
    \r\n
    \r\n \r\n
    \r\n Email Verification Code\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n 2FA Code\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Your 2-Factor Authentication is not enabled.\r\n click here to enable before proceeding.\r\n
    \r\n
    \r\n {{ errorMessage }}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    ","import { CurrencyTypeData } from \"./../../core/models/currency-type-data\";\r\nimport { ICryptoAccountDetails } from \"./../../core/models/crypto-account-details\";\r\nimport { IAccountDetails } from \"./../../core/models/account-details\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { WalletService } from \"./../services/wallet.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChildren,\r\n QueryList,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport {\r\n APP_ROUTES,\r\n CURRENCY_TYPE,\r\n USER_COUNTRY_CODE,\r\n USER_INTEREST_MODE,\r\n USER_TYPE,\r\n} from \"../../app.constants\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { CarouselComponent, SBItemComponent } from \"ng-uikit-pro-standard\";\r\nimport { CryptoAccountRequestModel } from \"./../../core/models/crypto-account-request-model\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { IDepositInterestPlan } from \"src/app/core/models/deposit-interest/deposit-interest\";\r\nimport { DepositInterestService } from \"src/app/deposit-interest/service/deposit-interest.service\";\r\nimport { IUserPlan } from \"src/app/core/models/user-plan/user-detail\";\r\nimport { SubSink } from \"subsink\";\r\nimport { ActivityService } from \"src/app/activity/services/activity.service\";\r\nimport { CreditBalance, UserCreditBalance } from \"src/app/core/models/credit-line\";\r\nimport { DomainService } from \"src/app/core/services/domain/domain.service\";\r\nimport { CurrencyType } from \"src/app/core/enums/currencyType\";\r\nimport { InstantSearchService } from \"../services/insta-search.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-currency-assets\",\r\n templateUrl: \"./currency-assets.component.html\",\r\n styleUrls: [\"./currency-assets.component.scss\"],\r\n})\r\nexport class CurrencyAssetsComponent implements OnInit {\r\n @ViewChild(\"slide\", { static: true }) slideController: CarouselComponent;\r\n /** Balance data data */\r\n creditlineData: UserCreditBalance;\r\n balanceData?: UserCreditBalance[];\r\n slides: any = [[]];\r\n loading = false;\r\n subSink = new SubSink();\r\n localBankFiatCurrencyList: IUserBalance[] = [];\r\n allCurrencyList: IUserBalance[] = [];\r\n accountBankFiatCurrencyList: IUserBalance[] = [];\r\n cryptoBankFiatCurrencyList: IUserBalance[] = [];\r\n hideZeroBalance = false;\r\n tempFiat = [];\r\n tempCrypto = [];\r\n nonBankingFiatCurrency = [\"AUD\", \"JPY\", \"CAD\", \"CNH\", \"SGD\", \"NZD\", \"CHF\"];\r\n excludeFiatCurrencies: string[] = [\"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\", \"USD\", \"GBP\"];\r\n\r\n excludeCryptoDisable: string[] = [\"BNB20\"];\r\n /** selected crypto bank */\r\n selectedCrypto = -1;\r\n localBankLoading = false;\r\n cryptoLoading = false;\r\n copied = false;\r\n copiedMemo = false;\r\n currencyToEmit: string;\r\n currencyType: string;\r\n accountDetailsByCurrencyData: IAccountDetails;\r\n accountDetailsByAccountCurrencyData: IAccountDetails;\r\n accountDetailsCryptoData: ICryptoAccountDetails;\r\n accountDetailsETHCryptoData: ICryptoAccountDetails;\r\n accountDetailsForTRCData: ICryptoAccountDetails;\r\n // get logged user type\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n /** Error message if any */\r\n errorMessage?: string;\r\n\r\n /** Error message if any */\r\n errorMessageCrypto?: string;\r\n\r\n // hold personal user kyc details\r\n casDepositRates: number[] = [];\r\n maxInterestModeRate: number[] = [];\r\n @ViewChildren(\"collapsesCrypto\")\r\n collapsesCrypto: QueryList[];\r\n @ViewChildren(\"staticTabs\")\r\n staticTabs: QueryList[];\r\n rateType: string = sessionStorage.getItem(USER_INTEREST_MODE);\r\n selectedLocalBank = -1;\r\n selectedAccountBank = -1;\r\n showCryptoTopBtn = true;\r\n rate: number;\r\n isBalance: boolean;\r\n /** selected crypto bank */\r\n popDetails;\r\n earninterestbalance: number;\r\n // get logged user type\r\n @Output() getSelectedStatusChange = new EventEmitter();\r\n userCreditBalance: CreditBalance;\r\n creditLineList = [];\r\n currencyByUSD = []\r\n currencyDepositRateLessThanEqual365: number[] = [];\r\n currencyDepositRateGreaterThan365: number[] = [];\r\n isMobile;\r\n // userDetails;\r\n // specificCashaaUserId = environment.CASHAA_USER_ID_TRC_ENABLED;\r\n // isSpecificUser = false;\r\n isBorrowEnabled = true;\r\n // sectionFirst = [{name: 'Portfolio'}, {name: 'Interest Earned'}, {name: 'loyalty Level'}, {name: 'CreditLine'}]\r\n @ViewChild('cryptoSection') cryptoSection: ElementRef;\r\n isBorrowMore = true;\r\n isEarn = true;\r\n showUpgradeOption = false;\r\n currencyInfo;\r\n allCurrencyInfo;\r\n allCurrenciesWithNetworkType;\r\n searchQuery: string = ''; // Store the user's search query\r\n isAddressAuthorised;\r\n constructor(\r\n private activityService: ActivityService,\r\n private userService: UserService,\r\n \r\n private router: Router,\r\n private toastrService: ToastrService,\r\n private walletService: WalletService,\r\n private activatedRoute: ActivatedRoute,\r\n private domainService: DomainService,\r\n private instantSearchService: InstantSearchService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getAllCurrencies();\r\n this.activatedRoute.queryParamMap.subscribe((val) => {\r\n this.isEarn = !Boolean(val.get(\"isBorrow\"));\r\n })\r\n // this.userDetails = JSON.parse(localStorage.getItem(SEESION_OBJECT));\r\n // console.log(this.userDetails);\r\n // if (this.userDetails.cashaaUserId === this.specificCashaaUserId) {\r\n // this.isSpecificUser = true;\r\n // } else {\r\n // this.isSpecificUser = false;\r\n // }\r\n this.isMobile = window.screen.width < 1200;\r\n this.subSink.add(\r\n this.activityService.getBalanceStatus().subscribe((data) => {\r\n if (data) {\r\n this.getCreditLine();\r\n }\r\n }));\r\n this.getCurrencyInfo();\r\n }\r\n\r\n onSearch(query: string): void {\r\n this.searchQuery = query; // Update search query\r\n let response = this.instantSearchService.search(query); // Call search in the service\r\n if(response['hits'][0]['authorised-address']) {\r\n this.isAddressAuthorised = true;\r\n } else {\r\n this.isAddressAuthorised = false;\r\n }\r\n }\r\n\r\n getCreditLine() {\r\n this.loading = true;\r\n this.walletService.getCreditLines().subscribe((res: UserCreditBalance) => {\r\n this.loading = false;\r\n if (res) {\r\n this.creditlineData = res;\r\n this.creditLineList = res.creditLines;\r\n this.userCreditBalance = res.usercreditbalance;\r\n if(this.userCreditBalance.totalAvailableCreditInUSD <= 0){\r\n this.isBorrowEnabled= false;\r\n }else{\r\n this.isBorrowEnabled= true;\r\n }\r\n localStorage.setItem('userCreditBalance', JSON.stringify(this.userCreditBalance));\r\n this.currencyByUSD = this.userCreditBalance.currencyByUSD;\r\n this.balanceData = this.currencyByUSD;\r\n for(let i = 0; i < this.currencyInfo.length; i++) {\r\n for(let j = 0; j < this.balanceData.length; j++)\r\n if(this.balanceData[j]['currencyId'] == this.currencyInfo[i].currencyId) {\r\n this.balanceData[j]['borrowAt'] = this.currencyInfo[i].borrowAt;\r\n this.balanceData[j]['loyaltyPlanName'] = this.currencyInfo[i].loyaltyPlanName;\r\n this.balanceData[j]['upgradeTo'] = this.currencyInfo[i].upgradeTo;\r\n this.balanceData[j]['fLexTerm'] = this.currencyInfo[i].fLexTerm;\r\n this.balanceData[j]['fixedTerm'] = this.currencyInfo[i].fixedTerm;\r\n this.balanceData[j]['earnUpTo'] = this.currencyInfo[i].earnUpTo;\r\n this.balanceData[j]['longEarnUpTo'] = this.currencyInfo[i].longEarnUpTo;\r\n this.balanceData[j]['minFlexAmount'] = this.currencyInfo[i].minFlexAmount;\r\n this.balanceData[j]['isFlexSubscribed'] = this.currencyInfo[i].isFlexSubscribed;\r\n this.balanceData[j]['casBonus'] = this.currencyInfo[i].casBonus;\r\n break;\r\n }\r\n }\r\n this.earninterestbalance = res.earninterestbalance;\r\n this.isBalance = this.balanceData.some(ele => ele.isBalanceAvailable === true);\r\n // if (window.matchMedia(\"(min-width: 1199px)\").matches) {\r\n // this.slides = this.chunk(this.sectionFirst, 2);\r\n // } else if (window.matchMedia(\"(min-width: 991px)\").matches) {\r\n // this.slides = this.chunk(this.balanceData, 2);\r\n // if (window.matchMedia(\"(max-width: 767px)\").matches) {\r\n // this.slides = this.chunk(this.sectionFirst, 2);\r\n // } \r\n // else {\r\n // this.slides = this.chunk(this.balanceData, 1);\r\n // }\r\n this.balanceData.sort((a, b) => (a.available > b.available ? -1 : 1));\r\n this.balanceData.filter(\r\n (el) => {\r\n el['isSelected'] = true;\r\n this.allCurrencyList.push(el);\r\n }\r\n );\r\n }\r\n this.loading = false;\r\n setTimeout(() => this.getGivenCurrency(), 100);\r\n });\r\n }\r\n\r\n getGivenCurrency(): void {\r\n this.activatedRoute.queryParamMap.subscribe((params) => {\r\n const currency = params.get(\"c\");\r\n const crytp = params.get(\"crypto\");\r\n if (crytp || currency ) {\r\n // window.scroll(0, 1000);\r\n this.cryptoSection.nativeElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n }\r\n if (currency) {\r\n const foundCrypto = this.allCurrencyList.filter(\r\n (lc) => lc.currencyType === currency && lc.currencynature === 1\r\n );\r\n if (foundCrypto.length > 0) {\r\n window.scroll(0, 1000);\r\n const idx = this.allCurrencyList.indexOf(foundCrypto[0]);\r\n const obj = {\r\n currency: { ...foundCrypto[0], ...{ isSelected: false } },\r\n id: idx\r\n };\r\n this.getCryptoAccountDetails(obj);\r\n // this.selectedCrypto = i;\r\n // }\r\n // });\r\n }\r\n }\r\n });\r\n }\r\n\r\n // chunk(arr, chunkSize): any {\r\n // let R = [];\r\n // for (let i = 0, len = arr.length; i < len; i += chunkSize) {\r\n // R.push(arr.slice(i, i + chunkSize));\r\n // }\r\n // return R;\r\n // }\r\n\r\n next(): void {\r\n this.slideController.nextSlide();\r\n }\r\n\r\n previous(): void {\r\n this.slideController.previousSlide();\r\n }\r\n getCryptoAccountDetails(event): void {\r\n this.rate = event.rate;\r\n this.popDetails = event.currency;\r\n let selectedTabsIndex;\r\n if (this.selectedCrypto === event.id) {\r\n return;\r\n }\r\n for(let i = 0; i < this.staticTabs['_results'][event.id].tabs.length; i++) {\r\n if(this.staticTabs['_results'][event.id].tabs[i].el.nativeElement.className.includes('active')) {\r\n selectedTabsIndex = i;\r\n }\r\n }\r\n this.cryptoLoading = true;\r\n this.collapsesCrypto.forEach((el: any, i: number) => {\r\n const sbItemBody = el.body.bodyEl.nativeElement;\r\n if (event.id !== i) {\r\n el.toggle(true);\r\n this.allCurrencyList[i].isSelected = true;\r\n sbItemBody.style.height = \"0\";\r\n sbItemBody.style.visibility = 'hidden';\r\n } else {\r\n if (event.currency.isSelected) {\r\n sbItemBody.style.height = \"0\";\r\n sbItemBody.style.visibility = 'hidden';\r\n } else {\r\n this.allCurrencyList[event.id].isSelected = false;\r\n sbItemBody.style.height = \"auto\";\r\n sbItemBody.style.visibility = 'visible';\r\n }\r\n }\r\n });\r\n \r\n let networkDetails = this.getNetworks(this.popDetails);\r\n this.walletService\r\n .getCryptoAddress(event.currency.currencyId, networkDetails[selectedTabsIndex].networkValue)\r\n .subscribe((res) => {\r\n this.cryptoLoading = false;\r\n this.accountDetailsCryptoData = res;\r\n this.onSearch(res.address.toLocaleLowerCase());\r\n \r\n }, err => {\r\n this.callToGetCryptoAddress(event.currency, networkDetails[selectedTabsIndex].networkValue);\r\n });\r\n // if (event) {\r\n // $(\"html,body\").animate(\r\n // {\r\n // scrollTop: event.srcElement.offsetParent.offsetTop,\r\n // },\r\n // 600\r\n // );\r\n // }\r\n }\r\n\r\n onHide(id, currency) {\r\n this.collapsesCrypto.forEach((el: any, i: number) => {\r\n const sbItemBody = el.body.bodyEl.nativeElement;\r\n if (id !== i) {\r\n el.toggle(true);\r\n this.allCurrencyList[i].isSelected = true;\r\n sbItemBody.style.height = \"0\";\r\n sbItemBody.style.visibility = 'hidden';\r\n } else {\r\n if (currency.isSelected) {\r\n sbItemBody.style.height = \"auto\";\r\n sbItemBody.style.visibility = 'visible';\r\n } else {\r\n this.allCurrencyList[id].isSelected = true;\r\n sbItemBody.style.height = \"0\";\r\n sbItemBody.style.visibility = 'hidden';\r\n }\r\n }\r\n });\r\n }\r\n\r\n // openEarnPlan(): void {\r\n // if (this.popDetails.currencyType === 'CAS') {\r\n // this.router.navigateByUrl(`deposit-interest?c=${this.popDetails.currencyType}`);\r\n // } else {\r\n // this.modalService.openEarnPlanDetailPopup(this.popDetails.plan, this.popDetails.diamondPlan, this.popDetails.available, this.popDetails.currencyId, this.popDetails.currencyType,\r\n // this.casDepositRates, this.isFixedDepositEnable(this.popDetails.currencyType), this.isFixedDepositAndEarnEnable(this.popDetails.currencyType),\r\n // this.maxInterestModeRate, false, this.currencyDepositRateLessThanEqual365, this.currencyDepositRateGreaterThan365, this.minFlexAmount);\r\n // }\r\n // }\r\n \r\n callToGetCryptoAddress(currency: IUserBalance, networkType?: string) {\r\n let payload = {\r\n currencyId: currency.currencyId,\r\n networkType: networkType\r\n }\r\n this.walletService.createCryptoAddress(payload).subscribe(\r\n (res) => {\r\n this.cryptoLoading = false;\r\n this.accountDetailsCryptoData = res;\r\n },\r\n (err) => {\r\n this.cryptoLoading = false;\r\n }\r\n );\r\n }\r\n\r\n filterNonZeroBalance() {\r\n if (this.allCurrencyList.length > 0 && !this.hideZeroBalance) {\r\n this.tempFiat = this.allCurrencyList;\r\n // this.tempCrypto = this.cryptoBankFiatCurrencyList\r\n }\r\n if (this.hideZeroBalance) {\r\n this.allCurrencyList = this.tempFiat;\r\n // this.cryptoBankFiatCurrencyList = this.tempCrypto;\r\n } else {\r\n this.allCurrencyList = this.allCurrencyList.filter(item => item.availableBalance > 0);\r\n // this.cryptoBankFiatCurrencyList = this.cryptoBankFiatCurrencyList.filter(item => item.available > 0);\r\n\r\n }\r\n }\r\n //get given currency\r\n\r\n onAccountReadyPage(currency: IUserBalance, currencyType: string, network: any): void {\r\n // if (\"BEP-20\" === networkType) {\r\n // this.currencyToEmit = 'ETH';\r\n // currency = this.allCurrencyList.filter(cur => cur.symbol === 'ETH')[0];\r\n // } else {\r\n // this.currencyToEmit = currency.symbol;\r\n // }\r\n this.currencyType = currencyType;\r\n const currencyData = new CurrencyTypeData(\r\n this.currencyToEmit,\r\n this.currencyType\r\n );\r\n if (this.currencyType === \"Crypto\") {\r\n this.cryptoLoading = true;\r\n // let payload;\r\n // const inputCurrencyCrypto = new CryptoAccountRequestModel(this.currencyToEmit);\r\n // if(networkType == 'TRC-20') {\r\n // payload = new CryptoAccountRequestModel(this.currencyToEmit, networkType.split('-').join(''));\r\n // } else {\r\n // payload = new CryptoAccountRequestModel(this.currencyToEmit);\r\n // }\r\n \r\n this.walletService\r\n .getCryptoAddress(currency.currencyId, network.networkValue)\r\n .subscribe((res) => {\r\n this.cryptoLoading = false;\r\n this.accountDetailsCryptoData = res;\r\n \r\n }, err => {\r\n this.callToGetCryptoAddress(currency, network.networkValue);\r\n });\r\n } else {\r\n this.walletService.emitCurrencySymbol(currencyData);\r\n this.router.navigateByUrl(APP_ROUTES.WALLET_READY_TO_GO);\r\n }\r\n }\r\n\r\n copyAddress(): void {\r\n if (this.accountDetailsCryptoData.address) {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.accountDetailsCryptoData.address);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n }\r\n\r\n copyContract(url, token) {\r\n if (url && token) {\r\n this.copied = true;\r\n let text = token;\r\n // coping only token;\r\n navigator.clipboard.writeText(text);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n } \r\n }\r\n\r\n getContract(contract) {\r\n return contract.tokenContract.slice(0, 5) + \"........\" + contract.tokenContract.slice(contract.tokenContract.length-5, contract.tokenContract.length)\r\n }\r\n\r\n copyTronAddress(): void {\r\n if (this.accountDetailsCryptoData.tronAddress) {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.accountDetailsCryptoData.tronAddress);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n }\r\n\r\n copyAddressETH(): void {\r\n if (this.accountDetailsETHCryptoData.address) {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.accountDetailsETHCryptoData.address);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n }\r\n\r\n copyMemoAddress(): void {\r\n if (this.accountDetailsCryptoData.memo) {\r\n this.copiedMemo = true;\r\n navigator.clipboard.writeText(this.accountDetailsCryptoData.memo);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copiedMemo = false), 300);\r\n }\r\n }\r\n isHidden(currency: string): boolean {\r\n if (this.nonBankingFiatCurrency.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n isDisable(currency: string): boolean {\r\n if (this.excludeFiatCurrencies.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isSendDisable(currency: string): boolean {\r\n if (this.excludeFiatCurrencies.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getTootlTip(value, currency) {\r\n return value === 0 ? \"You don't have any \" + currency + \" to convert\" : \"\";\r\n }\r\n\r\n getEarnTootlTip(value, currency) {\r\n return value === 0 ? \"You don't have any \" + currency + \" to Earn Interest\" : \"\";\r\n }\r\n onAddClick(currency: string): void {\r\n this.router.navigateByUrl(`/deposit?cur=${currency}`);\r\n }\r\n onConvertClick(currency: string): void {\r\n this.router.navigateByUrl(`/convert?c=${currency}`);\r\n }\r\n\r\n onSendClick(currency: string): void {\r\n this.router.navigateByUrl(`/fiat?c=${currency}`);\r\n }\r\n\r\n isEarnAndFixedDepositActive(): boolean {\r\n return sessionStorage.getItem(USER_COUNTRY_CODE) !== 'US';\r\n }\r\n\r\n isFixedDepositEnable(symbol: string): boolean {\r\n return sessionStorage.getItem(USER_TYPE) !== '4' || symbol === 'CAS';\r\n }\r\n\r\n isFixedDepositAndEarnEnable(symbol: string): boolean {\r\n return sessionStorage.getItem(USER_TYPE) === '4' && symbol !== 'CAS';\r\n }\r\n\r\n // isEarnModuleNotActive(symbol: string): boolean {\r\n // return sessionStorage.getItem(USER_TYPE) === '4' && symbol === 'DOG';\r\n // }\r\n\r\n isCryptoDisable(currency: string): boolean {\r\n if (this.excludeCryptoDisable.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isCryptoSendDisable(currency: string): boolean {\r\n let excludeCurr = [...this.excludeCryptoDisable]\r\n excludeCurr.push('USDC');\r\n if (excludeCurr.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public getNetworks(data: any) {\r\n let allNetworkType = [];\r\n let selectedCurrency = this.allCurrenciesWithNetworkType.filter(item => item.symbol === data.symbol);\r\n if(selectedCurrency[0]?.networkType) {\r\n allNetworkType.push(selectedCurrency[0].networkType);\r\n return allNetworkType[0];\r\n } else {\r\n return \"\"\r\n }\r\n \r\n }\r\n\r\n public getTabHeaderData3(data: any): string {\r\n let selectedCurrency = this.allCurrenciesWithNetworkType.filter(item => item.symbol === data.symbol);\r\n if(selectedCurrency[0].networkType) {\r\n return selectedCurrency[0].networkType[2].name;\r\n } else {\r\n return \"\"\r\n }\r\n }\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n // public getContentData(symbol: string) {\r\n // const tabData = this.getTabHeaderData1(symbol);\r\n // symbol === \"DOG\" ? symbol = \"DOGE\" : symbol;\r\n // if (tabData === 'BEP-2' || tabData === 'ERC-20') {\r\n // return `${symbol} (${tabData})`;\r\n // } else {\r\n // return symbol;\r\n // }\r\n // }\r\n\r\n public getContentData2(data: any) {\r\n const tabData = this.getTabHeaderData3(data);\r\n data.symbol === \"DOG\" ? data.symbol = \"DOGE\" : data.symbol;\r\n if (tabData === 'BEP-2' || tabData === 'ERC-20' || tabData === 'TRC-20') {\r\n return `${data.symbol} (${tabData})`;\r\n } else {\r\n return data.symbol;\r\n }\r\n }\r\n\r\n // onDepositInterestClick(currency: IUserBalance): void {\r\n // this.modalService.openEarnPlanDetailPopup(currency.plans, currency.diamondPlan, currency.available, currency.currencyId, currency.currencyType,\r\n // this.casDepositRates, this.isFixedDepositEnable(currency.currencyType), this.isFixedDepositAndEarnEnable(currency.currencyType),\r\n // this.maxInterestModeRate, false, this.currencyDepositRateLessThanEqual365, this.currencyDepositRateGreaterThan365, this.minFlexAmount);\r\n // }\r\n openCreditLine() {\r\n if(this.isBorrowEnabled){\r\n this.router.navigateByUrl(APP_ROUTES.WALLET_CREDIT_LINE);\r\n }\r\n \r\n }\r\n\r\n goToPlans(): void {\r\n this.router.navigateByUrl(\"/plans\")\r\n }\r\n\r\n sortNoInterestRate() {\r\n this.isBorrowMore = !this.isBorrowMore;\r\n if(!this.isBorrowMore && this.creditlineData?.loyalityPlan === 'Base') {\r\n this.showUpgradeOption = true;\r\n } else {\r\n this.showUpgradeOption = false;\r\n }\r\n this.loading = true;\r\n this.getInterest();\r\n }\r\n\r\n getInterest() {\r\n this.loading = true;\r\n this.walletService.getInterest(this.isBorrowMore).subscribe(res => {\r\n this.loading = false;\r\n this.allCurrencyList = [];\r\n if (res) {\r\n this.creditlineData = res;\r\n this.creditLineList = res.creditLines;\r\n this.userCreditBalance = res.usercreditbalance;\r\n localStorage.setItem('userCreditBalance', JSON.stringify(this.userCreditBalance));\r\n this.currencyByUSD = this.userCreditBalance.currencyByUSD;\r\n this.balanceData = this.currencyByUSD;\r\n this.earninterestbalance = res.earninterestbalance;\r\n this.isBalance = this.balanceData.some(ele => ele.isBalanceAvailable === true);\r\n this.balanceData.sort((a, b) => (a.available > b.available ? -1 : 1));\r\n this.balanceData.filter(\r\n (el) => {\r\n el['isSelected'] = true;\r\n \r\n this.allCurrencyList.push(el);\r\n }\r\n )\r\n \r\n }\r\n setTimeout(() => this.getGivenCurrency(), 100);\r\n })\r\n }\r\n \r\n showEarnBorrow() {\r\n this.isEarn = !this.isEarn;\r\n if(this.isEarn) {\r\n this.isBorrowMore = true;\r\n }\r\n this.getInterest();\r\n if(!this.isBorrowMore && this.creditlineData?.loyalityPlan === 'Base') {\r\n this.showUpgradeOption = true;\r\n } else {\r\n this.showUpgradeOption = false; \r\n }\r\n // this.hideZeroBalance = false;\r\n }\r\n\r\n getCurrencyInfo() {\r\n this.loading = true;\r\n this.userService.getFlexAndFdDetail().subscribe((res) => {\r\n this.currencyInfo = res;\r\n this.getCreditLine();\r\n }, err => {\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getAllCurrencies() {\r\n this.domainService.getCurrenciesList(CurrencyType.all).subscribe((list) => {\r\n this.allCurrenciesWithNetworkType = list.currencies;\r\n });\r\n }\r\n \r\n onTabClick() {\r\n this.accountDetailsCryptoData = null;\r\n }\r\n\r\n trade() {\r\n this.cryptoSection.nativeElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subSink.unsubscribe();\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Oops.. you have no Balance
    \r\n \"zero\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \"Portfolio\r\n \r\n Portfolio Balance\r\n \r\n
    ${{userCreditBalance?.totalBalanceInUSD | number: \"0.0-2\"}}
    \r\n
    \r\n  ${{creditlineData?.lockedbalance}}\r\n \"\"\r\n
    \r\n
    \r\n
    \r\n \"\"\r\n \r\n Interest Earned\r\n \r\n
    ${{earninterestbalance | number: \"0.0-2\"}}
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Total Credit Line

    \r\n
    ${{userCreditBalance?.totalCreditInUSD | number: \"0.0-2\"}}
    \r\n
    \r\n
    \r\n

    Available Credit Line

    \r\n
    ${{userCreditBalance?.totalAvailableCreditInUSD | number: \"0.0-2\"}}
    \r\n
    \r\n
    \r\n

    Availed Credit

    \r\n
    ${{userCreditBalance?.totalAvailedCreditInUSD | number: \"0.0-2\"}}
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"Portfolio\r\n \r\n Portfolio Balance\r\n \r\n
    ${{userCreditBalance?.totalBalanceInUSD | number: \"0.0-2\"}}
    \r\n
    \r\n  ${{creditlineData?.lockedbalance}}\r\n \"\"\r\n
    \r\n
    \r\n
    \r\n \"\"\r\n \r\n Interest Earned\r\n \r\n
    ${{earninterestbalance | number: \"0.0-2\"}}
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n \r\n Loyalty Level\r\n \r\n
    \r\n
    {{creditlineData?.loyalityPlan}}
    \r\n
    0; else today\" class=\"time\">Since {{creditlineData?.sinceCount}} days
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Total Credit Line

    \r\n
    ${{userCreditBalance?.totalCreditInUSD | number: \"0.0-2\"}}
    \r\n
    \r\n
    \r\n

    Available Credit Line

    \r\n
    ${{userCreditBalance?.totalAvailableCreditInUSD | number: \"0.0-2\"}}
    \r\n
    \r\n
    \r\n

    Availed Credit

    \r\n
    ${{userCreditBalance?.totalAvailedCreditInUSD | number: \"0.0-2\"}}
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Borrow\r\n
    \r\n

    with Crypto, Cash or Stablecoins

    \r\n

    Your credit line is zero.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Repay\r\n
    \r\n

    with Crypto, Cash or Stablecoins

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Trade\r\n
    \r\n

    Buy, Sell & Swap

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n
    Hide currencies with 0 balance \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Assets\r\n
    \r\n
    \r\n Credit Line\r\n
    \r\n
    \r\n LTV\r\n
    \r\n
    ROI% (Annually)
    \r\n
    \r\n Earn Interest\r\n
    \r\n
    \r\n\r\n\r\n
    0 && !loading && (!hideZeroBalance || isBalance)\">\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.symbol) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.symbol) }} address, people can send\r\n {{ getCurrencyName(item.symbol) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.symbol === \"DOG\" ? \"DOGE\" : item.symbol }}\r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{item.symbol == 'XRP'\r\n ? 'TAG': 'MEMO' }}

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.memo}}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n \r\n
      \r\n Contract{{getContract(nwType)}}\r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n Minimum deposit amount is $10 equivalent. Amounts less than this will be lost.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n 0)\" [ngClass]=\"{'sm-disable-span':item.available===0}\">\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Assets\r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.symbol) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.symbol) }} address, people can send\r\n {{ getCurrencyName(item.symbol) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.symbol }}\r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{item.symbol == 'XRP'\r\n ? 'TAG': 'MEMO' }}

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.memo}}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n
      \r\n Contract{{getContract(nwType)}}\r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n Minimum deposit amount is $10 equivalent. Amounts less than this will be lost.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n 0)\" [ngClass]=\"{'sm-disable-span':item.available===0}\">\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \"borrow\r\n
    To avail Borrow at 0% you need to upgrade your loyalty level
    \r\n \r\n
    \r\n\r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { param } from 'jquery';\r\nimport { WalletService } from '../services/wallet.service';\r\n\r\n@Component({\r\n selector: 'cashaa-loan-details',\r\n templateUrl: './loan-details.component.html',\r\n styleUrls: ['./loan-details.component.scss']\r\n})\r\nexport class LoanDetailsComponent implements OnInit {\r\n\r\n loanId;\r\n loanDetails = [];\r\n loading = false;\r\n loanRepaymentHistoryInfo = [];\r\n constructor(private activatedRoute: ActivatedRoute, private walletService: WalletService) { }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe( param => {\r\n this.loanId = window.atob(param.id);\r\n })\r\n if(this.loanId) {\r\n this.getLoanDetailsByLoanId();\r\n this.getLoanRepaymentHistory();\r\n }\r\n }\r\n\r\n getLoanDetailsByLoanId() {\r\n this.loading = true;\r\n this.walletService.getLoanDetailsById(this.loanId).subscribe(res => {\r\n this.loading = false; \r\n this.loanDetails = res.creditLines;\r\n }, err => {\r\n this.loading = false;\r\n })\r\n\r\n }\r\n getLoanRepaymentHistory() {\r\n this.loading = true;\r\n this.walletService.getLoanRepaymentHistory(this.loanId).subscribe(res => {\r\n this.loading = false;\r\n this.loanRepaymentHistoryInfo = res.repayment;\r\n\r\n }, err => {\r\n this.loading = false;\r\n })\r\n }\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    Collateral against loan
    \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    DateCollateral locked (intially)Remaining collateral locked (currently)Worth in CasStatus
    {{item.date | date: 'dd MMMM, yyyy'}}{{item.amount}} {{item.currencySymbol}}{{item.remainingAmount | number}}  {{item.currencySymbol}}{{item.amountInCas}} CAS{{item.creditLoanStatus}}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Payment history
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    DateTransaction IdUNLAmount
    {{info?.date | date: 'dd MMMM, yyyy'}}{{info?.id}}{{info?.loanNumber}}\"{{info?.currencySymbol}}\"  {{info?.amount}}
    \r\n
    \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { WalletService } from '../services/wallet.service';\r\n\r\n@Component({\r\n selector: 'cashaa-loan-interest',\r\n templateUrl: './loan-interest.component.html',\r\n styleUrls: ['./loan-interest.component.scss']\r\n})\r\nexport class LoanInterestComponent implements OnInit {\r\nintrestList = [];\r\n\r\n loanId;\r\n loading = false;\r\n interestonLoan = [{\r\n 'amout': '',\r\n 'id': '',\r\n 'currencySymbol' : '',\r\n 'date': ''\r\n\r\n }];\r\n pageSize: number = 10;\r\n pageIndex: number = 1;\r\n totalPageSize: number;\r\n hasPreviousPage: boolean;\r\n hasNextPage: boolean;\r\n length: number;\r\n // loanRepaymentHistoryInfo = [];\r\n constructor(private activatedRoute: ActivatedRoute, private walletService: WalletService) { }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe( param => {\r\n this.loanId = window.atob(param.id);\r\n })\r\n if(this.loanId) {\r\n this.getInterestDeductionOnLoan(this.pageIndex, this.pageSize);\r\n // this.getLoanRepaymentHistory();\r\n }\r\n\r\n }\r\n\r\n getInterestDeductionOnLoan(pageIndex, pageSize) {\r\n this.loading = true;\r\n this.walletService.getInterestDeductionAgainstLoan(this.loanId, pageIndex, pageSize).subscribe(res => {\r\n this.loading = false;\r\n this.interestonLoan = res.data;\r\n this.pageSize = res.pageSize;\r\n this.pageIndex = res.pageIndex;\r\n this.length = res.totalCount;\r\n this.totalPageSize = res.totalPageCount;\r\n this.hasPreviousPage = res.hasPreviousPage;\r\n this.hasNextPage = res.hasNextPage;\r\n \r\n\r\n }, err => {\r\n this.loading = false;\r\n\r\n })\r\n }\r\n previous() {\r\n if (this.hasPreviousPage) {\r\n this.getInterestDeductionOnLoan(this.pageIndex - 1, this.pageSize);\r\n }\r\n }\r\n\r\n next() {\r\n if (this.hasNextPage) {\r\n this.getInterestDeductionOnLoan(this.pageIndex + 1, this.pageSize);\r\n }\r\n }\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    Loan interest
    \r\n

    Interest charged daily will automatically be deducted from your saving wallet in the currency of the loan availed. In case of unavailability of balance, the interest amount will accrue to your outstanding loan amount

    \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    DateTransaction IDAmount
    {{intLoan?.date | date : 'dd MMMM, yyyy'}}{{intLoan?.id}}\"{{intLoan?.currencySymbol}}\"  {{intLoan?.amount | number: '0.0-9'}}
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n {{pageIndex}}-{{pageSize}} of {{length}}\r\n
    \r\n
    \r\n The page you're on {{pageIndex}}\r\n \r\n \r\n
    \r\n
    ","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport {\r\n FormGroup,\r\n FormBuilder\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IDepositInterestPlan } from 'src/app/core/models/deposit-interest/deposit-interest';\r\nimport { ValidatorUtility } from 'src/app/core/utility/validator.utility';\r\nimport { WalletService } from '../services/wallet.service';\r\nimport { ModalService } from 'src/app/core/services/modal/modal.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { CommonSavedData } from 'src/app/shared/services/commonSavedData.service';\r\nimport { UNABLE_TO_PERFORM_ERROR } from 'src/app/app.constants';\r\n\r\n@Component({\r\n selector: 'cashaa-loan-repayment',\r\n templateUrl: './loan-repayment.component.html',\r\n styleUrls: ['./loan-repayment.component.scss']\r\n})\r\nexport class LoanRepaymentComponent implements OnInit {\r\n loanDetailsForm: FormGroup;\r\n toSymbol;\r\n toLockedCurrency;\r\n toLockedCurrencyAmount;\r\n interestPlanList: IDepositInterestPlan[] = [];\r\n radioOptionToShow = [];\r\n loading = false;\r\n loanId;\r\n loanRepaymentDetails;\r\n outstandingLoanBeforeRepay;\r\n outstandingLoanAfterRepay;\r\n loanRepaymentHistoryInfo;\r\n currencyRate;\r\n payToCloseLoan = 0;\r\n availableCurrencyCreditWallet = [];\r\n creditWalletForSelectedCurrency;\r\n allCurrencyBalance = [];\r\n savingWalletOnHold;\r\n lockedAmount;\r\n rateSymbol;\r\n errorMsg = false;\r\n message;\r\n outStandingAmount;\r\n actualOutstandingAmount;\r\n currencyType;\r\n lockedInfo;\r\n feeAmount = 0;\r\n feeAmountSymbol;\r\n @ViewChild(\"currencyPair\", { static: true }) currencyPair: any;\r\n sub: Subscription;\r\n constructor(private fb: FormBuilder, private walletService: WalletService,\r\n private activatedRoute: ActivatedRoute, private toastrService: ToastrService,\r\n private router: Router, private modalService: ModalService, private commonSavedData: CommonSavedData\r\n\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loanDetailsForm = this.fb.group({\r\n currency: [\"\", ValidatorUtility.Required],\r\n amount: [\"\", ValidatorUtility.Required],\r\n walletType: [\"1\"]\r\n });\r\n this.activatedRoute.params.subscribe(param => {\r\n this.loanId = window.atob(param.id);\r\n })\r\n if (this.loanId) {\r\n this.getLoanRepaymentDetails();\r\n this.getLoanRepaymentHistory();\r\n this.getLockedAmount();\r\n\r\n }\r\n this.loanDetailsForm.get('amount').valueChanges.subscribe(res => {\r\n this.getOutstandingAndFeeAmount();\r\n\r\n let amountIncludeFee = Number(res.split(\",\").join(\"\")) + this.feeAmount;\r\n if (this.loanDetailsForm.controls.walletType.value == '1' && (amountIncludeFee > this.savingWalletOnHold)) {\r\n this.errorMsg = true;\r\n this.message = 'Amount is higher than balance';\r\n } else if (this.loanDetailsForm.controls.walletType.value == '2' && (amountIncludeFee > this.toLockedCurrencyAmount)) {\r\n this.errorMsg = true;\r\n this.message = 'Amount is higher than balance';\r\n } else if (amountIncludeFee > this.actualOutstandingAmount) {\r\n this.errorMsg = true;\r\n this.message = 'Amount is higher than loan amount';\r\n\r\n } else {\r\n this.errorMsg = false;\r\n }\r\n this.loanDetailsForm.get('walletType').valueChanges.subscribe(walletType => {\r\n if (walletType == 1 && res > this.savingWalletOnHold) {\r\n this.errorMsg = true;\r\n this.message = 'Amount is higher than balance';\r\n }\r\n else if (walletType == 2 && res > this.toLockedCurrencyAmount) {\r\n this.errorMsg = true;\r\n this.message = 'Amount is higher than balance';\r\n }\r\n else {\r\n this.errorMsg = false;\r\n }\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n onCurrencyTypeChange(event) {\r\n // this.outstandingLoanAfterRepay = 0;\r\n this.payToCloseLoan = 0;\r\n this.toSymbol = event.symbol;\r\n this.currencyType = event.currencyType;\r\n this.getCrediWalletAmount();\r\n this.getUserSavingBalance();\r\n if (this.toSymbol) {\r\n this.loanDetailsForm.get('amount').setValue('');\r\n }\r\n\r\n // this.getCurrencyPairs();\r\n this.interestPlanList = [];\r\n this.radioOptionToShow = [];\r\n }\r\n\r\n getCrediWalletAmount() {\r\n this.walletService.getLoanDetailsById(this.loanId).subscribe(res => {\r\n this.availableCurrencyCreditWallet = res.creditLines;\r\n const result = this.availableCurrencyCreditWallet.filter(item => item.currencySymbol === this.toSymbol);\r\n this.creditWalletForSelectedCurrency = result[0];\r\n if (!this.creditWalletForSelectedCurrency?.remainingAmount) {\r\n this.toLockedCurrencyAmount = 0.0;\r\n }\r\n else {\r\n this.toLockedCurrencyAmount = this.creditWalletForSelectedCurrency?.remainingAmount;\r\n }\r\n }, err => {\r\n\r\n })\r\n }\r\n\r\n getLockedAmount() {\r\n this.walletService.getLockedCurrencyByLoanId(this.loanId).subscribe(res => {\r\n this.lockedInfo = res;\r\n });\r\n }\r\n\r\n getUserSavingBalance() {\r\n this.walletService.getUserBalance().subscribe(res => {\r\n this.allCurrencyBalance = res;\r\n this.savingWalletOnHold = this.allCurrencyBalance.filter(item => item.currencyType === this.toSymbol)[0].available;\r\n\r\n })\r\n }\r\n\r\n getLoanRepaymentDetails() {\r\n this.loading = true;\r\n this.walletService.getLoanRepaymentData(this.loanId).subscribe(res => {\r\n this.loading = false;\r\n this.loanRepaymentDetails = res;\r\n this.outstandingLoanBeforeRepay = res.outstandingLoan;\r\n // this.getCurrencyPairs();\r\n\r\n }, err => {\r\n this.loading = false;\r\n })\r\n }\r\n\r\n getLoanRepaymentHistory() {\r\n this.loading = true;\r\n this.walletService.getLoanRepaymentHistory(this.loanId).subscribe(res => {\r\n this.loading = false;\r\n this.loanRepaymentHistoryInfo = res.repayment;\r\n\r\n }, err => {\r\n this.loading = false;\r\n })\r\n }\r\n\r\n // getCurrencyPairs(): void {\r\n // this.domainService.getCurrencyPairListById(this.loanRepaymentDetails.currencyId).subscribe(res => {\r\n // // this.currencyPairs.push({\r\n // // value: res[0].currencyId,\r\n // // label: res[0].fromSymbol,\r\n // // icon: `../../../../assets/icons/${res[0].fromSymbol}.png`,\r\n // // symbol: res[0].fromSymbol\r\n // // })\r\n // this.currencyPairs = res.map((currencies) => {\r\n // return {\r\n // value: currencies.toCurrencyId,\r\n // label: currencies.toSymbol,\r\n // icon: `../../../../assets/icons/${currencies.toSymbol}.png`,\r\n // symbol: currencies.toSymbol\r\n // };\r\n // });\r\n // })\r\n // }\r\n\r\n getOutstandingAndFeeAmount() {\r\n this.walletService.getOutStandingAmount(this.loanId, this.loanRepaymentDetails.currencySymbol, this.toSymbol, this.outstandingLoanBeforeRepay, this.loanDetailsForm.controls.amount.value)\r\n .subscribe(res => {\r\n this.actualOutstandingAmount = res.outStandingAmount;\r\n this.outStandingAmount = res.outStandingAmount - this.loanDetailsForm.controls.amount.value;\r\n this.outstandingLoanAfterRepay = this.outstandingLoanBeforeRepay - res.amount;\r\n this.payToCloseLoan = this.outStandingAmount;\r\n if (this.loanRepaymentDetails.currencySymbol !== this.toSymbol) {\r\n this.feeAmount = res.feeAmount;\r\n this.feeAmountSymbol = res.feeAmountSymbol;\r\n } else {\r\n this.feeAmount = 0;\r\n this.feeAmountSymbol = '';\r\n }\r\n this.getLoanRepaymentDetails();\r\n this.getLoanRepaymentHistory();\r\n })\r\n }\r\n\r\n payToClose() {\r\n this.loanDetailsForm.controls['amount'].setValue(this.payToCloseLoan);\r\n }\r\n\r\n onFormSubmit(): void {\r\n this.modalService.openConfirmationModal(\"Do you want to proceed for loan repayment?\");\r\n this.sub = this.commonSavedData.getConfirmationBoxStatus().subscribe((status: boolean) => {\r\n if (status) {\r\n this.loading = true;\r\n const data = this.loanDetailsForm.value;\r\n const payload = {\r\n \"amount\": data.amount,\r\n \"currencyId\": data.currency.value,\r\n \"creditRepaymentType\": data.walletType,\r\n \"creditLoanId\": this.loanId\r\n };\r\n this.walletService.repay(payload).subscribe(res => {\r\n if (res) {\r\n this.toastrService.success(res.message);\r\n this.getLoanRepaymentDetails();\r\n this.getUserSavingBalance();\r\n this.router.navigateByUrl('repay');\r\n }\r\n\r\n }, err => {\r\n this.loading = false;\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n });\r\n }\r\n this.sub.unsubscribe();\r\n })\r\n\r\n }\r\n\r\n selectLockedCurrency(lockedDetails) {\r\n if(lockedDetails.isPayable) {\r\n \r\n }\r\n // this.toLockedCurrency = lockedDetails.currencySymbol;\r\n // this.toLockedCurrencyAmount = lockedDetails.amount;\r\n // this.toSymbol = lockedDetails.currencySymbol;\r\n // this.currencyType = lockedDetails.currencyType;\r\n // // this.currencyPair.getCurrencyPairList(lockedDetails.currencyId);\r\n // let currencyObject = {\r\n // currencyType: lockedDetails.currencyType,\r\n // icon: `../../../../assets/icons/${lockedDetails.currencySymbol}.png`,\r\n // label: lockedDetails.currencySymbol,\r\n // symbol: lockedDetails.currencySymbol,\r\n // value: lockedDetails.currencyId\r\n // }\r\n\r\n // this.currencyPair.onCurrencyChange(currencyObject);\r\n // this.loanDetailsForm.controls.walletType.setValue(\"2\");\r\n }\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    Loan repayment
    \r\n \r\n
    \r\n
    Loan No. {{loanRepaymentDetails?.loanNumber}}
    \r\n
    \r\n
    \r\n
    Outstanding loan amount: {{outstandingLoanBeforeRepay}} {{loanRepaymentDetails?.currencySymbol}}
    \r\n
    Pay with
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    {{toSymbol}} {{savingWalletOnHold | number: '0.0-5'}}
    \r\n
    {{toSymbol}} {{savingWalletOnHold | number: '0.0-5'}}
    \r\n
    \r\n \r\n \r\n
    \r\n  \r\n
    \r\n
    \r\n
    {{toLockedCurrency}} {{toLockedCurrencyAmount | number: '0.0-5'}}
    \r\n \r\n
    {{toLockedCurrency}} {{toLockedCurrencyAmount | number: '0.0-5'}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    0\" class=\"mb-4 position-relative pl-5\">\r\n
    \r\n

    {{feeAmount | number: \"0.0-4\"}}

    \r\n

    Exchange fee

    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n

    \r\n {{message}}\r\n

    \r\n
    0\">\r\n
    You need to pay another {{payToCloseLoan | number: \"0.0-4\"}} {{toSymbol}} to close the loan
    \r\n
    \r\n
    0\">\r\n
    Outstanding loan after repayment: {{outstandingLoanAfterRepay | number}} {{loanRepaymentDetails?.currencySymbol}}
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    DateTransaction IdAmount
    {{info?.date | date: 'dd MMMM, yyyy'}}{{info?.id}}\"{{info?.currencySymbol}}\" {{info?.amount}}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n  \r\n {{lockInf?.amount}} {{lockInf?.currencySymbol}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { WalletService } from '../services/wallet.service';\r\n\r\n@Component({\r\n selector: 'cashaa-portfolio-history',\r\n templateUrl: './portfolio-history.component.html',\r\n styleUrls: ['./portfolio-history.component.scss']\r\n})\r\nexport class PortfolioHistoryComponent implements OnInit {\r\n\r\n portfolioData;\r\n loader: boolean = false;\r\n loading: boolean = false;\r\n\r\n constructor(private walletService: WalletService) { }\r\n\r\n ngOnInit(): void {\r\n this.walletService.getPorfolioHistory().subscribe((data) => {\r\n this.portfolioData = data;\r\n }, err => {\r\n \r\n });\r\n }\r\n\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    Sr No
    \r\n
    \r\n
    Portfolio Level
    \r\n
    \r\n
    Date
    \r\n
    \r\n
    Time
    \r\n
    \r\n {{i+1}}\r\n \r\n \r\n  {{item.planName}}\r\n \r\n {{item.created|date}}\r\n \r\n {{item.created|date: 'hh:mm'}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n ","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { WalletService } from '../services/wallet.service';\r\n\r\n@Component({\r\n selector: 'cashaa-repay',\r\n templateUrl: './repay.component.html',\r\n styleUrls: ['./repay.component.scss']\r\n})\r\nexport class RepayComponent implements OnInit {\r\n @Input() currencyId: string;\r\n creditLoanList = [];\r\n loading = false;\r\n copied = false;\r\n\r\n constructor(private router: Router, private walletService: WalletService, private toastrService: ToastrService) { }\r\n\r\n ngOnInit(): void {\r\n this.getLoanList();\r\n }\r\n\r\n getLoanList() {\r\n this.loading = true;\r\n this.walletService.getCreditLoanList().subscribe(res => {\r\n this.loading = false;\r\n this.creditLoanList = res.creditLines;\r\n }, err => {\r\n this.loading = false;\r\n })\r\n }\r\n\r\n getLoanDetails(item) {\r\n let id = window.btoa(item.id);\r\n this.router.navigateByUrl(`loan-details/${id}`)\r\n }\r\n\r\n getInterestOnLoan(loanId) {\r\n let id = window.btoa(loanId);\r\n this.router.navigateByUrl(`loan-interest/${id}`)\r\n }\r\n\r\n loanRepayment(item) {\r\n let id = window.btoa(item.id);\r\n this.router.navigateByUrl(`loan-repayment/${id}`)\r\n }\r\n\r\n copyLoanId(selectedItem) {\r\n this.copied = true;\r\n navigator.clipboard.writeText(selectedItem.loanNumber);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n\r\n}\r\n\r\n\r\n","\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Loan Details
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Availed On\r\n \r\n Loan Id\r\n \r\n Amount\r\n \r\n Outstanding Loan\r\n \r\n Interest Rate\r\n \r\n Status\r\n \r\n Action\r\n
    {{item.availedOn | date: 'dd MMMM, yyyy'}}{{item?.loanNumber}}\r\n \r\n {{item.amount}} {{item.currencySymbol}}{{item.outStandingLoan}} {{item.currencySymbol}}{{item.rate}}%OpenClosed\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    ","import { Injectable } from '@angular/core';\r\n// import { liteClient as algoliasearch } from 'algoliasearch/lite';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport algoliasearch from 'algoliasearch/lite'; \r\n// import InstantSearch from 'instantsearch.js/es/lib/InstantSearch';\r\n// import type { IndexWidget, Widget } from 'instantsearch.js';\r\nimport { ALGOLIA_API_KEY, ALGOLIA_APP_ID, ALGOLIA_INDEX_NAME } from 'src/app/app.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InstantSearchService {\r\n // public instantSearchInstance: InstantSearch;\r\n searchClient = algoliasearch(ALGOLIA_APP_ID, ALGOLIA_API_KEY);\r\n index = this.searchClient.initIndex(ALGOLIA_INDEX_NAME);\r\n \r\n // private searchResultsSubject: BehaviorSubject = new BehaviorSubject([]);\r\n // public searchResults$: Observable = this.searchResultsSubject.asObservable();\r\n constructor() {\r\n this.searchClient = algoliasearch(\r\n ALGOLIA_APP_ID,\r\n ALGOLIA_API_KEY\r\n );\r\n }\r\n\r\n search(query: string): void {\r\n if (!query) {\r\n // this.searchResultsSubject.next([]); // Clear results when there's no query\r\n return;\r\n }\r\n this.index\r\n .search(query)\r\n .then(response => {\r\n // this.searchResultsSubject.next(response.hits);\r\n console.log(':::::::::::::::::', response);\r\n return response;\r\n })\r\n .catch(err => {\r\n console.error('Algolia search error:', err);\r\n // this.searchResultsSubject.next([]); // In case of error, clear the results\r\n });\r\n }\r\n\r\n // start() {\r\n // this.instantSearchInstance.start();\r\n // }\r\n\r\n // addWidgets(widgets: Array) {\r\n // this.instantSearchInstance.addWidgets(widgets);\r\n // }\r\n\r\n // removeWidgets(widgets: Array) {\r\n // this.instantSearchInstance.removeWidgets(widgets);\r\n // }\r\n}","import { CurrencyTypeData } from \"./../../core/models/currency-type-data\";\r\nimport { ICryptoAccountDetails } from \"./../../core/models/crypto-account-details\";\r\nimport { IAccountDetails } from \"./../../core/models/account-details\";\r\nimport { CryptoAccountRequestModel } from \"./../../core/models/crypto-account-request-model\";\r\nimport { FiatAccountRequestModel } from \"./../../core/models/fiat-account-request-model\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { BehaviorSubject, Observable, Subject } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ICurrencyList } from \"../../core/models/currency\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { UserCreditBalance } from \"src/app/core/models/credit-line\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class WalletService {\r\n /** api url */\r\n private apiUrl = environment.api;\r\n\r\n /** Currency Symbol emitter */\r\n private currencySymbolEmitter = new BehaviorSubject<\r\n CurrencyTypeData | undefined\r\n >(undefined);\r\n public loanData: Subject;\r\n constructor(private http: HttpClient) {\r\n \r\n this.loanData = new Subject();\r\n }\r\n\r\n /**\r\n * Get User balance\r\n */\r\n getUserBalance(): Observable {\r\n return this.http.get(`${this.apiUrl}/balance`);\r\n }\r\n /**\r\n * get fiat currencies\r\n */\r\n getFiatCurrency(): Observable {\r\n return this.http.get(`${this.apiUrl}/currencies/fiat`);\r\n }\r\n\r\n /**\r\n * get Crypto currencies\r\n */\r\n getCryptoCurrency(): Observable {\r\n return this.http.get(`${this.apiUrl}/currencies/crypto`);\r\n }\r\n\r\n /*** Get KYC data emitter***/\r\n getCurrencySymbolEmitter(): Observable {\r\n return this.currencySymbolEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit Currency Symbol\r\n */\r\n emitCurrencySymbol(symbol: CurrencyTypeData): void {\r\n this.currencySymbolEmitter.next(symbol);\r\n }\r\n\r\n openFiatAccount(\r\n currencySymbol: FiatAccountRequestModel\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/fiats/createaccount`,\r\n currencySymbol\r\n );\r\n }\r\n openPersonalFiatAccount(\r\n currencySymbol: FiatAccountRequestModel\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/fiats/createpersonalaccount`,\r\n currencySymbol\r\n );\r\n }\r\n\r\n OpenCryptoAccount(\r\n payload: CryptoAccountRequestModel\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/wallets/create`,\r\n payload\r\n );\r\n }\r\n\r\n getAccountDetailsByCurrency(\r\n walletCurrency: string\r\n ): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/fiats/getfiataccountbyusercurrecny/${walletCurrency}`\r\n );\r\n }\r\n\r\n getCryptoAccountDetails(currency: string): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/wallets/${currency}`\r\n );\r\n }\r\n\r\n createCryptoAddress(payload): Observable {\r\n return this.http.post(\r\n `${environment.api}/wallets/createaddress`,\r\n payload\r\n );\r\n }\r\n\r\n getCryptoAddress(currencyId, networkVal): Observable {\r\n return this.http.get(\r\n `${this.apiUrl}/wallets/getaddressbycurrency?currencyId=${currencyId}&networkType=${networkVal}`\r\n );\r\n }\r\n\r\n\r\n\r\n \r\n\r\n getCreditLoan(\r\n payload\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/CreditLine/create`,\r\n payload\r\n );\r\n }\r\n\r\n sendEmailOTP(payload) {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/CreditLine/creditlineotp`,\r\n payload\r\n );\r\n }\r\n\r\n getDailyInterestRate(currencyId, isInterestFetch) {\r\n return this.http.get(`${this.apiUrl}/CreditLine/getDailyInterest?Id=${currencyId}&isInterestFetch=${isInterestFetch}`)\r\n }\r\n\r\n setLoanDetails(loanDetails) {\r\n this.loanData.next(loanDetails);\r\n }\r\n\r\n repay(payload): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/CreditLine/repay`,\r\n payload\r\n );\r\n }\r\n\r\n getCreditLoanList() {\r\n return this.http.get(`${this.apiUrl}/CreditLine/getCreditLoan`);\r\n }\r\n\r\n getLoanDetailsById(loanId) {\r\n return this.http.get(`${this.apiUrl}/CreditLine/getCreditLoanDetail?Id=${loanId}`);\r\n }\r\n\r\n getInterestDeductionAgainstLoan(loanId, page, pageSize) {\r\n return this.http.get(`${this.apiUrl}/CreditLine/getinterest?page=${page}&pageSize=${pageSize}&LoanId=${loanId}`);\r\n }\r\n \r\n getCreditLines() {\r\n return this.http.get(\r\n `${this.apiUrl}/CreditLine/getDefaultCredit`\r\n )\r\n }\r\n\r\n getLoanRepaymentData(loanId) {\r\n return this.http.get(\r\n `${this.apiUrl}/CreditLine/getOutstandingLoanById?LoanId=${loanId}`);\r\n }\r\n\r\n getLockedCurrencyAmount(payload): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/CreditLine/lockedcurrency`,\r\n payload\r\n );\r\n }\r\n\r\n getLoanRepaymentHistory(loanId) {\r\n return this.http.get(\r\n `${this.apiUrl}/CreditLine/getrepayment?LoanId=${loanId}`);\r\n }\r\n\r\n getPorfolioHistory() {\r\n return this.http.get(\r\n `${this.apiUrl}/userplan/getuserportfoliohistory/`\r\n );\r\n }\r\n\r\n getCreditLineRate(fromCurrency, toCurrency) {\r\n return this.http.get(\r\n `${this.apiUrl}/CreditLine/getcreditlinerate?fromCurrency=${fromCurrency}&toCurrency=${toCurrency}`\r\n );\r\n }\r\n\r\n getOutStandingAmount(loanid, fromCurrency, toCurrency, outStandingAmount, amount) {\r\n return this.http.get(`${this.apiUrl}/CreditLine/getoutstandingamount?loanid=${loanid}&fromCurrency=${fromCurrency}&toCurrency=${toCurrency}&outStandingAmount=${outStandingAmount}&amount=${amount}`)\r\n }\r\n\r\n getInterest(isInterestFetch) {\r\n return this.http.get(`${this.apiUrl}/CreditLine/getDefaultCredit?isInterestFetch=${isInterestFetch}`)\r\n }\r\n getCreditLineQuote(isInterestFetch) {\r\n return this.http.get(`${this.apiUrl}/CreditLine/getcreditlinequote?isInterestFetch=${isInterestFetch}`)\r\n }\r\n\r\n getLockedCurrencyByLoanId(loanId) {\r\n return this.http.get(`${this.apiUrl}/CreditLine/getlockedamount?loanId=${loanId}`);\r\n }\r\n \r\n \r\n}\r\n\r\n\r\n\r\n\r\n","import { CurrencyTypeData } from \"./../../core/models/currency-type-data\";\r\nimport { ICryptoAccountDetails } from \"./../../core/models/crypto-account-details\";\r\nimport { IAccountDetails } from \"./../../core/models/account-details\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { WalletService } from \"./../services/wallet.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChildren,\r\n QueryList,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { ICurrencyList } from \"../../core/models/currency\";\r\nimport {\r\n APP_ROUTES,\r\n IS_KYC_DONE_PERSONAL,\r\n UNABLE_TO_PERFORM_ERROR,\r\n USER_COUNTRY_CODE,\r\n USER_ID,\r\n USER_INTEREST_MODE,\r\n USER_TYPE,\r\n} from \"../../app.constants\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { PopoverDirective, SBItemComponent } from \"ng-uikit-pro-standard\";\r\nimport { KycService } from \"src/app/kyc/services/kyc.service\";\r\nimport { ICreateKYC } from \"src/app/core/models/create-kyc\";\r\nimport { CryptoAccountRequestModel } from \"./../../core/models/crypto-account-request-model\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { AccountUpgradeService } from \"src/app/account-upgrade/services/account-upgrade.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { IDepositInterestPlan } from \"src/app/core/models/deposit-interest/deposit-interest\";\r\nimport { DepositInterestService } from \"src/app/deposit-interest/service/deposit-interest.service\";\r\nimport { IUserPlan } from \"src/app/core/models/user-plan/user-detail\";\r\nimport { NetworkType } from \"src/app/core/enums/network-type-enum\";\r\n\r\n@Component({\r\n selector: \"cashaa-wallet-dashboard\",\r\n templateUrl: \"./wallet-dashboard.component.html\",\r\n styleUrls: [\"./wallet-dashboard.component.scss\"],\r\n})\r\nexport class WalletDashboardComponent implements OnInit {\r\n fiatCurrencyList: IUserBalance[];\r\n @ViewChild('mdbPopover') mdbPopover: PopoverDirective;\r\n localBankFiatCurrencyList: IUserBalance[] = [];\r\n accountBankFiatCurrencyList: IUserBalance[] = [];\r\n\r\n cryptoBankFiatCurrencyList: IUserBalance[] = [];\r\n\r\n currencyToEmit: string;\r\n currencyType: string;\r\n accountDetailsByCurrencyData: IAccountDetails;\r\n accountDetailsByAccountCurrencyData: IAccountDetails;\r\n accountDetailsCryptoData: ICryptoAccountDetails;\r\n\r\n accountDetailsETHCryptoData: ICryptoAccountDetails;\r\n\r\n /** Error message if any */\r\n errorMessage?: string;\r\n\r\n /** Error message if any */\r\n errorMessageCrypto?: string;\r\n\r\n /** selected local bank */\r\n selectedLocalBank = -1;\r\n\r\n selectedAccountBank = -1;\r\n\r\n /** selected crypto bank */\r\n selectedCrypto = -1;\r\n\r\n localBankLoading = false;\r\n\r\n accountBankLoading = false;\r\n\r\n cryptoLoading = false;\r\n\r\n loading = false;\r\n\r\n copied = false;\r\n\r\n copiedMemo = false;\r\n\r\n // Is Personal Kyc verified\r\n isPersonalKycVerified = false;\r\n isBusinessKycVerified = false;\r\n isBusinessVerified\r\n // get logged user type\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n\r\n // hold personal user kyc details\r\n personalKycVerifiedInfo: ICreateKYC;\r\n usdKycStatus;\r\n usdButtonText: string;\r\n usdButtonRoute: string;\r\n usdButtonDisable: boolean;\r\n @ViewChildren(\"collapses\") collapses: QueryList[];\r\n @ViewChildren(\"collapsesAccount\")\r\n collapsesAccount: QueryList[];\r\n casDepositRates: number[] = [];\r\n maxInterestModeRate: number[] = [];\r\n @ViewChildren(\"collapsesCrypto\")\r\n collapsesCrypto: QueryList[];\r\n rateType: string = sessionStorage.getItem(USER_INTEREST_MODE);\r\n whiteListUserId = environment.whiteListUserId;\r\n\r\n excludeFiatCurrencies: string[] = [\"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\", \"USD\", \"GBP\"];\r\n\r\n excludeCryptoDisable: string[] = [\"BNB20\"];\r\n hideZeroBalance = false;\r\n temp = [];\r\n\r\n constructor(\r\n private walletService: WalletService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private kycService: KycService,\r\n private toastrService: ToastrService,\r\n private upgardeService: AccountUpgradeService,\r\n private modalService: ModalService,\r\n private userService: UserService,\r\n private depositService: DepositInterestService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getFiatCurrency();\r\n if (this.userType === '4') {\r\n this.getPersonalKycDetail();\r\n } else {\r\n this.getBusinessKycDetail();\r\n }\r\n this.getUsdStatus();\r\n // this.mdbPopover.show();\r\n }\r\n\r\n getBusinessKycDetail(): void {\r\n this.upgardeService.usdStatus().subscribe(\r\n (flag) => {\r\n if (flag.status === 5) {\r\n this.isBusinessKycVerified = true;\r\n }\r\n },\r\n );\r\n }\r\n\r\n getUsdStatus(): void {\r\n this.loading = true;\r\n this.usdButtonDisable = false;\r\n this.upgardeService.usdStatus().subscribe(\r\n (flag) => {\r\n this.usdKycStatus = flag.status;\r\n switch (flag.status) {\r\n case 1:\r\n this.usdButtonText = \"Apply\";\r\n break;\r\n\r\n case 2:\r\n this.usdButtonText = \"Update KYC Details\";\r\n break;\r\n\r\n case 3:\r\n this.usdButtonText = \"KYC in Progress\";\r\n break;\r\n\r\n case 4:\r\n this.usdButtonText = \"Update KYC Details\";\r\n break;\r\n\r\n case 5:\r\n this.usdButtonText = \"KYC in Progress\";\r\n break;\r\n\r\n case 6:\r\n this.usdButtonText = \"Account Creation in Progress\";\r\n this.usdButtonDisable = true;\r\n break;\r\n\r\n case 7:\r\n this.usdButtonText = \"\";\r\n this.usdButtonDisable = true;\r\n break;\r\n }\r\n\r\n // if (flag.status === 7) {\r\n // this.enableActiveForPremierFlag = true;\r\n // } else {\r\n // this.enableActiveForPremierFlag = false;\r\n // }\r\n if (flag.status === 1) {\r\n this.usdButtonRoute = \"/subscription/plan\";\r\n } else {\r\n this.usdButtonRoute =\r\n this.userType === \"5\" || this.userType === \"6\" ? \"/kyc/business\" : \"/kyc/US/personal\";\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n //get given currency\r\n getGivenCurrency(): void {\r\n this.activatedRoute.queryParamMap.subscribe((params) => {\r\n const currency = params.get(\"c\");\r\n if (currency) {\r\n const found = this.localBankFiatCurrencyList.filter(\r\n (lc) => lc.currencyType === currency\r\n );\r\n if (found.length > 0) {\r\n const idx = this.localBankFiatCurrencyList.indexOf(found[0]);\r\n this.collapses.forEach((el: any, i: number) => {\r\n if (idx !== i) {\r\n el.toggle(true);\r\n } else {\r\n el.toggle(false);\r\n this.getAccountDetailsByCurrency(null, found[0], idx);\r\n this.selectedLocalBank = i;\r\n }\r\n });\r\n }\r\n\r\n const foundAccount = this.accountBankFiatCurrencyList.filter(\r\n (lc) => lc.currencyType === currency\r\n );\r\n if (foundAccount.length > 0) {\r\n const idx = this.accountBankFiatCurrencyList.indexOf(foundAccount[0]);\r\n this.collapsesAccount.forEach((el: any, i: number) => {\r\n if (idx !== i) {\r\n el.toggle(true);\r\n } else {\r\n el.toggle(false);\r\n this.getAccountDetailsByAccountCurrency(null, foundAccount[0], idx);\r\n this.selectedAccountBank = i;\r\n }\r\n });\r\n }\r\n\r\n const foundCrypto = this.cryptoBankFiatCurrencyList.filter(\r\n (lc) => lc.currencyType === currency\r\n );\r\n if (foundCrypto.length > 0) {\r\n const idx = this.cryptoBankFiatCurrencyList.indexOf(foundCrypto[0]);\r\n this.collapsesCrypto.forEach((el: any, i: number) => {\r\n if (idx !== i) {\r\n el.toggle(true);\r\n } else {\r\n el.toggle(false);\r\n this.getCryptoAccountDetails(null, foundCrypto[0], idx);\r\n this.selectedCrypto = i;\r\n }\r\n });\r\n }\r\n\r\n const el = document.getElementById(currency);\r\n if (el) {\r\n el.scrollIntoView();\r\n }\r\n }\r\n });\r\n }\r\n\r\n onAccountReadyPage(currency: IUserBalance, currencyType: string, networkType?: string): void {\r\n if (\"BEP-20\" === networkType) {\r\n this.currencyToEmit = 'ETH';\r\n currency = this.cryptoBankFiatCurrencyList.filter(cur => cur.currencyType === 'ETH')[0];\r\n } else {\r\n this.currencyToEmit = currency.currencyType;\r\n }\r\n this.currencyType = currencyType;\r\n const currencyData = new CurrencyTypeData(\r\n this.currencyToEmit,\r\n this.currencyType\r\n );\r\n\r\n if (this.currencyType === \"Crypto\") {\r\n this.cryptoLoading = true;\r\n const inputCurrencyCrypto = new CryptoAccountRequestModel(this.currencyToEmit);\r\n this.walletService\r\n .OpenCryptoAccount(inputCurrencyCrypto)\r\n .subscribe((res) => {\r\n this.getCryptoCurrency(currency, networkType);\r\n });\r\n } else {\r\n this.walletService.emitCurrencySymbol(currencyData);\r\n this.router.navigateByUrl(APP_ROUTES.WALLET_READY_TO_GO);\r\n }\r\n }\r\n\r\n getFiatCurrency(): void {\r\n this.loading = true;\r\n this.walletService.getUserBalance().subscribe((res) => {\r\n this.fiatCurrencyList = res;\r\n this.localBankFiatCurrencyList = this.fiatCurrencyList.filter(\r\n (el) => el.currencynature === 2 && el.currencyType !== \"AUSD\"\r\n );\r\n this.accountBankFiatCurrencyList = this.fiatCurrencyList.filter(\r\n (el) => el.currencyType === \"AUSD\"\r\n );\r\n this.cryptoBankFiatCurrencyList = this.fiatCurrencyList.filter(\r\n (el) => el.currencynature === 1\r\n );\r\n let tempFiatCurrList = [];\r\n for (let curr of this.localBankFiatCurrencyList) {\r\n if (curr.currencyType === \"USD\") {\r\n tempFiatCurrList.unshift(curr);\r\n } else {\r\n tempFiatCurrList.push(curr);\r\n }\r\n }\r\n this.localBankFiatCurrencyList = [...tempFiatCurrList];\r\n this.loading = false;\r\n setTimeout(() => this.getGivenCurrency(), 100);\r\n });\r\n }\r\n\r\n getAccountDetailsByCurrency(event, currency: IUserBalance, idx: number): void {\r\n if (this.selectedLocalBank === idx) {\r\n return;\r\n }\r\n this.localBankLoading = true;\r\n\r\n this.collapses.forEach((el: any, i: number) => {\r\n if (idx !== i) {\r\n el.toggle(true);\r\n }\r\n });\r\n\r\n this.accountDetailsByCurrencyData = null;\r\n this.errorMessage = null;\r\n\r\n // this.walletService.getAccountDetailsByCurrency(currency.currencyType).subscribe(\r\n // (res) => {\r\n // this.accountDetailsByCurrencyData = res;\r\n // this.localBankLoading = false;\r\n\r\n // },\r\n // (err) => {\r\n // if (err.error.message) {\r\n // //this.toastrService.error(err.error.message);\r\n // this.errorMessage = err.error.message;\r\n // } else {\r\n // //this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n // }\r\n // this.localBankLoading = false;\r\n // }\r\n // );\r\n\r\n if (this.isEarnAndFixedDepositActive()) {\r\n if (this.isFixedDepositEnable(currency.currencyType)) {\r\n this.loadFixedDepositRate(currency);\r\n } else if (this.isFixedDepositAndEarnEnable(currency.currencyType)) {\r\n let rate: number;\r\n this.userService.getPlanDetailsByCurrencyId(currency.currencyId).subscribe((data: IUserPlan[]) => {\r\n if (data.length > 0) {\r\n currency.plans = data;\r\n currency.diamondPlan = data.filter((plan: IUserPlan) => plan.loyaltyPlanName === 'Diamond')[0];\r\n let savingInterest: number = Math.trunc(currency.diamondPlan.casRate) + Math.trunc(currency.diamondPlan.kindRate);\r\n this.depositService.getDepositInterestPlan(currency.currencyId).subscribe((data: IDepositInterestPlan[]) => {\r\n if (data.length > 0) {\r\n this.casDepositRates = [];\r\n this.maxInterestModeRate = [];\r\n const plans: IDepositInterestPlan[] = data.filter((plan) => plan.isActive && plan.isDefault);\r\n plans.forEach(plan => {\r\n if (plan.rateType == (this.rateType === 'InCas' ? 2 : 1)) {\r\n this.maxInterestModeRate.push(plan.rate)\r\n }\r\n this.casDepositRates.push(plan.rate);\r\n });\r\n if (this.casDepositRates.length > 0) {\r\n let rates: number[] = [...this.casDepositRates];\r\n rates.push(savingInterest);\r\n currency.earnRate = Math.max(...rates);\r\n }\r\n }\r\n });\r\n }\r\n this.localBankLoading = false;\r\n });\r\n }\r\n this.localBankLoading = false;\r\n } else {\r\n this.localBankLoading = false;\r\n }\r\n\r\n if (event) {\r\n $(\"html,body\").animate(\r\n {\r\n scrollTop: event.srcElement.offsetParent.offsetTop,\r\n },\r\n 600\r\n );\r\n }\r\n }\r\n\r\n getAccountDetailsByAccountCurrency(\r\n event,\r\n currency: IUserBalance,\r\n idx: number\r\n ): void {\r\n if (this.selectedAccountBank === idx) {\r\n return;\r\n }\r\n this.accountBankLoading = true;\r\n\r\n this.collapsesAccount.forEach((el: any, i: number) => {\r\n if (idx !== i) {\r\n el.toggle(true);\r\n }\r\n });\r\n\r\n this.accountDetailsByAccountCurrencyData = null;\r\n this.errorMessage = null;\r\n\r\n this.walletService.getAccountDetailsByCurrency(currency.currencyId).subscribe(\r\n (res) => {\r\n this.accountDetailsByAccountCurrencyData = res;\r\n this.accountBankLoading = false;\r\n if (this.isEarnAndFixedDepositActive()) {\r\n if (this.isFixedDepositEnable(currency.currencyType)) {\r\n this.loadFixedDepositRate(currency);\r\n } else if (this.isFixedDepositAndEarnEnable(currency.currencyType)) {\r\n let rate: number;\r\n this.userService.getPlanDetailsByCurrencyId(currency.currencyId).subscribe((data: IUserPlan[]) => {\r\n if (data.length > 0) {\r\n currency.plans = data;\r\n currency.diamondPlan = data.filter((plan: IUserPlan) => plan.loyaltyPlanName === 'Diamond')[0];\r\n let savingRate = Math.trunc(currency.diamondPlan.casRate) + Math.trunc(currency.diamondPlan.kindRate);\r\n this.depositService.getDepositInterestPlan(currency.currencyId).subscribe((data: IDepositInterestPlan[]) => {\r\n if (data.length > 0) {\r\n this.maxInterestModeRate = [];\r\n this.casDepositRates = [];\r\n const plans: IDepositInterestPlan[] = data.filter((plan) => plan.isActive && plan.isDefault);\r\n plans.forEach(plan => {\r\n if (plan.rateType == (this.rateType === 'InCas' ? 2 : 1)) {\r\n this.maxInterestModeRate.push(plan.rate);\r\n }\r\n this.casDepositRates.push(plan.rate);\r\n });\r\n if (this.casDepositRates.length > 0) {\r\n let rates: number[] = [...this.casDepositRates];\r\n rates.push(savingRate);\r\n currency.earnRate = Math.max(...rates);\r\n }\r\n } else {\r\n currency.earnRate = savingRate;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n },\r\n (err) => {\r\n if (err.error.message) {\r\n this.errorMessage = err.error.message;\r\n }\r\n this.accountBankLoading = false;\r\n }\r\n );\r\n\r\n if (event) {\r\n $(\"html,body\").animate(\r\n {\r\n scrollTop: event.srcElement.offsetParent.offsetTop,\r\n },\r\n 600\r\n );\r\n }\r\n }\r\n\r\n getCryptoAccountDetails(event, currency: IUserBalance, idx: number): void {\r\n if (this.selectedCrypto === idx) {\r\n return;\r\n }\r\n\r\n this.cryptoLoading = true;\r\n this.collapsesCrypto.forEach((el: any, i: number) => {\r\n if (idx !== i) {\r\n el.toggle(true);\r\n }\r\n });\r\n this.getCryptoCurrency(currency);\r\n\r\n if (event) {\r\n $(\"html,body\").animate(\r\n {\r\n scrollTop: event.srcElement.offsetParent.offsetTop,\r\n },\r\n 600\r\n );\r\n }\r\n\r\n // if (currency.currencyType === 'CAS' || currency.currencyType === 'BNB' || currency.currencyType === 'XRP') {\r\n // this.modalService.openWarningModal(currency.currencyType);\r\n // }\r\n }\r\n\r\n getCryptoCurrency(currency: IUserBalance, networkType?: string) {\r\n if (networkType === 'BEP-20') {\r\n this.accountDetailsETHCryptoData = null;\r\n } else {\r\n this.accountDetailsCryptoData = null;\r\n }\r\n this.walletService.getCryptoAccountDetails(currency.currencyType).subscribe(\r\n (res) => {\r\n if (networkType === 'BEP-20') {\r\n this.accountDetailsETHCryptoData = res;\r\n } else {\r\n this.accountDetailsCryptoData = res;\r\n }\r\n if (this.isEarnAndFixedDepositActive()) {\r\n if (this.isFixedDepositEnable(currency.currencyType)) {\r\n this.loadFixedDepositRate(currency);\r\n } else if (this.isFixedDepositAndEarnEnable(currency.currencyType)) {\r\n if (currency.currencyType === 'CAS') {\r\n this.loadFixedDepositRate(currency);\r\n } else {\r\n let rate: number;\r\n this.userService.getPlanDetailsByCurrencyId(currency.currencyId).subscribe((data: IUserPlan[]) => {\r\n if (data.length > 0) {\r\n currency.plans = data;\r\n currency.diamondPlan = data.filter((plan: IUserPlan) => plan.loyaltyPlanName === 'Diamond')[0];\r\n let savingRate: number = Math.trunc(currency.diamondPlan.casRate) + Math.trunc(currency.diamondPlan.kindRate);\r\n if (!this.isEarnModuleNotActive(currency.currencyType)) {\r\n this.depositService.getDepositInterestPlan(currency.currencyId).subscribe((data: IDepositInterestPlan[]) => {\r\n if (data.length > 0) {\r\n this.casDepositRates = [];\r\n this.maxInterestModeRate = [];\r\n const plans: IDepositInterestPlan[] = data.filter((plan) => plan.isActive && plan.isDefault);\r\n plans.forEach(plan => {\r\n if (plan.rateType == (this.rateType === 'InCas' ? 2 : 1)) {\r\n this.maxInterestModeRate.push(plan.rate)\r\n }\r\n this.casDepositRates.push(plan.rate);\r\n });\r\n if (this.casDepositRates.length > 0) {\r\n let rates: number[] = [...this.casDepositRates];\r\n rates.push(savingRate);\r\n currency.earnRate = Math.max(...rates);\r\n }\r\n } else {\r\n currency.earnRate = savingRate;\r\n }\r\n });\r\n } else {\r\n currency.earnRate = savingRate;\r\n }\r\n }\r\n this.cryptoLoading = false;\r\n });\r\n }\r\n }\r\n } else {\r\n this.cryptoLoading = false;\r\n }\r\n this.cryptoLoading = false;\r\n },\r\n (err) => {\r\n this.cryptoLoading = false;\r\n }\r\n );\r\n }\r\n\r\n copyAddress(): void {\r\n if (this.accountDetailsCryptoData.address) {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.accountDetailsCryptoData.address);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n }\r\n\r\n copyAddressETH(): void {\r\n if (this.accountDetailsETHCryptoData.address) {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.accountDetailsETHCryptoData.address);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n }\r\n\r\n copyMemoAddress(): void {\r\n if (this.accountDetailsCryptoData.memo) {\r\n this.copiedMemo = true;\r\n navigator.clipboard.writeText(this.accountDetailsCryptoData.memo);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copiedMemo = false), 300);\r\n }\r\n }\r\n\r\n onConvertClick(currency: string): void {\r\n this.router.navigateByUrl(`/convert?c=${currency}`);\r\n }\r\n\r\n onSendClick(currency: string): void {\r\n this.router.navigateByUrl(`/fiat?c=${currency}`);\r\n }\r\n\r\n onDepositInterestClick(currency: IUserBalance): void {\r\n // this.modalService.openEarnPlanDetailPopup(currency.plans, currency.diamondPlan, currency.available, currency.currencyId, currency.currencyType,\r\n // this.casDepositRates, this.isFixedDepositEnable(currency.currencyType), this.isFixedDepositAndEarnEnable(currency.currencyType),\r\n // this.maxInterestModeRate, this.isEarnModuleNotActive(currency.currencyType));\r\n }\r\n\r\n onAddClick(currency: string): void {\r\n this.router.navigateByUrl(`/deposit?cur=${currency}`);\r\n }\r\n\r\n /***Get the Personal Kyc details to create bank account */\r\n\r\n getPersonalKycDetail(): void {\r\n this.loading = true;\r\n this.kycService.getKycDetails().subscribe((res) => {\r\n if (res) {\r\n this.isPersonalKycVerified = res.verified;\r\n this.personalKycVerifiedInfo = res;\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n\r\n getTootlTip(value, currency) {\r\n return value === 0 ? \"You don't have any \" + currency + \" to convert\" : \"\";\r\n }\r\n\r\n getEarnTootlTip(value, currency) {\r\n return value === 0 ? \"You don't have any \" + currency + \" to Earn Interest\" : \"\";\r\n }\r\n\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n isDisable(currency: string): boolean {\r\n if (this.excludeFiatCurrencies.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isSendDisable(currency: string): boolean {\r\n if (this.excludeFiatCurrencies.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isEarnAndFixedDepositActive(): boolean {\r\n return sessionStorage.getItem(USER_COUNTRY_CODE) !== 'US';\r\n }\r\n\r\n isFixedDepositEnable(symbol: string): boolean {\r\n return sessionStorage.getItem(USER_TYPE) !== '4' || symbol === 'CAS';\r\n }\r\n\r\n isFixedDepositAndEarnEnable(symbol: string): boolean {\r\n return sessionStorage.getItem(USER_TYPE) === '4' && symbol !== 'CAS';\r\n }\r\n\r\n isEarnModuleNotActive(symbol: string): boolean {\r\n return sessionStorage.getItem(USER_TYPE) === '4' && symbol === 'DOG';\r\n }\r\n\r\n loadFixedDepositRate(currency: IUserBalance) {\r\n if (!this.isEarnModuleNotActive(currency.currencyType)) {\r\n this.depositService.getDepositInterestPlan(currency.currencyId).subscribe((data: IDepositInterestPlan[]) => {\r\n if (data.length > 0) {\r\n this.casDepositRates = [];\r\n this.maxInterestModeRate = [];\r\n const plans: IDepositInterestPlan[] = data.filter((plan) => plan.isActive && plan.isDefault);\r\n plans.forEach(plan => {\r\n if (plan.rateType == (this.rateType === 'InCas' ? 2 : 1)) {\r\n this.maxInterestModeRate.push(plan.rate)\r\n }\r\n this.casDepositRates.push(plan.rate);\r\n });\r\n if (this.casDepositRates.length > 0) {\r\n currency.earnRate = Math.max(...this.casDepositRates);\r\n }\r\n }\r\n this.cryptoLoading = false;\r\n });\r\n }\r\n }\r\n\r\n isCryptoDisable(currency: string): boolean {\r\n if (this.excludeCryptoDisable.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isCryptoSendDisable(currency: string): boolean {\r\n let excludeCurr = [...this.excludeCryptoDisable]\r\n excludeCurr.push('USDC');\r\n if (excludeCurr.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public getTabHeaderData1(symbol: string): string {\r\n if (symbol === 'BNB' || symbol === 'CAS') {\r\n return 'BEP-2';\r\n } else if (symbol === 'USDT' || symbol === 'LINK' || symbol === 'UNI' || symbol === 'USDC' || symbol === 'ETH' || symbol === 'BNB') {\r\n return 'TRC-20';\r\n } else if (symbol === 'XRP' || symbol === 'DOG' || symbol === 'LTC' || symbol === 'BTC' || symbol === 'BCH') {\r\n return this.getCurrencyName(symbol);\r\n }\r\n }\r\n\r\n public getContentData(symbol: string) {\r\n const tabData = this.getTabHeaderData1(symbol);\r\n if (tabData === 'BEP-2' || tabData === 'TRC-20') {\r\n return `${symbol} (${tabData})`;\r\n } else {\r\n return symbol;\r\n }\r\n }\r\n filterNonZeroBalance() {\r\n if (this.localBankFiatCurrencyList.length > 0) {\r\n this.temp = this.localBankFiatCurrencyList;\r\n }\r\n if (this.hideZeroBalance) {\r\n this.localBankFiatCurrencyList = this.temp;\r\n } else {\r\n this.localBankFiatCurrencyList = this.localBankFiatCurrencyList.filter(item => item.available > 0);\r\n }\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Currency Wallet\r\n
    \r\n
    \r\n Hide currencies with 0 balance\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    0 && !loading\">\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {{ item.available | number: \"0.0-4\" }} {{ item.currencyType }}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {{ errorMessage }}\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0)\"\r\n [ngClass]=\"{'sm-disable-span':item.available===0}\"\r\n [title]=\"getEarnTootlTip(item.available,item.currencyType)\">\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    To Comply with KYC & AML regulations, we request to complete your\r\n \"Full KYC\" for FIAT Deposit.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    To Comply with KYC & AML regulations, we request to complete your\r\n \"Business KYC\" for FIAT transactions.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    0 && !loading\">\r\n
    \r\n Cryptocurrency Wallet\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {{ item.available | number: \"0.0-4\" }} {{ getCurrencyName(item.currencyType) }}\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.currencyType) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.currencyType) }} address, people can send\r\n {{ getCurrencyName(item.currencyType) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.currencyType }}\r\n

    \r\n

    \r\n Use your {{ item.currencyType }} address to receive\r\n {{ item.currencyType }}.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ item.currencyType }} deposit\r\n
    \r\n
    \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{item.currencyType == 'XRP' ? 'TAG': 'MEMO' }}

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.memo}}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n Send only {{getContentData(item.currencyType)}} to this\r\n address. Sending\r\n any other coins or token to this address may result in the\r\n loss of your deposit.\r\n
    • \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n After making a deposit, you can track its progress on the\r\n reports.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.currencyType) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.currencyType) }} address, people can send\r\n {{ getCurrencyName(item.currencyType) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.currencyType }}\r\n

    \r\n

    \r\n Use your {{ item.currencyType }} address to receive\r\n {{ item.currencyType }}.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ item.currencyType }} deposit\r\n
    \r\n
    \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsETHCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n Send only {{item.currencyType}} (BEP-20) to this\r\n address. Sending\r\n any other coins or token to this address may result in the\r\n loss of your deposit.\r\n
    • \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n After making a deposit, you can track its progress on the\r\n reports.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.currencyType) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.currencyType) }} address, people can send\r\n {{ getCurrencyName(item.currencyType) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.currencyType }}\r\n

    \r\n

    \r\n Use your {{ item.currencyType }} address to receive\r\n {{ item.currencyType }}.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ item.currencyType }} deposit\r\n
    \r\n
    \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsETHCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n Send only CAS (Polygon) to this\r\n address. Sending\r\n any other coins or token to this address may result in the\r\n loss of your deposit.\r\n
    • \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n After making a deposit, you can track its progress on the\r\n reports.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0)\" [ngClass]=\"{'sm-disable-span':item.available===0}\"\r\n [title]=\"getEarnTootlTip(item.available,item.currencyType)\">\r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Share with your friends and family
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    ","import { WalletService } from \"./../services/wallet.service\";\r\nimport { IFormSelect } from \"./../../core/models/form-select\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cashaa-wallet-open\",\r\n templateUrl: \"./wallet-open.component.html\",\r\n styleUrls: [\"./wallet-open.component.scss\"],\r\n})\r\nexport class WalletOpenComponent implements OnInit {\r\n /** fiatCurrency options */\r\n fiatCurrencyOptions: IFormSelect[] = [];\r\n\r\n constructor(private WalletService: WalletService) {}\r\n\r\n ngOnInit(): void {\r\n this.getFiatCurrency();\r\n }\r\n\r\n OnOpenAccountClick() {\r\n //this.accountService.openFiatAccount()\r\n }\r\n\r\n /**\r\n * Get Fiat Currencies\r\n */\r\n getFiatCurrency(): void {\r\n this.WalletService.getFiatCurrency().subscribe((res) => {\r\n this.fiatCurrencyOptions = res.currencies.map((currency) => {\r\n return {\r\n value: currency.id,\r\n label: currency.symbol,\r\n };\r\n });\r\n });\r\n }\r\n}\r\n","\r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    Which currency would you like to receive & hold money in?

    \r\n
    \r\n \r\n
    \r\n

    \r\n You'll be able to hold more than 50 currencies Local bank details are\r\n available for receiving money\r\n
    \r\n in GBP,EUR,USD,PLN,AUD or NZD with more coming soon.\r\n

    \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n \r\n Open an account\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n","import { CurrencyTypeData } from \"./../../core/models/currency-type-data\";\r\nimport { ICryptoAccountDetails } from \"./../../core/models/crypto-account-details\";\r\nimport { IAccountDetails } from \"./../../core/models/account-details\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { WalletService } from \"./../services/wallet.service\";\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChildren,\r\n QueryList,\r\n ViewChild,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport {\r\n APP_ROUTES,\r\n USER_COUNTRY_CODE,\r\n USER_INTEREST_MODE,\r\n USER_TYPE,\r\n} from \"../../app.constants\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { CarouselComponent, SBItemComponent } from \"ng-uikit-pro-standard\";\r\nimport { KycService } from \"src/app/kyc/services/kyc.service\";\r\nimport { ICreateKYC } from \"src/app/core/models/create-kyc\";\r\nimport { CryptoAccountRequestModel } from \"./../../core/models/crypto-account-request-model\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { AccountUpgradeService } from \"src/app/account-upgrade/services/account-upgrade.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { ModalService } from \"src/app/core/services/modal/modal.service\";\r\nimport { UserService } from \"src/app/core/services/user/user.service\";\r\nimport { IDepositInterestPlan } from \"src/app/core/models/deposit-interest/deposit-interest\";\r\nimport { DepositInterestService } from \"src/app/deposit-interest/service/deposit-interest.service\";\r\nimport { IUserPlan } from \"src/app/core/models/user-plan/user-detail\";\r\nimport { SubSink } from \"subsink\";\r\nimport { ActivityService } from \"src/app/activity/services/activity.service\";\r\n\r\n@Component({\r\n selector: \"cashaa-wallet-page\",\r\n templateUrl: \"./wallet-page.component.html\",\r\n styleUrls: [\"./wallet-page.component.scss\"],\r\n})\r\nexport class WalletPageComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild(\"slide\", { static: true }) slideController: CarouselComponent;\r\n /** Balance data */\r\n balanceData?: IUserBalance[];\r\n slides: any = [[]];\r\n loading = false;\r\n subSink = new SubSink();\r\n localBankFiatCurrencyList: IUserBalance[] = [];\r\n accountBankFiatCurrencyList: IUserBalance[] = [];\r\n cryptoBankFiatCurrencyList: IUserBalance[] = [];\r\n hideZeroBalance = false;\r\n tempFiat = [];\r\n tempCrypto = [];\r\n nonBankingFiatCurrency = [\"AUD\", \"JPY\", \"CAD\", \"CNH\", \"SGD\", \"NZD\", \"CHF\"];\r\n excludeFiatCurrencies: string[] = [\"SGD\", \"AUD\", \"CNH\", \"CAD\", \"CHF\", \"NZD\", \"JPY\", \"USD\", \"GBP\"];\r\n\r\n excludeCryptoDisable: string[] = [\"BNB20\"];\r\n /** selected crypto bank */\r\n selectedCrypto = -1;\r\n localBankLoading = false;\r\n personalKycVerifiedInfo: ICreateKYC;\r\n usdKycStatus;\r\n usdButtonText: string;\r\n usdButtonRoute: string;\r\n usdButtonDisable: boolean;\r\n accountBankLoading = false;\r\n cryptoLoading = false;\r\n copied = false;\r\n copiedMemo = false;\r\n currencyToEmit: string;\r\n currencyType: string;\r\n accountDetailsByCurrencyData: IAccountDetails;\r\n accountDetailsByAccountCurrencyData: IAccountDetails;\r\n accountDetailsCryptoData: ICryptoAccountDetails;\r\n accountDetailsETHCryptoData: ICryptoAccountDetails;\r\n isPersonalKycVerified = false;\r\n isBusinessKycVerified = false;\r\n isBusinessVerified\r\n // get logged user type\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n /** Error message if any */\r\n errorMessage?: string;\r\n\r\n /** Error message if any */\r\n errorMessageCrypto?: string;\r\n\r\n // hold personal user kyc details\r\n casDepositRates: number[] = [];\r\n maxInterestModeRate: number[] = [];\r\n @ViewChildren(\"collapsesCrypto\")\r\n collapsesCrypto: QueryList[];\r\n rateType: string = sessionStorage.getItem(USER_INTEREST_MODE);\r\n selectedLocalBank = -1;\r\n selectedAccountBank = -1;\r\n showCryptoTopBtn = true;\r\n rate: number;\r\n isBalance: boolean;\r\n /** selected crypto bank */\r\n popDetails;\r\n // get logged user type\r\n whiteListUserId = environment.whiteListUserId;\r\n @Output() getSelectedStatusChange = new EventEmitter();\r\n // @ViewChild('cryptoSection') cryptoSection: ElementRef;\r\n constructor(\r\n private activityService: ActivityService,\r\n private userService: UserService,\r\n private router: Router,\r\n private toastrService: ToastrService,\r\n private upgardeService: AccountUpgradeService,\r\n private modalService: ModalService,\r\n private depositService: DepositInterestService,\r\n private walletService: WalletService,\r\n private activatedRoute: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getBalance();\r\n this.subSink.add(\r\n this.activityService.getBalanceStatus().subscribe((data) => {\r\n if (data) {\r\n this.getBalance();\r\n }\r\n }));\r\n }\r\n /**\r\n * Get balance data\r\n */\r\n getBalance(): void {\r\n this.loading = true;\r\n this.userService.getUserBalance().subscribe((balanceData) => {\r\n this.loading = false;\r\n if (balanceData) {\r\n this.balanceData = balanceData;\r\n this.isBalance = this.balanceData.some(ele => ele.isBalanceAvailable === true);\r\n this.balanceData.sort((a, b) => (a.available > b.available ? -1 : 1));\r\n this.balanceData.filter(\r\n (el) => {\r\n if (el.currencynature === 2 && el.currencyType !== \"AUSD\") {\r\n this.localBankFiatCurrencyList.push(el);\r\n } else {\r\n if (el.currencynature === 1) {\r\n el['isSelected'] = true;\r\n this.cryptoBankFiatCurrencyList.push(el);\r\n }\r\n }\r\n }\r\n );\r\n\r\n // if (window.matchMedia(\"(min-width: 1199px)\").matches) {\r\n // this.slides = this.chunk(this.balanceData, 5);\r\n // } else if (window.matchMedia(\"(min-width: 991px)\").matches) {\r\n // this.slides = this.chunk(this.balanceData, 3);\r\n // } else if (window.matchMedia(\"(min-width: 767px)\").matches) {\r\n // this.slides = this.chunk(this.balanceData, 2);\r\n // } else {\r\n // this.slides = this.chunk(this.balanceData, 1);\r\n // }\r\n }\r\n this.loading = false;\r\n setTimeout(() => this.getGivenCurrency(), 100);\r\n });\r\n }\r\n getGivenCurrency(): void {\r\n this.activatedRoute.queryParamMap.subscribe((params) => {\r\n const currency = params.get(\"c\");\r\n const crytp = params.get(\"crypto\");\r\n if (crytp) {\r\n window.scroll(0, 1000);\r\n }\r\n if (currency) {\r\n const foundCrypto = this.cryptoBankFiatCurrencyList.filter(\r\n (lc) => lc.currencyType === currency\r\n );\r\n if (foundCrypto.length > 0) {\r\n window.scroll(0, 1000);\r\n const idx = this.cryptoBankFiatCurrencyList.indexOf(foundCrypto[0]);\r\n const obj = {\r\n currency: { ...foundCrypto[0], ...{ isSelected: false } },\r\n id: idx\r\n };\r\n this.getCryptoAccountDetails(obj);\r\n // this.selectedCrypto = i;\r\n // }\r\n // });\r\n }\r\n }\r\n });\r\n }\r\n\r\n // chunk(arr, chunkSize): any {\r\n // let R = [];\r\n // for (let i = 0, len = arr.length; i < len; i += chunkSize) {\r\n // R.push(arr.slice(i, i + chunkSize));\r\n // }\r\n // return R;\r\n // }\r\n\r\n next(): void {\r\n this.slideController.nextSlide();\r\n }\r\n\r\n previous(): void {\r\n this.slideController.previousSlide();\r\n }\r\n getCryptoAccountDetails(event): void {\r\n this.rate = event.rate;\r\n this.popDetails = event.currency;\r\n if (this.selectedCrypto === event.id) {\r\n return;\r\n }\r\n this.cryptoLoading = true;\r\n this.collapsesCrypto.forEach((el: any, i: number) => {\r\n const sbItemBody = el.body.bodyEl.nativeElement;\r\n if (event.id !== i) {\r\n el.toggle(true);\r\n this.cryptoBankFiatCurrencyList[i].isSelected = true;\r\n sbItemBody.style.height = \"0\";\r\n sbItemBody.style.visibility = 'hidden';\r\n } else {\r\n if (event.currency.isSelected) {\r\n sbItemBody.style.height = \"0\";\r\n sbItemBody.style.visibility = 'hidden';\r\n } else {\r\n this.cryptoBankFiatCurrencyList[event.id].isSelected = false;\r\n sbItemBody.style.height = \"auto\";\r\n sbItemBody.style.visibility = 'visible';\r\n }\r\n }\r\n });\r\n this.getCryptoCurrency(event.currency);\r\n // if (event) {\r\n // $(\"html,body\").animate(\r\n // {\r\n // scrollTop: event.srcElement.offsetParent.offsetTop,\r\n // },\r\n // 600\r\n // );\r\n // }\r\n }\r\n\r\n onHide(id, currency) {\r\n this.collapsesCrypto.forEach((el: any, i: number) => {\r\n const sbItemBody = el.body.bodyEl.nativeElement;\r\n if (id !== i) {\r\n el.toggle(true);\r\n this.cryptoBankFiatCurrencyList[i].isSelected = true;\r\n sbItemBody.style.height = \"0\";\r\n sbItemBody.style.visibility = 'hidden';\r\n } else {\r\n if (currency.isSelected) {\r\n sbItemBody.style.height = \"auto\";\r\n sbItemBody.style.visibility = 'visible';\r\n } else {\r\n this.cryptoBankFiatCurrencyList[id].isSelected = true;\r\n sbItemBody.style.height = \"0\";\r\n sbItemBody.style.visibility = 'hidden';\r\n }\r\n }\r\n });\r\n // this.getCryptoCurrency(currency); \r\n }\r\n\r\n openEarnPlan(): void {\r\n if (this.popDetails.currencyType === 'CAS') {\r\n this.router.navigateByUrl(`deposit-interest?c=${this.popDetails.currencyType}`);\r\n } else {\r\n // this.modalService.openEarnPlanDetailPopup(this.popDetails.plan, this.popDetails.diamondPlan, this.popDetails.available, this.popDetails.currencyId, this.popDetails.currencyType,\r\n // this.casDepositRates, this.isFixedDepositEnable(this.popDetails.currencyType), this.isFixedDepositAndEarnEnable(this.popDetails.currencyType),\r\n // this.maxInterestModeRate, false);\r\n }\r\n }\r\n\r\n getCryptoCurrency(currency: IUserBalance, networkType?: string) {\r\n if (networkType === 'BEP-20') {\r\n this.accountDetailsETHCryptoData = null;\r\n } else {\r\n this.accountDetailsCryptoData = null;\r\n }\r\n this.walletService.getCryptoAccountDetails(currency.currencyType).subscribe(\r\n (res) => {\r\n if (networkType === 'BEP-20') {\r\n this.accountDetailsETHCryptoData = res;\r\n } else {\r\n this.accountDetailsCryptoData = res;\r\n }\r\n // if (this.isEarnAndFixedDepositActive()) {\r\n if (this.isFixedDepositEnable(currency.currencyType)) {\r\n this.loadFixedDepositRate(currency);\r\n } else if (this.isFixedDepositAndEarnEnable(currency.currencyType)) {\r\n if (currency.currencyType === 'CAS') {\r\n this.loadFixedDepositRate(currency);\r\n } else {\r\n let rate: number;\r\n this.userService.getPlanDetailsByCurrencyId(currency.currencyId).subscribe((data: IUserPlan[]) => {\r\n if (data.length > 0) {\r\n currency.plans = data;\r\n this.popDetails.plan = data;\r\n currency.diamondPlan = data.filter((plan: IUserPlan) => plan.loyaltyPlanName === 'Diamond')[0];\r\n let savingRate: number = Math.trunc(currency.diamondPlan.casRate) + Math.trunc(currency.diamondPlan.kindRate);\r\n // if (!this.isEarnModuleNotActive(currency.currencyType)) {\r\n this.depositService.getByDepositFDCurrency(currency.currencyId).subscribe((data: IDepositInterestPlan[]) => {\r\n if (data.length > 0) {\r\n this.casDepositRates = [];\r\n this.maxInterestModeRate = [];\r\n const plans: IDepositInterestPlan[] = data.filter((plan) => plan.isActive && plan.isDefault);\r\n plans.forEach(plan => {\r\n if (plan.rateType == (this.rateType === 'InCas' ? 2 : 1)) {\r\n this.maxInterestModeRate.push(plan.rate)\r\n }\r\n this.casDepositRates.push(plan.rate);\r\n });\r\n if (this.casDepositRates.length > 0) {\r\n let rates: number[] = [...this.casDepositRates];\r\n rates.push(savingRate);\r\n currency.earnRate = Math.max(...rates);\r\n this.rate = currency.earnRate;\r\n }\r\n } else {\r\n currency.earnRate = savingRate;\r\n this.rate = savingRate;\r\n }\r\n });\r\n // } else {\r\n // currency.earnRate = savingRate;\r\n // }\r\n }\r\n this.cryptoLoading = false;\r\n });\r\n }\r\n }\r\n // } else {\r\n // this.cryptoLoading = false;\r\n // }\r\n this.cryptoLoading = false;\r\n },\r\n (err) => {\r\n this.cryptoLoading = false;\r\n }\r\n );\r\n }\r\n\r\n loadFixedDepositRate(currency) {\r\n // if (!this.isEarnModuleNotActive(currency)) {\r\n this.depositService.getDepositInterestPlan(currency.currencyId).subscribe((data: IDepositInterestPlan[]) => {\r\n if (data.length > 0) {\r\n this.casDepositRates = [];\r\n this.maxInterestModeRate = [];\r\n const plans: IDepositInterestPlan[] = data.filter((plan) => plan.isActive && plan.isDefault);\r\n plans.forEach(plan => {\r\n if (plan.rateType == (this.rateType === 'InCas' ? 2 : 1)) {\r\n this.maxInterestModeRate.push(plan.rate);\r\n }\r\n this.casDepositRates.push(plan.rate);\r\n });\r\n if (this.casDepositRates.length > 0) {\r\n currency.earnRate = Math.max(...this.casDepositRates);\r\n this.rate = Math.max(...this.casDepositRates);\r\n }\r\n }\r\n });\r\n // }\r\n }\r\n\r\n filterNonZeroBalance() {\r\n if (this.localBankFiatCurrencyList.length > 0 && !this.hideZeroBalance) {\r\n this.tempFiat = this.localBankFiatCurrencyList;\r\n this.tempCrypto = this.cryptoBankFiatCurrencyList\r\n }\r\n if (this.hideZeroBalance) {\r\n this.localBankFiatCurrencyList = this.tempFiat;\r\n this.cryptoBankFiatCurrencyList = this.tempCrypto;\r\n } else {\r\n this.localBankFiatCurrencyList = this.localBankFiatCurrencyList.filter(item => item.available > 0);\r\n this.cryptoBankFiatCurrencyList = this.cryptoBankFiatCurrencyList.filter(item => item.available > 0);\r\n\r\n }\r\n }\r\n getUsdStatus(): void {\r\n this.loading = true;\r\n this.usdButtonDisable = false;\r\n this.upgardeService.usdStatus().subscribe(\r\n (flag) => {\r\n this.usdKycStatus = flag.status;\r\n switch (flag.status) {\r\n case 1:\r\n this.usdButtonText = \"Apply\";\r\n break;\r\n\r\n case 2:\r\n this.usdButtonText = \"Update KYC Details\";\r\n break;\r\n\r\n case 3:\r\n this.usdButtonText = \"KYC in Progress\";\r\n break;\r\n\r\n case 4:\r\n this.usdButtonText = \"Update KYC Details\";\r\n break;\r\n\r\n case 5:\r\n this.usdButtonText = \"KYC in Progress\";\r\n break;\r\n\r\n case 6:\r\n this.usdButtonText = \"Account Creation in Progress\";\r\n this.usdButtonDisable = true;\r\n break;\r\n\r\n case 7:\r\n this.usdButtonText = \"\";\r\n this.usdButtonDisable = true;\r\n break;\r\n }\r\n\r\n // if (flag.status === 7) {\r\n // this.enableActiveForPremierFlag = true;\r\n // } else {\r\n // this.enableActiveForPremierFlag = false;\r\n // }\r\n if (flag.status === 1) {\r\n this.usdButtonRoute = \"/subscription/plan\";\r\n } else {\r\n this.usdButtonRoute =\r\n this.userType === \"5\" || this.userType === \"6\" ? \"/kyc/business\" : \"/kyc/US/personal\";\r\n }\r\n this.loading = false;\r\n },\r\n (err) => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n //get given currency\r\n\r\n onAccountReadyPage(currency: IUserBalance, currencyType: string, networkType?: string): void {\r\n if (\"BEP-20\" === networkType) {\r\n this.currencyToEmit = 'ETH';\r\n currency = this.cryptoBankFiatCurrencyList.filter(cur => cur.currencyType === 'ETH')[0];\r\n } else {\r\n this.currencyToEmit = currency.currencyType;\r\n }\r\n this.currencyType = currencyType;\r\n const currencyData = new CurrencyTypeData(\r\n this.currencyToEmit,\r\n this.currencyType\r\n );\r\n\r\n if (this.currencyType === \"Crypto\") {\r\n this.cryptoLoading = true;\r\n const inputCurrencyCrypto = new CryptoAccountRequestModel(this.currencyToEmit);\r\n this.walletService\r\n .OpenCryptoAccount(inputCurrencyCrypto)\r\n .subscribe((res) => {\r\n this.getCryptoCurrency(currency, networkType);\r\n });\r\n } else {\r\n this.walletService.emitCurrencySymbol(currencyData);\r\n this.router.navigateByUrl(APP_ROUTES.WALLET_READY_TO_GO);\r\n }\r\n }\r\n\r\n copyAddress(): void {\r\n if (this.accountDetailsCryptoData.address) {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.accountDetailsCryptoData.address);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n }\r\n\r\n copyAddressETH(): void {\r\n if (this.accountDetailsETHCryptoData.address) {\r\n this.copied = true;\r\n navigator.clipboard.writeText(this.accountDetailsETHCryptoData.address);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copied = false), 300);\r\n }\r\n }\r\n\r\n copyMemoAddress(): void {\r\n if (this.accountDetailsCryptoData.memo) {\r\n this.copiedMemo = true;\r\n navigator.clipboard.writeText(this.accountDetailsCryptoData.memo);\r\n this.toastrService.toastrConfig.preventDuplicates = true;\r\n this.toastrService.success(\"Text copied to clipboard\");\r\n setTimeout(() => (this.copiedMemo = false), 300);\r\n }\r\n }\r\n isHidden(currency: string): boolean {\r\n if (this.nonBankingFiatCurrency.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n isDisable(currency: string): boolean {\r\n if (this.excludeFiatCurrencies.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isSendDisable(currency: string): boolean {\r\n if (this.excludeFiatCurrencies.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getTootlTip(value, currency) {\r\n return value === 0 ? \"You don't have any \" + currency + \" to convert\" : \"\";\r\n }\r\n\r\n getEarnTootlTip(value, currency) {\r\n return value === 0 ? \"You don't have any \" + currency + \" to Earn Interest\" : \"\";\r\n }\r\n onAddClick(currency: string): void {\r\n this.router.navigateByUrl(`/deposit?cur=${currency}`);\r\n }\r\n onConvertClick(currency: string): void {\r\n this.router.navigateByUrl(`/convert?c=${currency}`);\r\n }\r\n\r\n onSendClick(currency: string): void {\r\n this.router.navigateByUrl(`/fiat?c=${currency}`);\r\n }\r\n\r\n isEarnAndFixedDepositActive(): boolean {\r\n return sessionStorage.getItem(USER_COUNTRY_CODE) !== 'US';\r\n }\r\n\r\n isFixedDepositEnable(symbol: string): boolean {\r\n return sessionStorage.getItem(USER_TYPE) !== '4' || symbol === 'CAS';\r\n }\r\n\r\n isFixedDepositAndEarnEnable(symbol: string): boolean {\r\n return sessionStorage.getItem(USER_TYPE) === '4' && symbol !== 'CAS';\r\n }\r\n\r\n // isEarnModuleNotActive(symbol: string): boolean {\r\n // return sessionStorage.getItem(USER_TYPE) === '4' && symbol === 'DOG';\r\n // }\r\n\r\n isCryptoDisable(currency: string): boolean {\r\n if (this.excludeCryptoDisable.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isCryptoSendDisable(currency: string): boolean {\r\n let excludeCurr = [...this.excludeCryptoDisable]\r\n excludeCurr.push('USDC');\r\n if (excludeCurr.includes(currency)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public getTabHeaderData1(symbol: string): string {\r\n if (symbol === 'BNB' || symbol === 'CAS') {\r\n return 'BEP-2';\r\n } else if (symbol === 'USDT' || symbol === 'LINK' || symbol === 'UNI' || symbol === 'USDC' || symbol === 'ETH' || symbol === 'BNB') {\r\n return 'ERC-20';\r\n } else if (symbol === 'XRP' || symbol === 'DOG' || symbol === 'LTC' || symbol === 'BTC' || symbol === 'BCH') {\r\n return this.getCurrencyName(symbol);\r\n }\r\n }\r\n getCurrencyName(curr): string {\r\n if (curr === \"AUSD\") return \"USD\";\r\n if (curr === \"DOG\") return \"DOGE\";\r\n else return curr;\r\n }\r\n\r\n public getContentData(symbol: string) {\r\n const tabData = this.getTabHeaderData1(symbol);\r\n if (tabData === 'BEP-2' || tabData === 'ERC-20') {\r\n return `${symbol} (${tabData})`;\r\n } else {\r\n return symbol;\r\n }\r\n }\r\n\r\n onDepositInterestClick(currency: IUserBalance): void {\r\n // this.modalService.openEarnPlanDetailPopup(currency.plans, currency.diamondPlan, currency.available, currency.currencyId, currency.currencyType,\r\n // this.casDepositRates, this.isFixedDepositEnable(currency.currencyType), this.isFixedDepositAndEarnEnable(currency.currencyType),\r\n // this.maxInterestModeRate, false);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subSink.unsubscribe();\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n
    Hide Zero Balance Assets \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    0 && !loading && (!hideZeroBalance || isBalance)\">\r\n
    \r\n Assets\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.currencyType) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.currencyType) }} address, people can send\r\n {{ getCurrencyName(item.currencyType) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.currencyType }}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{item.currencyType == 'XRP' ? 'TAG': 'MEMO' }}

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.memo}}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n Send only {{getContentData(item.currencyType)}} to this\r\n address. Sending\r\n any other coins or token to this address may result in the\r\n loss of your deposit.\r\n
    • \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n After making a deposit, you can track its progress on the\r\n reports.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.currencyType) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.currencyType) }} address, people can send\r\n {{ getCurrencyName(item.currencyType) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.currencyType }}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsETHCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n Send only {{item.currencyType}} (BEP-20) to this\r\n address. Sending\r\n any other coins or token to this address may result in the\r\n loss of your deposit.\r\n
    • \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n After making a deposit, you can track its progress on the\r\n reports.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.currencyType) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.currencyType) }} address, people can send\r\n {{ getCurrencyName(item.currencyType) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.currencyType }}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsETHCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n Send only CAS (Polygon) to this\r\n address. Sending\r\n any other coins or token to this address may result in the\r\n loss of your deposit.\r\n
    • \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n After making a deposit, you can track its progress on the\r\n reports.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    Oops.. you have no Balance
    \r\n \"deposit\"\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.currencyType) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.currencyType) }} address, people can send\r\n {{ getCurrencyName(item.currencyType) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.currencyType }}\r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{item.currencyType == 'XRP'\r\n ? 'TAG': 'MEMO' }}

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsCryptoData.memo}}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n Send only {{getContentData(item.currencyType)}} to this\r\n address. Sending\r\n any other coins or token to this address may result in the\r\n loss of your deposit.\r\n
    • \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n After making a deposit, you can track its progress on the\r\n reports.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.currencyType) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.currencyType) }} address, people can send\r\n {{ getCurrencyName(item.currencyType) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.currencyType }}\r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsETHCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n Send only {{item.currencyType}} (BEP-20) to this\r\n address. Sending\r\n any other coins or token to this address may result in the\r\n loss of your deposit.\r\n
    • \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n After making a deposit, you can track its progress on the\r\n reports.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n Get your {{ getCurrencyName(item.currencyType) }} address\r\n

    \r\n

    \r\n With {{ getCurrencyName(item.currencyType) }} address, people can send\r\n {{ getCurrencyName(item.currencyType) }} to your account.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n Your Blockchain details to receive {{ item.currencyType }}\r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n How\r\n to deposit?\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Address

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{accountDetailsETHCryptoData.address\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Important

    \r\n
      \r\n
    • \r\n Send only CAS (Polygon) to this\r\n address. Sending\r\n any other coins or token to this address may result in the\r\n loss of your deposit.\r\n
    • \r\n
    • \r\n Coins will be deposited immediately after 3 network\r\n confirmation.\r\n
    • \r\n
    • \r\n After making a deposit, you can track its progress on the\r\n reports.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0)\" [ngClass]=\"{'sm-disable-span':item.available===0}\">\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    ","import { CryptoAccountRequestModel } from \"./../../core/models/crypto-account-request-model\";\r\nimport { FiatAccountRequestModel } from \"./../../core/models/fiat-account-request-model\";\r\nimport { WalletService } from \"./../services/wallet.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { APP_ROUTES, USER_TYPE } from \"../../app.constants\";\r\n\r\n@Component({\r\n selector: \"cashaa-wallet-ready\",\r\n templateUrl: \"./wallet-ready.component.html\",\r\n styleUrls: [\"./wallet-ready.component.scss\"],\r\n})\r\nexport class WalletReadyComponent implements OnInit {\r\n getEmittedCurrency: string;\r\n currencyType: string;\r\n\r\n userType = sessionStorage.getItem(USER_TYPE);\r\n\r\n constructor(private router: Router, private walletService: WalletService) { }\r\n\r\n ngOnInit(): void {\r\n this.currencySymbolLoad();\r\n }\r\n\r\n currencySymbolLoad(): void {\r\n this.walletService.getCurrencySymbolEmitter().subscribe((res) => {\r\n this.getEmittedCurrency = res.currencySymbol;\r\n this.currencyType = res.currencyType;\r\n });\r\n }\r\n\r\n onAccountOpenClick(): void {\r\n if (this.currencyType === \"Fiat\") {\r\n\r\n const inputCurrencyFiat = new FiatAccountRequestModel(\r\n this.getEmittedCurrency\r\n );\r\n this.walletService\r\n .openFiatAccount(inputCurrencyFiat)\r\n .subscribe((res) => {\r\n\r\n this.router.navigateByUrl(APP_ROUTES.WALLET_HOME);\r\n });\r\n }\r\n\r\n if (this.currencyType === \"Crypto\") {\r\n\r\n const inputCurrencyCrypto = new CryptoAccountRequestModel(\r\n this.getEmittedCurrency\r\n );\r\n this.walletService\r\n .OpenCryptoAccount(inputCurrencyCrypto)\r\n .subscribe((res) => {\r\n this.router.navigateByUrl(APP_ROUTES.WALLET_HOME);\r\n\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n onPersonalAccountOpenClick(): void {\r\n if (this.currencyType === \"Fiat\") {\r\n\r\n const inputCurrencyFiat = new FiatAccountRequestModel(\r\n this.getEmittedCurrency\r\n );\r\n this.walletService\r\n .openPersonalFiatAccount(inputCurrencyFiat)\r\n .subscribe((res) => {\r\n\r\n this.router.navigateByUrl(APP_ROUTES.WALLET_HOME);\r\n });\r\n }\r\n\r\n if (this.currencyType === \"Crypto\") {\r\n\r\n const inputCurrencyCrypto = new CryptoAccountRequestModel(\r\n this.getEmittedCurrency\r\n );\r\n this.walletService\r\n .OpenCryptoAccount(inputCurrencyCrypto)\r\n .subscribe((res) => {\r\n this.router.navigateByUrl(APP_ROUTES.WALLET_HOME);\r\n\r\n });\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n

    \r\n Your {{ getEmittedCurrency }} account is ready to go\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n Now you can add and hold Money in this
    Currency. want to get paid\r\n in {{ getEmittedCurrency }}? you get bank
    \r\n details to go with this account too.\r\n

    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { WalletReadyComponent } from \"./wallet-ready/wallet-ready.component\";\r\nimport { WalletOpenComponent } from \"./wallet-open/wallet-open.component\";\r\nimport { WalletDashboardComponent } from \"./wallet-dashboard/wallet-dashboard.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\nimport { WalletPageComponent } from \"./wallet-page/wallet-page.component\";\r\nimport { CurrencyAssetsComponent } from \"./currency-assets/currency-assets.component\";\r\nimport { RepayComponent } from \"./repay/repay.component\";\r\nimport { LoanInterestComponent } from \"./loan-interest/loan-interest.component\";\r\nimport { CreditLineComponent } from \"./credit-line/credit-line.component\";\r\nimport { LoanDetailsComponent } from \"./loan-details/loan-details.component\";\r\nimport { LoanRepaymentComponent } from \"./loan-repayment/loan-repayment.component\";\r\nimport { PortfolioHistoryComponent } from \"./portfolio-history/portfolio-history.component\";\r\nconst routes: Routes = [\r\n // {\r\n // path: \"wallet\",\r\n // component: WalletDashboardComponent,\r\n // children: [],\r\n // canActivate: [AuthGuardService],\r\n // },\r\n {\r\n path: \"repay\",\r\n component: RepayComponent,\r\n children: [],\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"loan-interest/:id\",\r\n component: LoanInterestComponent,\r\n children: [],\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"loan-details/:id\",\r\n component: LoanDetailsComponent,\r\n children: [],\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"loan-repayment/:id\",\r\n component: LoanRepaymentComponent,\r\n children: [],\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"wallet\",\r\n component: CurrencyAssetsComponent,\r\n children: [],\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"account-wallet\",\r\n component: CurrencyAssetsComponent,\r\n children: [],\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"credit-line\",\r\n component: CreditLineComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"wallet/open\",\r\n component: WalletOpenComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"wallet/ready\",\r\n component: WalletReadyComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"wallet/portfolio-history\",\r\n component: PortfolioHistoryComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class WalletRoutingModule {}\r\n","import { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from \"./../shared/shared.module\";\r\nimport { WalletRoutingModule } from \"./wallet-routing.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { WalletDashboardComponent } from \"./wallet-dashboard/wallet-dashboard.component\";\r\nimport { WalletOpenComponent } from \"./wallet-open/wallet-open.component\";\r\nimport { WalletReadyComponent } from \"./wallet-ready/wallet-ready.component\";\r\nimport { QRCodeModule } from \"angular2-qrcode\";\r\n//import { QRCodeModule } from \"angularx-qrcode\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { WalletPageComponent } from \"./wallet-page/wallet-page.component\";\r\nimport { CurrencyAssetsComponent } from \"./currency-assets/currency-assets.component\";\r\nimport { CreditLineComponent } from './credit-line/credit-line.component';\r\nimport { LoanInterestComponent } from './loan-interest/loan-interest.component';\r\nimport { RepayComponent } from './repay/repay.component';\r\nimport { BorrowComponent } from './credit-line/borrow/borrow.component';\r\nimport { ReviewSecurityVerificationComponent } from './credit-line/review-security-verification/review-security-verification.component';\r\nimport { ConfirmComponent } from './credit-line/confirm/confirm.component';\r\nimport { LoanDetailsComponent } from './loan-details/loan-details.component';\r\nimport { LoanRepaymentComponent } from './loan-repayment/loan-repayment.component';\r\nimport { PortfolioHistoryComponent } from './portfolio-history/portfolio-history.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n WalletDashboardComponent,\r\n WalletOpenComponent,\r\n WalletReadyComponent,\r\n WalletPageComponent,\r\n CurrencyAssetsComponent,\r\n CreditLineComponent,\r\n LoanInterestComponent,\r\n RepayComponent,\r\n BorrowComponent,\r\n ReviewSecurityVerificationComponent,\r\n ConfirmComponent,\r\n LoanDetailsComponent,\r\n LoanRepaymentComponent,\r\n PortfolioHistoryComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n WalletRoutingModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ToastrModule.forRoot(),\r\n MDBBootstrapModulesPro.forRoot(),\r\n QRCodeModule,\r\n ],\r\n})\r\nexport class WalletModule {}\r\n","import { WithdrawConfirmation } from \"./../../core/models/withdraw-fund\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { AddressWhitelist } from \"src/app/core/models/address-whitelist\";\r\nimport { HttpClient, HttpResponse } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { CreateWithdrawRequest } from \"src/app/core/models/withdraw-fund\";\r\nimport {\r\n WithdrawFundRequest,\r\n IWithdrawFundResponse,\r\n} from \"src/app/core/models/withdraw-fund\";\r\nimport { ICurrencyList } from \"../../core/models/currency\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class WithdrawService {\r\n /** Address Whitelist data emitter */\r\n private adressWhitelistDataEmitter = new BehaviorSubject<\r\n AddressWhitelist | undefined\r\n >(undefined);\r\n\r\n /** Withdraw Address data emitter */\r\n private withdrawAddressDataEmitter = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n /**\r\n * get Crypto currencies for network dropdown\r\n */\r\n getCryptoCurrency(): Observable {\r\n return this.http.get(`${environment.api}/currencies/crypto`);\r\n }\r\n\r\n addressWhitelist(\r\n addressWhitelistData: AddressWhitelist\r\n ): Observable> {\r\n return this.http.post(\r\n `${environment.api}/WithdrawAddress/Create`,\r\n addressWhitelistData\r\n );\r\n }\r\n\r\n /*** Get Address Whitelist data emitter***/\r\n getAddressWhitelistDataEmitter(): Observable {\r\n return this.adressWhitelistDataEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit AddressWhitelist data\r\n */\r\n emitAddressWhitelistData(data: AddressWhitelist): void {\r\n this.adressWhitelistDataEmitter.next(data);\r\n }\r\n\r\n createWithdrawFund(\r\n withdrawFundData: WithdrawFundRequest\r\n ): Observable {\r\n return this.http.post(\r\n `${environment.api}/wallets/create`,\r\n withdrawFundData\r\n );\r\n }\r\n\r\n createWithdrawRequest(\r\n withdrawRequestData: CreateWithdrawRequest\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/send/cryptosend`,\r\n withdrawRequestData\r\n );\r\n }\r\n\r\n /*** Get Withdraw Fund data emitter***/\r\n getWithdrawAddressSymbolEmitter(): Observable {\r\n return this.withdrawAddressDataEmitter.asObservable();\r\n }\r\n\r\n /**\r\n * Emit Withdraw Address data\r\n */\r\n emitWithdrawAddressSymbolEmitter(data: string): void {\r\n this.withdrawAddressDataEmitter.next(data);\r\n }\r\n\r\n /** withraw request confirmation */\r\n\r\n withdrawConfirmation(\r\n withdrawConfirmationData: WithdrawConfirmation\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/activity/confirmation`,\r\n withdrawConfirmationData\r\n );\r\n }\r\n\r\n withdrawAddressConfirmation(\r\n withdrawConfirmationData: WithdrawConfirmation\r\n ): Observable<{ statusCode: number; message: string }> {\r\n return this.http.post<{ statusCode: number; message: string }>(\r\n `${environment.api}/activity/confirmation`,\r\n withdrawConfirmationData\r\n );\r\n }\r\n}\r\n\r\n//WithdrawAddressConfirmation\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { WithdrawService } from \"../services/withdraw.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { AddressWhitelist } from \"src/app/core/models/address-whitelist\";\r\nimport { ICurrencyList } from \"src/app/core/models/currency\";\r\nimport { IFormSelect } from \"src/app/core/models/form-select\";\r\nimport { UNABLE_TO_PERFORM_ERROR } from \"src/app/app.constants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\n@Component({\r\n selector: \"cashaa-withdraw-address-whitelist\",\r\n templateUrl: \"./withdraw-address-whitelist.component.html\",\r\n styleUrls: [\"./withdraw-address-whitelist.component.scss\"],\r\n})\r\nexport class WithdrawAddressWhitelistComponent implements OnInit {\r\n /** Form Group */\r\n createAddressWhitelistForm: FormGroup;\r\n cryptoCurrencyList: ICurrencyList;\r\n /** form select values */\r\n options: IFormSelect[] = [];\r\n /** */\r\n errorMessage: string;\r\n\r\n constructor(\r\n private addressWhitelistService: WithdrawService,\r\n private fb: FormBuilder,\r\n private routes: Router,\r\n private toastrService: ToastrService\r\n ) {\r\n this.createAddressWhitelistForm = this.fb.group({\r\n currency: [\"\", [ValidatorUtility.Required]],\r\n address: [\"\", [ValidatorUtility.Required]],\r\n addressLabel: [\r\n \"\",\r\n [ValidatorUtility.Required],\r\n ],\r\n password: [\"\"],\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getCryptoCurrency();\r\n }\r\n\r\n getCryptoCurrency(): void {\r\n this.addressWhitelistService.getCryptoCurrency().subscribe((res) => {\r\n this.cryptoCurrencyList = res;\r\n this.options = res.currencies.map((currency) => {\r\n return {\r\n value: currency.id,\r\n label: currency.symbol,\r\n };\r\n });\r\n });\r\n }\r\n\r\n onFormSubmit(): void {\r\n this.errorMessage = undefined;\r\n const data = this.createAddressWhitelistForm.value;\r\n\r\n const addressWhitelistData = new AddressWhitelist(\r\n data.currency.value,\r\n data.address,\r\n data.addressLabel,\r\n data.password,\r\n undefined\r\n );\r\n\r\n this.addressWhitelistService\r\n .addressWhitelist(addressWhitelistData)\r\n .subscribe(\r\n (res) => {\r\n this.addressWhitelistService.emitAddressWhitelistData(\r\n addressWhitelistData\r\n );\r\n\r\n this.createAddressWhitelistForm.reset();\r\n },\r\n\r\n (err) => {\r\n if (err.error.message) {\r\n this.toastrService.error(err.error.message);\r\n this.errorMessage = err.error.message;\r\n } else {\r\n this.toastrService.error(UNABLE_TO_PERFORM_ERROR);\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {{ errorMessage }}\r\n
    \r\n\r\n \r\n
    ","import { Component, OnInit, NgZone, EventEmitter, Output } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\nimport { ValidatorUtility } from \"src/app/core/utility/validator.utility\";\r\nimport { WithdrawService } from \"../services/withdraw.service\";\r\nimport { IUserBalance } from \"src/app/core/models/user-balance\";\r\nimport { ReceiveFundRequest } from \"src/app/core/models/receive-fund\";\r\nimport { WithdrawFundRequest, WithdrawFundResponse, CreateWithdrawRequest } from \"src/app/core/models/withdraw-fund\";\r\nimport { SYMBOL_FOR_MEMO } from 'src/app/app.constants';\r\n\r\n@Component({\r\n selector: \"cashaa-withdraw-fund\",\r\n templateUrl: \"./withdraw-fund.component.html\",\r\n styleUrls: [\"./withdraw-fund.component.scss\"]\r\n})\r\nexport class WithdrawFundComponent implements OnInit {\r\n\r\n\r\n createWithdrawFund: FormGroup;\r\n\r\n serviceResponse: WithdrawFundResponse;\r\n\r\n BalanceResponse: IUserBalance;\r\n\r\n show = true;\r\n\r\n\r\n constructor(private zone: NgZone, private withdrawService: WithdrawService, private fb: FormBuilder) { }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n\r\n }\r\n\r\n createForm(): void {\r\n this.createWithdrawFund = this.fb.group({\r\n address: [\"\", [ValidatorUtility.Required]],\r\n memo: [\"\",],\r\n notes: [\"\",],\r\n amountToTransfer: [\"\", [ValidatorUtility.Required, ValidatorUtility.OnlyNumberRequired]],\r\n });\r\n }\r\n\r\n\r\n onFormSubmit(): void {\r\n\r\n const data = this.createWithdrawFund.value;\r\n alert(this.BalanceResponse.currencyType);\r\n const withdrawRequestData = new CreateWithdrawRequest(\r\n \"2\", // this.BalanceResponse.currencyType,\r\n data.address,\r\n data.amountToTransfer,\r\n data.memo? data.memo: \"\",\r\n\r\n );\r\n\r\n this.withdrawService.createWithdrawRequest(withdrawRequestData).subscribe(\r\n (res) => {\r\n\r\n },\r\n (err) => {\r\n\r\n }\r\n );\r\n }\r\n\r\n // checkBalance(): void {\r\n\r\n // }\r\n\r\n OnCurrencySelect(userBalance: IUserBalance): void {\r\n\r\n\r\n this.withdrawService.emitWithdrawAddressSymbolEmitter(userBalance.currencyType);\r\n if (userBalance.currencyType === SYMBOL_FOR_MEMO) {\r\n this.show = true;\r\n } else {\r\n this.show = false;\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n \r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n \r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    value
    \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n
    ","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { WithdrawAddressWhitelistComponent } from \"./withdraw-address-whitelist/withdraw-address-whitelist.component\";\r\nimport { WithdrawFundComponent } from \"./withdraw-fund/withdraw-fund.component\";\r\nimport { AuthGuardService } from \"./../core/services/auth-guard/auth-guard.service\";\r\n\r\nconst routes: Routes = [{\r\n //chweck\r\n path: \"withdraw\",\r\n canActivate: [AuthGuardService],\r\n children: [\r\n {\r\n path: \"address-whitelist\",\r\n component: WithdrawAddressWhitelistComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: \"fund\",\r\n component: WithdrawFundComponent,\r\n canActivate: [AuthGuardService],\r\n },\r\n ],\r\n},\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class WithdrawRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\nimport { WithdrawRoutingModule } from \"./withdraw-routing.module\";\r\nimport { WithdrawAddressWhitelistComponent } from \"./withdraw-address-whitelist/withdraw-address-whitelist.component\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { MDBBootstrapModulesPro } from \"ng-uikit-pro-standard\";\r\nimport { WithdrawFundComponent } from \"./withdraw-fund/withdraw-fund.component\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\n\r\n@NgModule({\r\n declarations: [WithdrawAddressWhitelistComponent, WithdrawFundComponent],\r\n imports: [\r\n CommonModule,\r\n WithdrawRoutingModule,\r\n SharedModule,\r\n ToastrModule.forRoot(),\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MDBBootstrapModulesPro.forRoot(),\r\n ],\r\n})\r\nexport class WithdrawModule {}\r\n","export const environment = {\r\n production: false,\r\n api: \"https://api-prod.cashaa.io/api/v1\",\r\n rateWebsocket: \"\",\r\n ipInfo: \"https://ipinfo.io/?token=2a29509097031e\",\r\n whiteListUserId: \"34b15f2b-fdad-4c05-8a37-12538ae2e100,ace9e0a0-5365-432f-8540-f694eab92521,babd0381-f60d-4464-85d7-e0e36db3c768,acf0bbb5-558e-4be7-82da-e0273d2e7a20\",\r\n CAS: \"https://explorer.binance.org/tx/\",\r\n BNB: \"https://explorer.binance.org/tx/\",\r\n BCH: \"https://blockchair.com/bitcoin-cash/transaction/\",\r\n XRP: \"https://blockchair.com/ripple/transaction/\",\r\n LTC: \"https://blockchair.com/litecoin/transaction/\",\r\n DOG: \"https://blockchair.com/dogecoin/transaction/\",\r\n ETH: \"https://blockchair.com/ethereum/transaction/\",\r\n BTC: \"https://blockchair.com/bitcoin/transaction/\",\r\n USDT: \"https://blockchair.com/ethereum/transaction/\",\r\n LINK: \"https://etherscan.io/tx/\",\r\n USDC: \"https://etherscan.io/tx/\",\r\n UNI: \"https://etherscan.io/tx/\",\r\n NETWORK_ERC20: \"https://etherscan.io/tx/\",\r\n NETWORK_BEP20: \"https://bscscan.com/tx/\",\r\n NETWORK_POLYGON: \"https://polygonscan.com/tx/\",\r\n NETWORK_TRC20: \"https://tronscan.org/#/transaction/\",\r\n HEADER_SIGN_KEY: \"IntcIml2XCI6XCJXdU9wTU9wUFNYZTVXL3V3UnZGN2J3PT1cIixcInZhbHVlXCI6XCJTd21MNzkvbnY1WDlzNVIvR21COWI0cDRzQksrdS9aVXVuY09BK3Y1bkNZPVwiLFwibWFjXCI6XCJlZTA2ZGViYWI2NmNiY2UxMTg5ZTQ5OWVkZjdhZDgwZmYyYTU3NDc5Yzk0YmQ2N2RkNjljZTNlZDRhZTkxM2UzXCJ9Ig==\",\r\n CASHAA_USER_ID_TRC_ENABLED: \"4f99ef1e-a8f3-4db0-bc75-678a4fcac4db\",\r\n SPECIAL_EMAIL_FOR_ROLLING: ['saddam_002@mailinator.com', 'saddam_007@mailinator.com' ]\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"]}