{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/account-upgrade/account-upgrade-routing.module.ts","./src/app/account-upgrade/account-upgrade-subscription/account-upgrade-subscription.component.ts","./src/app/account-upgrade/account-upgrade-subscription/account-upgrade-subscription.component.html","./src/app/account-upgrade/account-upgrade.module.ts","./src/app/account-upgrade/reserve-modal/reserve-modal.component.ts","./src/app/account-upgrade/reserve-modal/reserve-modal.component.html","./src/app/account-upgrade/services/account-upgrade.service.ts","./src/app/account-upgrade/staking-home/staking-home.component.ts","./src/app/account-upgrade/staking-home/staking-home.component.html","./src/app/account-upgrade/staking-timeline/staking-timeline.component.ts","./src/app/account-upgrade/staking-timeline/staking-timeline.component.html","./src/app/account-upgrade/upgrade-account-premier-staking/upgrade-account-premier-staking.component.ts","./src/app/account-upgrade/upgrade-account-premier-staking/upgrade-account-premier-staking.component.html","./src/app/account/account-forget-password/account-forget-password.component.ts","./src/app/account/account-forget-password/account-forget-password.component.html","./src/app/account/account-mesg-box/account-mesg-box.component.ts","./src/app/account/account-mesg-box/account-mesg-box.component.html","./src/app/account/account-reset-password/account-reset-password.component.ts","./src/app/account/account-reset-password/account-reset-password.component.html","./src/app/account/account-routing.module.ts","./src/app/account/account-signin/account-signin.component.ts","./src/app/account/account-signin/account-signin.component.html","./src/app/account/account-signup/account-signup.component.ts","./src/app/account/account-signup/account-signup.component.html","./src/app/account/account-social-signin/account-social-signin.component.ts","./src/app/account/account-social-signin/account-social-signin.component.html","./src/app/account/account-two-factor-authentication/account-two-factor-authentication.component.ts","./src/app/account/account-two-factor-authentication/account-two-factor-authentication.component.html","./src/app/account/account-whitelist-device/account-whitelist-device.component.ts","./src/app/account/account-whitelist-device/account-whitelist-device.component.html","./src/app/account/account-wrapper/account-wrapper.component.ts","./src/app/account/account-wrapper/account-wrapper.component.html","./src/app/account/account.module.ts","./src/app/account/sevices/account.service.ts","./src/app/activity/activity-balance-attention-cancel-transfer/activity-balance-attention-cancel-transfer.component.ts","./src/app/activity/activity-balance-attention-cancel-transfer/activity-balance-attention-cancel-transfer.component.html","./src/app/activity/activity-balance-attention/activity-balance-attention.component.ts","./src/app/activity/activity-balance-attention/activity-balance-attention.component.html","./src/app/activity/activity-balance-cancelled/activity-balance-cancelled.component.ts","./src/app/activity/activity-balance-cancelled/activity-balance-cancelled.component.html","./src/app/activity/activity-balance-converted/activity-balance-converted.component.ts","./src/app/activity/activity-balance-converted/activity-balance-converted.component.html","./src/app/activity/activity-balance-list/activity-balance-list.component.ts","./src/app/activity/activity-balance-list/activity-balance-list.component.html","./src/app/activity/activity-balance-onboarding-fee/activity-balance-onboarding-fee.component.ts","./src/app/activity/activity-balance-onboarding-fee/activity-balance-onboarding-fee.component.html","./src/app/activity/activity-balance-recieved/activity-balance-recieved.component.ts","./src/app/activity/activity-balance-recieved/activity-balance-recieved.component.html","./src/app/activity/activity-balance-spent/activity-balance-spent.component.ts","./src/app/activity/activity-balance-spent/activity-balance-spent.component.html","./src/app/activity/activity-balance-transfer-detail/activity-balance-transfer-detail.component.ts","./src/app/activity/activity-balance-transfer-detail/activity-balance-transfer-detail.component.html","./src/app/activity/activity-balance-transfer/activity-balance-transfer.component.ts","./src/app/activity/activity-balance-transfer/activity-balance-transfer.component.html","./src/app/activity/activity-balance-usd-staking/activity-balance-usd-staking.component.ts","./src/app/activity/activity-balance-usd-staking/activity-balance-usd-staking.component.html","./src/app/activity/activity-balance-weekly-reward/activity-balance-weekly-reward.component.ts","./src/app/activity/activity-balance-weekly-reward/activity-balance-weekly-reward.component.html","./src/app/activity/activity-balance-withdrawn/activity-balance-withdrawn.component.ts","./src/app/activity/activity-balance-withdrawn/activity-balance-withdrawn.component.html","./src/app/activity/activity-credit-availed/activity-credit-availed.component.ts","./src/app/activity/activity-credit-availed/activity-credit-availed.component.html","./src/app/activity/activity-credit-interest/activity-credit-interest.component.ts","./src/app/activity/activity-credit-interest/activity-credit-interest.component.html","./src/app/activity/activity-credit-locked-released/activity-credit-locked-released.component.ts","./src/app/activity/activity-credit-locked-released/activity-credit-locked-released.component.html","./src/app/activity/activity-credit-locked/activity-credit-locked.component.ts","./src/app/activity/activity-credit-locked/activity-credit-locked.component.html","./src/app/activity/activity-credit-repaid/activity-credit-repaid.component.ts","./src/app/activity/activity-credit-repaid/activity-credit-repaid.component.html","./src/app/activity/activity-deposit-interest/activity-deposit-interest.component.ts","./src/app/activity/activity-deposit-interest/activity-deposit-interest.component.html","./src/app/activity/activity-home/activity-home.component.ts","./src/app/activity/activity-home/activity-home.component.html","./src/app/activity/activity-rolling-reserve/activity-rolling-reserve.component.ts","./src/app/activity/activity-rolling-reserve/activity-rolling-reserve.component.html","./src/app/activity/activity-routing.module.ts","./src/app/activity/activity-staking-rolling-reserve/activity-staking-rolling-reserve.component.ts","./src/app/activity/activity-staking-rolling-reserve/activity-staking-rolling-reserve.component.html","./src/app/activity/activity-welcome/activity-welcome.component.ts","./src/app/activity/activity-welcome/activity-welcome.component.html","./src/app/activity/activity.module.ts","./src/app/activity/cancel-fee/cancel-fee.component.ts","./src/app/activity/cancel-fee/cancel-fee.component.html","./src/app/activity/services/activity.service.ts","./src/app/api-manager/add-webhook-url/add-webhook-url.component.ts","./src/app/api-manager/add-webhook-url/add-webhook-url.component.html","./src/app/api-manager/ap-manager-delete-api-confirm/ap-manager-delete-api-confirm.component.ts","./src/app/api-manager/ap-manager-delete-api-confirm/ap-manager-delete-api-confirm.component.html","./src/app/api-manager/api-manager-confirm/api-manager-confirm.component.ts","./src/app/api-manager/api-manager-confirm/api-manager-confirm.component.html","./src/app/api-manager/api-manager-create/api-manager-create.component.ts","./src/app/api-manager/api-manager-create/api-manager-create.component.html","./src/app/api-manager/api-manager-data/api-manager-data.component.ts","./src/app/api-manager/api-manager-data/api-manager-data.component.html","./src/app/api-manager/api-manager-home/api-manager-home.component.ts","./src/app/api-manager/api-manager-home/api-manager-home.component.html","./src/app/api-manager/api-manager-operations/api-manager-operations.component.ts","./src/app/api-manager/api-manager-operations/api-manager-operations.component.html","./src/app/api-manager/api-manager-routing.module.ts","./src/app/api-manager/api-manager-security-verification/api-manager-security-verification.component.ts","./src/app/api-manager/api-manager-security-verification/api-manager-security-verification.component.html","./src/app/api-manager/api-manager.module.ts","./src/app/api-manager/services/api-manager.service.ts","./src/app/api-manager/update-domain/update-domain.component.ts","./src/app/api-manager/update-domain/update-domain.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.constants.ts","./src/app/app.module.ts","./src/app/business/business-home/business-home.component.ts","./src/app/business/business-home/business-home.component.html","./src/app/business/business-routing.module.ts","./src/app/business/business.module.ts","./src/app/convert/convert-amount/convert-amount.component.ts","./src/app/convert/convert-amount/convert-amount.component.html","./src/app/convert/convert-completed/convert-completed.component.ts","./src/app/convert/convert-completed/convert-completed.component.html","./src/app/convert/convert-home/convert-home.component.ts","./src/app/convert/convert-home/convert-home.component.html","./src/app/convert/convert-review/convert-review.component.ts","./src/app/convert/convert-review/convert-review.component.html","./src/app/convert/convert-routing.module.ts","./src/app/convert/convert.module.ts","./src/app/convert/services/convert.service.ts","./src/app/core/enums/authStatus.ts","./src/app/core/enums/broker-status.enum.ts","./src/app/core/enums/currencyType.ts","./src/app/core/enums/fiat-transaction-type.ts","./src/app/core/enums/help-desk-enum.ts","./src/app/core/enums/ledgerType.ts","./src/app/core/enums/network-type-enum.ts","./src/app/core/enums/rateTypeEnum.ts","./src/app/core/enums/recipientTypeEnum.ts","./src/app/core/enums/swapEnum.ts","./src/app/core/enums/userType.ts","./src/app/core/enums/walletcurrency.ts","./src/app/core/models/EnableTwoFa.ts","./src/app/core/models/Lerex/enum-load.ts","./src/app/core/models/activity/search-filter.ts","./src/app/core/models/address-whitelist.ts","./src/app/core/models/api-manager/api-manager.ts","./src/app/core/models/business-profile.ts","./src/app/core/models/cashaa-user-fee-request.ts","./src/app/core/models/changeEmail.ts","./src/app/core/models/chnagepassword.ts","./src/app/core/models/convert/convert-request-model.ts","./src/app/core/models/crypto-account-request-model.ts","./src/app/core/models/currency-type-data.ts","./src/app/core/models/deposit-interest/deposit-interest.ts","./src/app/core/models/deposit.ts","./src/app/core/models/fIat/fiat-flow.ts","./src/app/core/models/fIat/fiat-pay.ts","./src/app/core/models/fIat/recipients.ts","./src/app/core/models/fiat-account-request-model.ts","./src/app/core/models/receive-fund.ts","./src/app/core/models/recipient/recipient-add-usd.ts","./src/app/core/models/referral/referral.ts","./src/app/core/models/reset-password.ts","./src/app/core/models/signup.ts","./src/app/core/models/transfer-types.ts","./src/app/core/models/whitelist-device.ts","./src/app/core/models/withdraw-fund.ts","./src/app/core/services/auth-guard/auth-guard.service.ts","./src/app/core/services/domain/domain.service.ts","./src/app/core/services/interceptor/http-interceptor.service.ts","./src/app/core/services/modal/modal.service.ts","./src/app/core/services/navigation/navigation.service.ts","./src/app/core/services/rate-websocket/rate-websocket.service.ts","./src/app/core/services/user/user.service.ts","./src/app/core/utility/validator.utility.ts","./src/app/customer/add-customer-home/add-customer-home.component.ts","./src/app/customer/add-customer-home/add-customer-home.component.html","./src/app/customer/add-customer-modal/add-customer-modal.component.ts","./src/app/customer/add-customer-modal/add-customer-modal.component.html","./src/app/customer/add-customer/add-customer.component.ts","./src/app/customer/add-customer/add-customer.component.html","./src/app/customer/customer-details/customer-details.component.ts","./src/app/customer/customer-details/customer-details.component.html","./src/app/customer/customer-routing.module.ts","./src/app/customer/customer.module.ts","./src/app/customer/services/customer.service.ts","./src/app/deposit-interest/deposit-interest-amount/deposit-interest-amount.component.ts","./src/app/deposit-interest/deposit-interest-amount/deposit-interest-amount.component.html","./src/app/deposit-interest/deposit-interest-confirm/deposit-interest-confirm.component.ts","./src/app/deposit-interest/deposit-interest-confirm/deposit-interest-confirm.component.html","./src/app/deposit-interest/deposit-interest-home/deposit-interest-home.component.ts","./src/app/deposit-interest/deposit-interest-home/deposit-interest-home.component.html","./src/app/deposit-interest/deposit-interest-routing.module.ts","./src/app/deposit-interest/deposit-interest.module.ts","./src/app/deposit-interest/service/deposit-interest.service.ts","./src/app/deposit/deposit-amount/deposit-amount.component.ts","./src/app/deposit/deposit-amount/deposit-amount.component.html","./src/app/deposit/deposit-detail/deposit-detail.component.ts","./src/app/deposit/deposit-detail/deposit-detail.component.html","./src/app/deposit/deposit-history/deposit-history.component.ts","./src/app/deposit/deposit-history/deposit-history.component.html","./src/app/deposit/deposit-home/deposit-home.component.ts","./src/app/deposit/deposit-home/deposit-home.component.html","./src/app/deposit/deposit-recipient/deposit-recipient.component.ts","./src/app/deposit/deposit-recipient/deposit-recipient.component.html","./src/app/deposit/deposit-routing.module.ts","./src/app/deposit/deposit-transfer-number/deposit-transfer-number.component.ts","./src/app/deposit/deposit-transfer-number/deposit-transfer-number.component.html","./src/app/deposit/deposit-transfer-type/deposit-transfer-type.component.ts","./src/app/deposit/deposit-transfer-type/deposit-transfer-type.component.html","./src/app/deposit/deposit.module.ts","./src/app/deposit/payment-failure/payment-failure.component.ts","./src/app/deposit/payment-failure/payment-failure.component.html","./src/app/deposit/payment-success/payment-success.component.ts","./src/app/deposit/payment-success/payment-success.component.html","./src/app/deposit/services/deposit.service.ts","./src/app/event-fee/address/address.component.ts","./src/app/event-fee/address/address.component.html","./src/app/event-fee/confirm/confirm.component.ts","./src/app/event-fee/confirm/confirm.component.html","./src/app/event-fee/currency-type/currency-type.component.ts","./src/app/event-fee/currency-type/currency-type.component.html","./src/app/event-fee/event-fee-home/event-fee-home.component.ts","./src/app/event-fee/event-fee-home/event-fee-home.component.html","./src/app/event-fee/event-fee-routing.module.ts","./src/app/event-fee/event-fee.module.ts","./src/app/event-fee/other-details/other-details.component.ts","./src/app/event-fee/other-details/other-details.component.html","./src/app/event-fee/payment-history/payment-history.component.ts","./src/app/event-fee/payment-history/payment-history.component.html","./src/app/event-fee/services/event-fee.service.ts","./src/app/event-fee/ticket-type/ticket-type.component.ts","./src/app/event-fee/ticket-type/ticket-type.component.html","./src/app/event-fee/timer/deposit-timer.component.ts","./src/app/event-fee/timer/deposit-timer.component.html","./src/app/fiat/fiat-completed/fiat-completed.component.ts","./src/app/fiat/fiat-completed/fiat-completed.component.html","./src/app/fiat/fiat-flow-amount/fiat-flow-amount.component.ts","./src/app/fiat/fiat-flow-amount/fiat-flow-amount.component.html","./src/app/fiat/fiat-flow-pay-approve/fiat-flow-pay-approve.component.ts","./src/app/fiat/fiat-flow-pay-approve/fiat-flow-pay-approve.component.html","./src/app/fiat/fiat-flow-pay-auth-approval/fiat-flow-pay-auth-approval.component.ts","./src/app/fiat/fiat-flow-pay-auth-approval/fiat-flow-pay-auth-approval.component.html","./src/app/fiat/fiat-flow-recipient-add-business/fiat-flow-recipient-add-business.component.ts","./src/app/fiat/fiat-flow-recipient-add-business/fiat-flow-recipient-add-business.component.html","./src/app/fiat/fiat-flow-recipient/fiat-flow-recipient.component.ts","./src/app/fiat/fiat-flow-recipient/fiat-flow-recipient.component.html","./src/app/fiat/fiat-flow-review/fiat-flow-review.component.ts","./src/app/fiat/fiat-flow-review/fiat-flow-review.component.html","./src/app/fiat/fiat-flow-wrapper/fiat-flow-wrapper.component.ts","./src/app/fiat/fiat-flow-wrapper/fiat-flow-wrapper.component.html","./src/app/fiat/fiat-routing.module.ts","./src/app/fiat/fiat.module.ts","./src/app/fiat/services/fiat.service.ts","./src/app/helpdesk/helpdesk-create-ticket/helpdesk-create-ticket.component.ts","./src/app/helpdesk/helpdesk-create-ticket/helpdesk-create-ticket.component.html","./src/app/helpdesk/helpdesk-home-ticket/helpdesk-home-ticket.component.ts","./src/app/helpdesk/helpdesk-home-ticket/helpdesk-home-ticket.component.html","./src/app/helpdesk/helpdesk-routing.module.ts","./src/app/helpdesk/helpdesk.module.ts","./src/app/helpdesk/services/helpdesk-ticket.service.ts","./src/app/invite/invite-home-completed/invite-home-completed.component.ts","./src/app/invite/invite-home-completed/invite-home-completed.component.html","./src/app/invite/invite-home-email/invite-home-email.component.ts","./src/app/invite/invite-home-email/invite-home-email.component.html","./src/app/invite/invite-home-link/invite-home-link.component.ts","./src/app/invite/invite-home-link/invite-home-link.component.html","./src/app/invite/invite-home/invite-home.component.ts","./src/app/invite/invite-home/invite-home.component.html","./src/app/invite/invite-share-link/invite-share-link.component.ts","./src/app/invite/invite-share-link/invite-share-link.component.html","./src/app/invite/invite.module.ts","./src/app/invite/services/invite.service.ts","./src/app/kyc/kyc-home/kyc-home.component.ts","./src/app/kyc/kyc-home/kyc-home.component.html","./src/app/kyc/kyc-routing.module.ts","./src/app/kyc/kyc.module.ts","./src/app/kyc/services/kyc.service.ts","./src/app/profile/profile-business-edit/profile-business-edit.component.ts","./src/app/profile/profile-business-edit/profile-business-edit.component.html","./src/app/profile/profile-business/profile-business.component.ts","./src/app/profile/profile-business/profile-business.component.html","./src/app/profile/profile-home/profile-home.component.ts","./src/app/profile/profile-home/profile-home.component.html","./src/app/profile/profile-personal/profile-personal.component.ts","./src/app/profile/profile-personal/profile-personal.component.html","./src/app/profile/profile-routing.module.ts","./src/app/profile/profile.module.ts","./src/app/profile/services/profile.service.ts","./src/app/receive/receive-fund/receive-fund.component.ts","./src/app/receive/receive-fund/receive-fund.component.html","./src/app/receive/receive-routing.module.ts","./src/app/receive/receive.module.ts","./src/app/receive/services/receive.service.ts","./src/app/recipient/recipient-add-bankaccount/recipient-add-bankaccount.component.ts","./src/app/recipient/recipient-add-bankaccount/recipient-add-bankaccount.component.html","./src/app/recipient/recipient-add/recipient-add.component.ts","./src/app/recipient/recipient-add/recipient-add.component.html","./src/app/recipient/recipient-address-confirmation/recipient-address-confirmation.component.ts","./src/app/recipient/recipient-address-confirmation/recipient-address-confirmation.component.html","./src/app/recipient/recipient-home/recipient-home.component.ts","./src/app/recipient/recipient-home/recipient-home.component.html","./src/app/recipient/recipient-list/recipient-list.component.ts","./src/app/recipient/recipient-list/recipient-list.component.html","./src/app/recipient/recipient-routing.module.ts","./src/app/recipient/recipient.module.ts","./src/app/recipient/recipient/recipient.component.ts","./src/app/recipient/recipient/recipient.component.html","./src/app/recipient/services/recipient.service.ts","./src/app/recipient/update-memo/update-memo.component.ts","./src/app/recipient/update-memo/update-memo.component.html","./src/app/referral/referral-routing.module.ts","./src/app/referral/referral.module.ts","./src/app/referral/referral/referral.component.ts","./src/app/referral/referral/referral.component.html","./src/app/referral/services/referral.service.ts","./src/app/send/withdraw-confirmation/withdraw-confirmation.component.ts","./src/app/send/withdraw-confirmation/withdraw-confirmation.component.html","./src/app/settings/services/settings.service.ts","./src/app/settings/setting-close-account/setting-close-account.component.ts","./src/app/settings/setting-close-account/setting-close-account.component.html","./src/app/settings/setting-email-confirm/setting-email-confirm.component.ts","./src/app/settings/setting-email-confirm/setting-email-confirm.component.html","./src/app/settings/setting-interest-choice/setting-interest-choice.component.ts","./src/app/settings/setting-interest-choice/setting-interest-choice.component.html","./src/app/settings/setting-routing.module.ts","./src/app/settings/settings-email/settings-email.component.ts","./src/app/settings/settings-email/settings-email.component.html","./src/app/settings/settings-fee/settings-fee.component.ts","./src/app/settings/settings-fee/settings-fee.component.html","./src/app/settings/settings-home/settings-home.component.ts","./src/app/settings/settings-home/settings-home.component.html","./src/app/settings/settings-password/settings-password.component.ts","./src/app/settings/settings-password/settings-password.component.html","./src/app/settings/settings-subscription-plan/settings-subscription-plan.component.ts","./src/app/settings/settings-subscription-plan/settings-subscription-plan.component.html","./src/app/settings/settings-two-factor-auth/settings-two-factor-auth.component.ts","./src/app/settings/settings-two-factor-auth/settings-two-factor-auth.component.html","./src/app/settings/settings.module.ts","./src/app/shared/Directives/num-decimal.directive.ts","./src/app/shared/components/access-restricted/access-restricted.component.ts","./src/app/shared/components/access-restricted/access-restricted.component.html","./src/app/shared/components/account-box/account-box.component.ts","./src/app/shared/components/account-box/account-box.component.html","./src/app/shared/components/acount-box-mobile/account-box-mobile.component.ts","./src/app/shared/components/acount-box-mobile/account-box-mobile.component.html","./src/app/shared/components/balance-box/balance-box.component.ts","./src/app/shared/components/balance-box/balance-box.component.html","./src/app/shared/components/confirmation-box/confirmation-box.component.ts","./src/app/shared/components/confirmation-box/confirmation-box.component.html","./src/app/shared/components/currency-box/currency-box.component.ts","./src/app/shared/components/currency-box/currency-box.component.html","./src/app/shared/components/currency-pairs/currency-pairs.component.ts","./src/app/shared/components/currency-pairs/currency-pairs.component.html","./src/app/shared/components/form-input-currency/form-input-currency.component.ts","./src/app/shared/components/form-input-currency/form-input-currency.component.html","./src/app/shared/components/form-input-director-role/form-input-director-role.component.ts","./src/app/shared/components/form-input-director-role/form-input-director-role.component.html","./src/app/shared/components/form-input-file/form-input-file.component.ts","./src/app/shared/components/form-input-file/form-input-file.component.html","./src/app/shared/components/form-input-sortcode/form-input-sortcode.component.ts","./src/app/shared/components/form-input-sortcode/form-input-sortcode.component.html","./src/app/shared/components/form-input/form-input.component.ts","./src/app/shared/components/form-input/form-input.component.html","./src/app/shared/components/form-select-accounttype/form-select-accounttype.component.ts","./src/app/shared/components/form-select-accounttype/form-select-accounttype.component.html","./src/app/shared/components/form-select-activity-type-filter/form-select-activity-type-filter.component.ts","./src/app/shared/components/form-select-activity-type-filter/form-select-activity-type-filter.component.html","./src/app/shared/components/form-select-balance/form-select-balance.component.ts","./src/app/shared/components/form-select-balance/form-select-balance.component.html","./src/app/shared/components/form-select-business-category/form-select-business-category.component.ts","./src/app/shared/components/form-select-business-category/form-select-business-category.component.html","./src/app/shared/components/form-select-country/form-select-country.component.ts","./src/app/shared/components/form-select-country/form-select-country.component.html","./src/app/shared/components/form-select-currency-pair/form-select-currency-pair.component.ts","./src/app/shared/components/form-select-currency-pair/form-select-currency-pair.component.html","./src/app/shared/components/form-select-currency-symbol/form-select-currency-symbol.component.ts","./src/app/shared/components/form-select-currency-symbol/form-select-currency-symbol.component.html","./src/app/shared/components/form-select-currency/form-select-currency.component.ts","./src/app/shared/components/form-select-currency/form-select-currency.component.html","./src/app/shared/components/form-select-filter/form-select-filter.component.ts","./src/app/shared/components/form-select-filter/form-select-filter.component.html","./src/app/shared/components/form-select-helpdesk-category/form-select-helpdesk-category.component.ts","./src/app/shared/components/form-select-helpdesk-category/form-select-helpdesk-category.component.html","./src/app/shared/components/form-select-network-type/form-select-network-type.component.ts","./src/app/shared/components/form-select-network-type/form-select-network-type.component.html","./src/app/shared/components/form-select-phonecode/form-select-phonecode.component.ts","./src/app/shared/components/form-select-phonecode/form-select-phonecode.component.html","./src/app/shared/components/form-select-plan/form-select-plan.component.ts","./src/app/shared/components/form-select-plan/form-select-plan.component.html","./src/app/shared/components/form-select-transfer-currency/form-select-transfer-currency.component.ts","./src/app/shared/components/form-select-transfer-currency/form-select-transfer-currency.component.html","./src/app/shared/components/form-select-transfer-type/form-select-transfer-type.component.ts","./src/app/shared/components/form-select-transfer-type/form-select-transfer-type.component.html","./src/app/shared/components/form-select-withdraw-address/form-select-withdraw-address.component.ts","./src/app/shared/components/form-select-withdraw-address/form-select-withdraw-address.component.html","./src/app/shared/components/form-select/form-select.component.ts","./src/app/shared/components/form-select/form-select.component.html","./src/app/shared/components/form-textarea/form-textarea.component.ts","./src/app/shared/components/form-textarea/form-textarea.component.html","./src/app/shared/components/google-auth-boxes/google-auth-boxes.component.ts","./src/app/shared/components/google-auth-boxes/google-auth-boxes.component.html","./src/app/shared/components/message-box/message-box.component.ts","./src/app/shared/components/message-box/message-box.component.html","./src/app/shared/components/navbar/navbar.component.ts","./src/app/shared/components/navbar/navbar.component.html","./src/app/shared/components/not-found/not-found.component.ts","./src/app/shared/components/not-found/not-found.component.html","./src/app/shared/components/password-strength/password-strength.component.ts","./src/app/shared/components/password-strength/password-strength.component.html","./src/app/shared/components/recipient-box/recipient-box.component.ts","./src/app/shared/components/recipient-box/recipient-box.component.html","./src/app/shared/components/sidenav/sidenav.component.ts","./src/app/shared/components/sidenav/sidenav.component.html","./src/app/shared/components/social-media/social-media-component.ts","./src/app/shared/components/terms-and-conditions/terms-and-conditions.component.ts","./src/app/shared/components/terms-and-conditions/terms-and-conditions.component.html","./src/app/shared/components/timer/timer.component.ts","./src/app/shared/components/timer/timer.component.html","./src/app/shared/components/unauthorized/unauthorized.component.ts","./src/app/shared/components/unauthorized/unauthorized.component.html","./src/app/shared/components/under-maintenance/under-maintenance.component.ts","./src/app/shared/components/warning-memo-box/warning-memo-box.component.ts","./src/app/shared/components/warning-memo-box/warning-memo-box.component.html","./src/app/shared/pipes/safe.pipe.ts","./src/app/shared/services/commonSavedData.service.ts","./src/app/shared/shared.module.ts","./src/app/shared/switch/switch.component.ts","./src/app/shared/switch/switch.component.html","./src/app/statement/generate-statement/generate-statement.component.ts","./src/app/statement/generate-statement/generate-statement.component.html","./src/app/statement/services/statement.service.ts","./src/app/statement/statement-routing.module.ts","./src/app/statement/statement.module.ts","./src/app/swap/services/swap.service.ts","./src/app/swap/swap-home/swap-home.component.ts","./src/app/swap/swap-home/swap-home.component.html","./src/app/swap/swap-routing.module.ts","./src/app/swap/swap.module.ts","./src/app/trade/services/trade.service.ts","./src/app/trade/trade-buy-form/trade-buy-form.component.ts","./src/app/trade/trade-buy-form/trade-buy-form.component.html","./src/app/trade/trade-buy-sell-confirmation/trade-buy-sell-confirmation.component.ts","./src/app/trade/trade-buy-sell-confirmation/trade-buy-sell-confirmation.component.html","./src/app/trade/trade-buy-sell-tabs/trade-buy-sell-tabs.component.ts","./src/app/trade/trade-buy-sell-tabs/trade-buy-sell-tabs.component.html","./src/app/trade/trade-home/trade-home.component.ts","./src/app/trade/trade-home/trade-home.component.html","./src/app/trade/trade-routing.module.ts","./src/app/trade/trade-sell-form/trade-sell-form.component.ts","./src/app/trade/trade-sell-form/trade-sell-form.component.html","./src/app/trade/trade.module.ts","./src/app/user-plan/earn-plan-details/earn-plan-details.component.ts","./src/app/user-plan/earn-plan-details/earn-plan-details.component.html","./src/app/user-plan/plan-details/plan-details.component.ts","./src/app/user-plan/plan-details/plan-details.component.html","./src/app/user-plan/user-plan-routing.module.ts","./src/app/user-plan/user-plan.module.ts","./src/app/wallet/credit-line/borrow/borrow.component.ts","./src/app/wallet/credit-line/borrow/borrow.component.html","./src/app/wallet/credit-line/confirm/confirm.component.ts","./src/app/wallet/credit-line/confirm/confirm.component.html","./src/app/wallet/credit-line/credit-line.component.ts","./src/app/wallet/credit-line/credit-line.component.html","./src/app/wallet/credit-line/review-security-verification/review-security-verification.component.ts","./src/app/wallet/credit-line/review-security-verification/review-security-verification.component.html","./src/app/wallet/currency-assets/currency-assets.component.ts","./src/app/wallet/currency-assets/currency-assets.component.html","./src/app/wallet/loan-details/loan-details.component.ts","./src/app/wallet/loan-details/loan-details.component.html","./src/app/wallet/loan-interest/loan-interest.component.ts","./src/app/wallet/loan-interest/loan-interest.component.html","./src/app/wallet/loan-repayment/loan-repayment.component.ts","./src/app/wallet/loan-repayment/loan-repayment.component.html","./src/app/wallet/portfolio-history/portfolio-history.component.ts","./src/app/wallet/portfolio-history/portfolio-history.component.html","./src/app/wallet/repay/repay.component.ts","./src/app/wallet/repay/repay.component.html","./src/app/wallet/services/insta-search.service.ts","./src/app/wallet/services/wallet.service.ts","./src/app/wallet/wallet-dashboard/wallet-dashboard.component.ts","./src/app/wallet/wallet-dashboard/wallet-dashboard.component.html","./src/app/wallet/wallet-open/wallet-open.component.ts","./src/app/wallet/wallet-open/wallet-open.component.html","./src/app/wallet/wallet-page/wallet-page.component.ts","./src/app/wallet/wallet-page/wallet-page.component.html","./src/app/wallet/wallet-ready/wallet-ready.component.ts","./src/app/wallet/wallet-ready/wallet-ready.component.html","./src/app/wallet/wallet-routing.module.ts","./src/app/wallet/wallet.module.ts","./src/app/withdraw/services/withdraw.service.ts","./src/app/withdraw/withdraw-address-whitelist/withdraw-address-whitelist.component.ts","./src/app/withdraw/withdraw-address-whitelist/withdraw-address-whitelist.component.html","./src/app/withdraw/withdraw-fund/withdraw-fund.component.ts","./src/app/withdraw/withdraw-fund/withdraw-fund.component.html","./src/app/withdraw/withdraw-routing.module.ts","./src/app/withdraw/withdraw.module.ts","./src/environments/environment.ts","./src/main.ts","fs (ignored)","crypto (ignored)","stream (ignored)"],"names":[],"mappings":"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","file":"main-es2015.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) */"],"sourceRoot":"webpack:///"}