{"version":3,"sources":["./src/app/shared/models/shopping-cart-item.model.ts","./src/app/shared/models/multplatform.enum.ts","./src/app/shared/models/user-identifier.enum.ts","./src/app/shared/services/util/onkeypress.service.ts","./src/app/shared/services/account/packages.service.ts","crypto (ignored)","./src/app/shared/services/marketplace/adapters/shopping-cart.adapter.ts","./src/app/shared/models/IEniatoHomeSection.enum.ts","./src/app/shared/models/file.model.ts","./src/app/shared/services/account/deposits.services.ts","./src/app/shared/services/marketplace/store/store.service.ts","./src/app/shared/services/util/format-value.service.ts","./src/app/shared/layout/header/header.component.ts","./src/app/shared/layout/header/header.component.html","./src/app/shared/services/exchange/exchange.services.ts","./src/app/shared/services/util/sidenav.service.ts","./src/app/shared/services/util/payment-configs.service.ts","./src/app/shared/utils/session.storage.keys.ts","./src/app/shared/utils/local.storage.keys.ts","./src/app/shared/services/util/internal-navigation.service.ts","./src/app/shared/services/account/collections.service.ts","./src/environments/environment.ts","./src/app/shared/models/languages.enum.ts","./src/app/shared/services/marketplace/adapters/shopping-cart-item.adapter.ts","./src/app/shared/services/financial/financial.ts","./src/app/app.service.ts","./src/app/shared/services/marketplace/flexible-characteristics/flexible-characteristics.service.ts","./src/app/shared/models/snackbar-theme.enum.ts","./src/app/shared/services/marketplace/store/order.service.ts","./src/app/shared/services/util/config.reader.service.ts","./src/app/shared/services/util/snackbar.service.ts","./src/app/guards/auth-guard.service.ts","./src/app/shared/models/shopping-cart.model.ts","./src/app/shared/services/util/features-status.service.ts","./src/app/shared/models/INFTStaking.ts","./src/app/shared/models/internal-pages-name.enum.ts","./src/app/translation.initializer.ts","./src/app/shared/services/util/share-link.service.ts","./src/app/tokenization/my-assets/modal-send/modal-send.component.ts","./src/app/tokenization/my-assets/modal-send/modal-send.component.html","./src/app/shared/services/util/melhor.envio.service.ts","./src/app/shared/services/util/nationality.service.ts","./src/app/shared/services/util/paginator-translation.service.ts","./src/app/constants/snackbar.constants.ts","./src/app/shared/services/financial/corporate.escrow.ts","./src/app/shared/models/IAssets.model.ts","./src/app/shared/utils/eth.utils.ts","./src/app/shared/snackbar/snackbar.component.ts","./src/app/tokenization/my-assets/modal-split/modal-split.component.ts","./src/app/tokenization/my-assets/modal-split/modal-split.component.html","./src/app/shared/services/marketplace/categories.service.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/shared/simple-contact-modal/simple-contact-modal.component.ts","./src/app/shared/simple-contact-modal/simple-contact-modal.component.html","./src/app/interceptors/capacitor.http.interceptor.ts","./src/app/shared/layout/card-list/card-list.component.ts","./src/app/shared/layout/card-list/card-list.component.html","./src/app/shared/services/chat/chat.service.ts","./src/app/shared/services/util/error.handler.service.ts","./src/app/shared/models/IFiatCurrency.ts","./src/app/shared/services/util/cpfCnpjValidate.service.ts","./src/app/shared/services/services.module.ts","./src/app/app.module.ts","./src/app/shared/services/util/handle-date.service.ts","./src/app/shared/models/IContactDetails.ts","./src/app/shared/services/tokens/token.service.ts","./src/app/shared/models/signup.encrypt.base.ts","./src/app/shared/services/cart/checkout.service.ts","./src/app/shared/services/util/translation.constants.ts","./src/app/guards/feature-guard.service.ts","./src/app/shared/directives/translate.directive.ts","./src/app/shared/services/account/asset.services.ts","./src/app/shared/models/chat.model.ts","./src/app/shared/models/products.model.ts","./src/app/shared/models/encrypt.base.ts","./src/app/shared/services/account/banking.services.ts","./src/app/shared/services/util/file.service.ts","./src/app/shared/services/account/account.services.ts","./src/app/constants/countries.constants.ts","./src/app/constants/rest-endpoint.constants.ts","./src/app/shared/models/verify.encrypted.model.ts","./src/app/shared/material/material.module.ts","./src/app/shared/bottom-navigation/bottom-navigation.component.ts","./src/app/shared/bottom-navigation/bottom-navigation.component.html","./src/app/shared/services/util/metamask.service.ts","./src/app/interceptors/capacitor.http.provider.ts","./src/app/shared/services/util/value-converter.service.ts","./src/app/shared/directives/mask-decimal-number.directive.ts","./src/app/shared/services/util/format-string.service.ts","./src/app/shared/services/marketplace/letter-of-credit/letter-of-credit.service.ts","./src/app/shared/redeem-reward-modal/redeem-reward-modal.component.ts","./src/app/shared/redeem-reward-modal/redeem-reward-modal.component.html","./src/app/shared/services/marketplace/cart/shopping-cart.service.ts","./src/app/shared/models/BankingAccount.ts","./src/app/shared/layout/layout.module.ts","./src/app/shared/services/util/ux-configs.service.ts","./src/app/shared/models/feature-names.enum.ts","./src/app/shared/layout/footer/footer.component.ts","./src/app/shared/layout/footer/footer.component.html","./src/app/shared/services/util/nft.conversion.service.ts","./src/app/shared/services/util/reload.user.data.service.ts","./src/app/shared/models/INFTPackage.ts","./src/app/shared/directives/util.ts","./src/app/shared/services/marketplace/prices/prices.service.ts","./src/app/shared/services/util/calculate-remaining-auction-time.service.ts","./src/app/shared/services/account/home.service.ts","./src/app/shared/services/util/cep.service.ts","./src/app/tokenization/my-assets/modal-resell/modal-resell.component.ts","./src/app/tokenization/my-assets/modal-resell/modal-resell.component.html","./src/app/shared/nft-package-success/nft-package-success.component.ts","./src/app/shared/nft-package-success/nft-package-success.component.html","./src/app/shared/services/util/util.service.ts","./src/app/shared/services/marketplace/product.services.ts","./src/app/tokenization/my-assets/modal-auction/modal-auction.component.ts","./src/app/tokenization/my-assets/modal-auction/modal-auction.component.html","./src/app/app-routing.module.ts","./src/app/shared/models/media-type.enum.ts","./src/app/shared/services/reward/reward.services.ts","./src/app/shared/services/util/image.service.ts","./src/app/shared/services/util/script.service.ts","./src/app/shared/services/NFT/nft.staking.services.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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L,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,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","file":"main.28de22345bee7ea53f01.js","sourcesContent":["import BigNumber from 'bignumber.js';\nimport { ProductsBackend } from './products.model';\n\nexport class ShoppingCartItem\n{\n public totalAmount?: number;\n public tokenAmount?: number;\n public expirationDate?: Date;\n public event_types?: any;\n \n constructor(\n public id: string,\n public item: ProductsBackend,\n public quantity: BigNumber,\n )\n {\n }\n}\n","export enum MultiplatFormEnum {\n WALLET = 'WALLET',\n BANKING = 'BANKING',\n CROWDFUNDING = 'CROWDFUNDING',\n EXCHANGE = 'EXCHANGE',\n MARKETPLACE = 'MARKETPLACE',\n TOKENIZATION = 'TOKENIZATION',\n EVENTS = 'EVENTS',\n CHAT = 'CHAT',\n}","export enum UserIdentifierEnum {\n CPF = 'cpf',\n CNPJ = 'cnpj',\n External = 'externalDoc'\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnkeypressService {\n\n constructor( ) { }\n\n /**\n * Used to restrict entering numbers only\n * @param event keypress\n * @param maxLength Max length to prevent event. Default is 14\n */\n public onlyAllowNumbers(event: any, allowDecimal: boolean = true, maxLength: number = 14): void {\n if(!allowDecimal) {\n // Allow Only Numbers\n if ((event?.target?.value?.length >= maxLength) || !(event.charCode >= 48 && event.charCode <= 57)) {\n event.preventDefault();\n }\n } else {\n //Allow Numbers, dot and comma.\n if ((event?.target?.value?.length >= maxLength) || !(event.charCode >= 48 && event.charCode <= 57 || event.charCode == 44 || event.charCode == 46)) {\n event.preventDefault();\n }\n }\n }\n\n /**\n * Used to allow currency transaction type characters, containing numbers, lowercase letters, and dash. ( a-z, 0-9, - )\n * @param event keypress\n */\n public allowNumbersLettersAndTrace(event: any): void {\n if (!(event.charCode >= 48 && event.charCode <= 57 || event.charCode >= 97 && event.charCode <= 122 || event.charCode == 45)) {\n event.preventDefault();\n }\n }\n\n /**\n * Used in \"Pix module\", for \"transactionIdentification\"\n * Prevent especial characters and space\n */\n public onlyCommonLettersAndNumbers(event: any): void {\n const regex: RegExp = new RegExp('([A-Za-z0-9])');\n\n if (!regex.test(String.fromCharCode(event?.charCode))) {\n event.preventDefault();\n }\n }\n\n /**\n * Used to restrict entering numbers only, lowercase letters and uppercase letters\n * @param event keypress\n */\n public blockSpecialCharacters(event: any): void {\n if (!(event.charCode >= 48 && event.charCode <= 57 || event.charCode >= 65 && event.charCode <= 90 || event.charCode >= 97 && event.charCode <= 122)) {\n event.preventDefault();\n }\n }\n\n public allowInternacionalNumberPhoneCharacters(event: any): void {\n const regex = /^[0-9\\(\\)]+$/;\n \n if (!regex.test(String.fromCharCode(event?.charCode))) {\n event.preventDefault();\n }\n }\n}\n","import { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map, catchError } from 'rxjs/operators';\nimport { CustomerBalance } from '../../models/customer.balance';\nimport { AssetsSearchInput } from '../../models/AssetsSearchInput.model';\nimport { Assets } from '../../models/IAssets.model';\nimport { ReportGeneralJournal } from '../../models/report.general.journal';\nimport { MarketJournal, MarketJournalInput } from '../../models/market-journal.model';\nimport { FinanceResponse } from '../../models/finance.response';\nimport { Router } from '@angular/router';\nimport { NFTPackage } from '../../models/INFTPackage';\n\n@Injectable()\nexport class PackagesService {\n\n /**\n * Stores the user to be resetted\n */\n public userEmail: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly router: Router\n\n ) {\n }\n\n public searchPackageCategory(category: string): void {\n this.router.navigate(['category/' + category]);\n }\n\n public createPackage(request: NFTPackage): Observable {\n return this.http.post(RestEndpoint.createPackage, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public sendNft(request: {\n customerIdToTransferTo: string,\n unitOfMoney: string,\n assetId: string\n }): Observable {\n return this.http.post(RestEndpoint.sendNFTs, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public buyNFTs(request: {\n unitOfMoney: string,\n assetId: string,\n principalAmount: number\n }): Observable {\n return this.http.post(RestEndpoint.buyNFT, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n\n\n public updateDetailsPackage(request: any): Observable {\n\n return this.http.put(RestEndpoint.updateDetailsPackage, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getEniatoBalance(): Observable {\n return this.http.get(RestEndpoint.getEniatoBalance, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getBalance(): Observable {\n return this.http.get(RestEndpoint.balance, {})\n .pipe(\n map((data: any) => {\n return data?.body;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public createMarket(request: MarketJournalInput): Observable {\n return this.http.post(RestEndpoint.createMarket, request)\n .pipe(\n map((userData: FinanceResponse) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getPackageDetails(assetIdentifier?: string): Observable {\n\n return this.http.get(RestEndpoint.getDetailsPackage, { params: {\n assetIdentifier\n } })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getPackages(search?: AssetsSearchInput): Observable {\n let params = new HttpParams();\n if (search) {\n for (const key of Object.keys(search)) {\n if (search[key]) {\n params = params.set(key, typeof search[key] === 'string' ? search[key] : JSON.stringify(search[key]));\n }\n }\n }\n\n return this.http.get(RestEndpoint.getPackages, { params })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getMarketTransactions(assetId?: string): Observable> {\n\n return this.http.get(RestEndpoint.markets, { params: {assetId }})\n .pipe(\n map((data: any) => {\n return data?.body;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getUserTransactions(assetId?: string): Observable {\n\n return this.http.get(RestEndpoint.getUserTransactions)\n .pipe(\n map((data: any) => {\n return data.body;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAsset(assetIdentifier?: string): Observable { // TODO: Review if it is necessary in the package.service.\n\n return this.http.get(RestEndpoint.getAsset, { params: {assetIdentifier }}) // TODO: Review RestEndpoint.getAsset in the package.service\n .pipe(\n map((data: Assets) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getHistory(assetIdentifier?: string): Observable { // TODO: Review if it is necessary in the package.service.\n\n return this.http.get(RestEndpoint.getAsset, { params: {assetIdentifier }}) // Review RestEndpoint.getAsset in the package.service\n .pipe(\n map((data: Assets) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getHttpParamsFromObject(object: any): HttpParams {\n let params = new HttpParams();\n for (const key of Object.keys(object)) {\n if (object[key]) {\n params = params.set(key, object[key]);\n }\n }\n return params;\n }\n\n public getCategories(): Observable {\n return this.http.get(RestEndpoint.getCategories, {})\n .pipe(\n map((data: Assets) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getBanners(): Observable {\n return this.http.get(RestEndpoint.getBanners, {})\n .pipe(\n map((data: Assets) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n}\n","/* (ignored) */","import { ShoppingCartItemAdapter } from './shopping-cart-item.adapter';\nimport { Injectable } from '@angular/core';\nimport { ShoppingCart } from '../../../models/shopping-cart.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShoppingCartAdapter\n{\n constructor(\n private readonly shoppingCartItemAdapter: ShoppingCartItemAdapter\n )\n {}\n\n public adapt(data: any): ShoppingCart\n {\n const shoppingCart: ShoppingCart = new ShoppingCart(\n data.id,\n data.user_id,\n data.store_id,\n data.items\n .filter((item: any) => item.quantity > 0)\n .map((item: any) => this.shoppingCartItemAdapter.adapt(item)),\n new Date(data.creation_date),\n new Date(data.last_update)\n );\n shoppingCart.store = data.store;\n\n return shoppingCart;\n }\n\n}\n","export enum IEniatoHomeSectionEnum {\n INTRODUCTION = 'introduction',\n CARD_CONTENT = 'cards-content',\n CATEGORIES = 'categories',\n CARDS = 'cards',\n CAROUSEL_BANNERS = 'carousel-banners',\n TOP_COLLECTIONS = 'top-collections',\n TOKENS_LIST = 'tokens-list'\n}","export class File\n{\n public name: string;\n public file: string | ArrayBuffer;\n public confidentiality?: FileStorageConfidentiality;\n public documentType?: FileStorageDocumentType;\n}\n\nexport enum FileStorageConfidentiality {\n PUBLIC = \"PUBLIC\",\n SECURED = \"SECURED\"\n}\n\nexport enum FileStorageDocumentType {\n PERSONAL_DOCUMENT = \"PERSONAL_DOCUMENT\",\n TRANSACTION_RECEIPT = \"TRANSACTION_RECEIPT\",\n CREDIT_LETTER = \"CREDIT_LETTER\"\n}\n\nexport interface StorageObject {\n value: {\n image: string\n }\n}\n\nexport interface StorageObjectContent {\n Body: {\n data: ArrayBuffer;\n },\n ContentType: string;\n}","import { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { map, catchError } from 'rxjs/operators';\nimport { CreateDepositModel, DepositModel } from '../../models/deposit.model';\nimport BigNumber from 'bignumber.js';\nimport { WithdrawalModel } from '../../models/withdrawal.model';\nimport { WithdrawalResponseModel } from '../../models/withdrawal-response.model';\nimport { WithdrawalRequests } from '../../models/withdrawal-requests.model';\nimport { TransactionStatus } from '../../models/transaction.status.enum';\nimport { Banks } from '../../models/banks.model';\nimport { LocalStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from '../../utils/local.storage.keys';\nimport { WithdrawalRequestsFavorites } from '../../models/WithdrawalRequestsFavorites';\n\n@Injectable({ providedIn: 'root' })\nexport class DepositsService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly localStorage: LocalStorageService\n ) {\n }\n\n public getUserDeposits(): Observable> {\n return this.http.get(RestEndpoint.getUserDeposits, {})\n .pipe(\n map((data: any) => {\n return data.body;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n\n }\n\n public getJournal(): Observable {\n return this.http.get(RestEndpoint.journal, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public createDeposit(data: CreateDepositModel): Observable {\n return this.http.post(RestEndpoint.createDepositRequest, data)\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getUserWithdrawal(from?: Date, to?: Date): Observable> {\n return this.http.get(RestEndpoint.getUserWithdrawal, { params: {\n 'from': from.getTime().toString(),\n 'to': to.getTime().toString()\n } })\n .pipe(\n map((data: any) => {\n return data.body;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getUserWithdrawalFavorites(): Observable> {\n return this.http.get(RestEndpoint.getUserWithdrawalFavorites, { params: {} })\n .pipe(\n map((data: any) => {\n return data.body;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public createWithdrawal(request: any): Observable {\n return this.http.post(RestEndpoint.createWithdrawRequest, request)\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getAllWithdrawalRequest(): Observable> {\n return this.http.get(RestEndpoint.getAllWithdrawalRequest, {})\n .pipe(\n map((data: any) => {\n return data.body;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public updateWithdrawal(id: string, status: TransactionStatus): Observable {\n return this.http.put(RestEndpoint.updateWithdrawRequest, { requestId: id, status })\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public cleanListOfBanks(): void {\n this.localStorage.remove(LocalStorageKeys.LIST_OF_BANKS);\n }\n\n public getListOfBanksCached(): Banks[] {\n const banksStorage = this.localStorage.get(LocalStorageKeys.LIST_OF_BANKS)\n if (!banksStorage){\n return new Promise(resolve=>{\n this.getListOfBanks().subscribe(data => {\n resolve(data);\n });\n }) as any;\n }\n return banksStorage;\n }\n\n public getListOfBanks(): Observable {\n return this.http.get(RestEndpoint.getListOfBanks, {})\n .pipe(\n map((data: {body: Banks[]}) => {\n this.localStorage.set(LocalStorageKeys.LIST_OF_BANKS, data.body);\n return data.body;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n}\n\n ","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../../constants/rest-endpoint.constants\";\nimport { Store } from \"../../../models/store.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StoreService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getStoreById(storeIdentifier: string): Observable {\n return this.http.get(RestEndpoint.getStore, {params: {storeIdentifier}})\n .pipe(\n map((data: Store) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormatValueService {\n\n constructor() { }\n\n /**\n * this method format the cpf and cnpj values\n * @param identifier cpf and cnpj number\n * @returns formatedIdentifier identifier value formated\n * input 11111111111 \n * output 111.111.111-11 or\n * input 11111111111111\n * output 11.111.111/1111-11\n */\n public cpfCnpjFormater(identifier: string): string {\n let formatedIdentifier: string;\n if (identifier?.length === 11){\n formatedIdentifier = identifier.slice(0,3) + \".\" + identifier.slice(3,6) + \".\" + identifier.slice(6,9) + \"-\" + identifier.slice(9,11);\n } else if (identifier?.length === 14){\n formatedIdentifier = identifier.slice(0,2) + \".\" + identifier.slice(2,5) + \".\" + identifier.slice(5,8) + \"/\" + identifier.slice(8,12) + \"-\" + identifier.slice(12,14);\n }\n return formatedIdentifier;\n }\n}","import { Component, OnDestroy, OnInit, Output, Renderer2, RendererFactory2 } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Event, NavigationStart, Router } from '@angular/router';\nimport { EventEmitter } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { forkJoin, Subject } from 'rxjs';\nimport { AccountService } from '../../services/account/account.services';\nimport { IExternalLinks } from '../../models/IExternalLinks';\nimport { ConfigReaderService } from '../../services/util/config.reader.service';\nimport { UtilService } from '../../services/util/util.service';\nimport { SidenavService } from '../../services/util/sidenav.service';\nimport { LanguagesEnum } from '../../models/languages.enum';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LocalStorageService, SessionStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from '../../utils/local.storage.keys';\nimport { SidenavItem } from '../../models/sidenav-item.enum';\nimport { InternalPagesNames } from '../../models/internal-pages-name.enum';\nimport { FeaturesStatusService } from '../../services/util/features-status.service';\nimport { FeatureNames } from '../../models/feature-names.enum';\nimport { MultiplatFormEnum } from '../../models/multplatform.enum';\nimport { environment } from 'src/environments/environment';\nimport { TranslationConstants } from '../../services/util/translation.constants';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { ReloadUserData } from '../../services/util/reload.user.data.service';\nimport { RedeemRewardModalComponent } from '../../redeem-reward-modal/redeem-reward-modal.component';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit, OnDestroy {\n\n @Output() public returnLoggedUser: EventEmitter = new EventEmitter();\n public externalLinks: IExternalLinks = undefined;\n public loading: boolean = false;\n public loggedUser: any = { firstName: '' };\n public onDestroy: any = new Subject();\n public urls: Array = [];\n public socialMedias: Array = [];\n public hideSidebarIcon: boolean = true;\n public hideMediasIcon: boolean = false;\n public fiatDepositsEnabled: boolean = false;\n public selectedLanguage: LanguagesEnum;\n public cards: Array = [];\n public loadingLoggedUser: boolean = false;\n public isKYCEnabled: boolean = false;\n public isForeignUser: boolean = false;\n public digitalBankingEnabled: boolean = false;\n public exchangeEnabled: boolean = true;\n public paymentQueueEnabled: boolean = false;\n public showHeaderBuy: boolean = false;\n public marketplaceEnabled: boolean = true;\n public tokenizationEnabled: boolean = false;\n public isMultiplatform: boolean = false;\n public currentPlatform: MultiplatFormEnum = MultiplatFormEnum.WALLET;\n public platform: typeof MultiplatFormEnum = MultiplatFormEnum;\n public eventsEnabled: boolean = false;\n public walletEnabled: boolean = false;\n public in1888Enabled: boolean = false;\n public hasMfa: boolean = true;\n public crowdfundingEnabled: boolean = false;\n public chatEnabled: boolean = false;\n public copyValue: string;\n public userKey: string = '';\n public externalDeposit: boolean = false;\n private renderer: Renderer2;\n private isDarkMode = true;\n\n constructor(\n private readonly router: Router,\n private readonly accountService: AccountService,\n private readonly myConfigReaderService: ConfigReaderService,\n private readonly rendererFactory: RendererFactory2,\n public readonly localStorage: LocalStorageService,\n private readonly featureStatusService: FeaturesStatusService,\n private readonly location: Location,\n private readonly translationConstants: TranslationConstants,\n private readonly clipboard: Clipboard,\n public sidenav: SidenavService,\n private readonly reloadUserData: ReloadUserData,\n private readonly translate: TranslateService,\n private readonly sessionStorage: SessionStorageService,\n private readonly matDialog: MatDialog\n ) {\n this.renderer = rendererFactory.createRenderer(null, null);\n let theme = this.localStorage.get('theme');\n if(theme) {\n this.isDarkMode = theme === 'dark';\n const themeClass = this.isDarkMode ? 'dark-theme' : '';\n this.renderer.setAttribute(document.body, 'class', themeClass);\n } else {\n this.isDarkMode = environment.priority === 'dark';\n const themeClass = this.isDarkMode ? 'dark-theme' : '';\n this.renderer.setAttribute(document.body, 'class', themeClass);\n }\n this.router.events.subscribe((event: Event) => {\n if (event instanceof NavigationStart) {\n this.urls.push(event.url);\n\n if (!this.loggedUser\n && this.urls[this.urls.length - 2]\n && this.urls[this.urls.length - 2].match('login')) {\n this.userLogged();\n }\n this.getCurrentPlatform(event.url);\n }\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.USER_KYC).subscribe(data => {\n if (data) {\n this.isKYCEnabled = data;\n }\n });\n }\n\n public ngOnInit(): void {\n this.loading = true;\n this.showHeaderBuy = environment.showHeaderBuy;\n this.checkTohideSidebarIcon();\n\n window.addEventListener('resize', () => {\n this.checkTohideSidebarIcon();\n });\n\n this.userLogged();\n this.loading = true;\n\n // To check if is necessary to update the user's detail info.\n setInterval(() => {\n this.reloadUserData.shouldreloadUserData$.subscribe(data => {\n if (data && !this.loadingLoggedUser) {\n this.reloadUserData.reloadUserData.next(false);\n this.userLogged();\n }\n })\n }, 1000);\n\n this.accountService.getLoggedUserDetails().subscribe(user => {\n this.userKey = user.id.substr(0, 8);\n }).add(() => {\n this.loading = false;\n });\n\n this.checkTohideSidebarIcon();\n\n window.addEventListener('resize', () => {\n this.checkTohideSidebarIcon();\n });\n\n this.myConfigReaderService.getAllExternalLinks().subscribe(contact => {\n this.copyValue = encodeURI(contact?.linkToMidas + this.userKey);\n }).add(() => {\n });\n\n\n this.featureStatusService.getFeatureStatus(FeatureNames.DIGITAL_BANKING, true).subscribe(status => {\n this.digitalBankingEnabled = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.FIAT_DEPOSITS).subscribe(status => {\n this.fiatDepositsEnabled = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.EXCHANGE).subscribe(status => {\n this.exchangeEnabled = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.IN1888_REPORT).subscribe(status => {\n this.in1888Enabled = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.MIDAS_MARKETPLACE).subscribe(status => {\n this.marketplaceEnabled = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.MIDAS_TOKENIZATION).subscribe(status => {\n this.tokenizationEnabled = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.CROWDFUNDING, true).subscribe(crowdfundingEnabled => {\n this.crowdfundingEnabled = crowdfundingEnabled;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.MIDAS_EVENTS).subscribe(status => {\n this.eventsEnabled = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.WALLET).subscribe(status => {\n this.walletEnabled = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.EXTERNAL_DEPOSIT).subscribe(status => {\n this.externalDeposit = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.CHAT).subscribe(status => {\n this.chatEnabled = status;\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.PAYMENT_QUEUE).subscribe(status => {\n this.paymentQueueEnabled = status;\n });\n\n this.selectedLanguage = this.accountService.getUserLanguage();\n this.setLanguage();\n\n forkJoin([\n this.myConfigReaderService.getAllExternalLinks()\n ]).subscribe(([externalLinks]) => {\n this.externalLinks = externalLinks;\n this.socialMedias = Object.keys(this.externalLinks?.socialMidias) || [];\n }).add(() => {\n this.mountCard();\n this.isMultiplatform = this.digitalBankingEnabled || this.exchangeEnabled || this.tokenizationEnabled || this.marketplaceEnabled;\n this.loading = false;\n });\n }\n\n public userLogged(): void {\n this.accountService.isAuthenticated(true).subscribe(success => {\n if (success) {\n this.accountService.getLoggedUserDetails().subscribe((user: any) => {\n this.isForeignUser = !user?.cpf && !user?.cnpj;\n if (user?.firstName) {\n this.loggedUser = user;\n this.loggedUser.firstName = `${this.loggedUser.firstName.charAt(0).toUpperCase() + this.loggedUser.firstName.slice(1, this.loggedUser.firstName.length)}`;\n }\n this.returnLoggedUser.emit(this.loggedUser);\n });\n\n this.accountService.verifyMFAStatus().subscribe(mfa => {\n this.hasMfa = mfa?.status;\n });\n }\n });\n }\n\n public async mountCard(): Promise {\n let cards: Array = [];\n\n if (this.isKYCEnabled) {\n cards.push({ name: InternalPagesNames.PERSONAL_DOCUMENTS })\n }\n\n if (this.fiatDepositsEnabled) {\n cards.push({ name: InternalPagesNames.PAYMENTS })\n }\n\n this.cards = cards;\n }\n\n public goHome(): void {\n if (this.currentPlatform === MultiplatFormEnum.BANKING) {\n this.router.navigate(['/digital-banking']);\n } else if (this.currentPlatform === MultiplatFormEnum.CROWDFUNDING) {\n this.router.navigate(['/tokenization/crowdfunding']);\n } else if (this.currentPlatform === MultiplatFormEnum.MARKETPLACE) {\n this.router.navigate(['/marketplace/home']);\n } else if (this.currentPlatform === MultiplatFormEnum.TOKENIZATION) {\n this.router.navigate(['/tokenization/home']);\n } else {\n this.router.navigate(['/home']);\n }\n }\n\n public async logout(): Promise {\n this.loading = true;\n this.accountService.destroySession().subscribe(() => {\n this.router.navigate(['/account/login']);\n }).add(() => {\n this.loggedUser = undefined;\n this.loading = false;\n });\n }\n\n public openPersonalDocumentsModal(): void {\n this.router.navigate(['/navigation/personal-documents'])\n }\n\n public open2fa(): void {\n this.router.navigate(['/2fa'])\n }\n\n public copyIndication(): void {\n this.clipboard.copy(this.copyValue);\n }\n\n public redeemReward(): void {\n const dialogRef = this.matDialog.open(RedeemRewardModalComponent, {});\n }\n\n public ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n\n public goToUrl(url: string): void {\n UtilService.goToUrl(url, this.externalLinks, this.router);\n }\n\n public goToDelete(): void {\n this.router.navigate(['/account/delete']);\n }\n\n /**\n * Identify the page and the screen width to display the\n * icon that will activate the Sidebar component.\n * The method is used when a new url is activated and when the screen is resized.\n */\n public checkTohideSidebarIcon(): void {\n const screenWidth: number = window.innerWidth || window.screen.width;\n const currentPath: string = this.location.path();\n\n if (screenWidth <= 768 || currentPath?.includes('external-deposit')) {\n this.hideMediasIcon = true;\n } else {\n this.hideMediasIcon = false;\n }\n\n if (!currentPath.includes('navigation')) {\n this.hideSidebarIcon = true;\n } else {\n if (screenWidth > 768) {\n } else {\n this.hideSidebarIcon = false;\n }\n }\n\n this.getCurrentPlatform(currentPath);\n }\n\n public toggleSidenav() {\n this.sidenav.toggle();\n }\n\n public setLanguage() {\n this.sessionStorage.set(LocalStorageKeys.LANGUAGE_LIST, this.selectedLanguage);\n this.translate.use(this.selectedLanguage);\n }\n\n public navigateToInternalPage(page: SidenavItem): void {\n this.router.navigate([`navigation/${page?.name}`]);\n }\n\n public navigateTo(route: string): void {\n this.router.navigate([route]);\n }\n\n public goToContact(): void {\n const contact = this.externalLinks?.contact;\n window.location.href = contact;\n }\n\n public getMainToken(): string {\n return environment.tokenExchange || '';\n }\n\n public getCurrentPlatform(url: string): void {\n if (url.includes('/digital-banking')) {\n this.currentPlatform = MultiplatFormEnum.BANKING;\n } else if (url.includes('crowdfunding')) {\n this.currentPlatform = MultiplatFormEnum.CROWDFUNDING;\n } else if (url.includes('tokenization')) {\n this.currentPlatform = MultiplatFormEnum.TOKENIZATION;\n } else if (url.includes('/exchange')) {\n this.currentPlatform = MultiplatFormEnum.EXCHANGE;\n } else if (url.includes('/marketplace')) {\n this.currentPlatform = MultiplatFormEnum.MARKETPLACE;\n } else if (url.includes('/chat')) {\n this.currentPlatform = MultiplatFormEnum.CHAT;\n } else {\n this.currentPlatform = MultiplatFormEnum.WALLET;\n }\n }\n\n toggleTheme(): void {\n this.isDarkMode = !this.isDarkMode;\n const themeClass = this.isDarkMode ? 'dark-theme' : '';\n if(this.isDarkMode) {\n this.localStorage.set('theme', 'dark');\n } else {\n this.localStorage.set('theme', 'light');\n }\n this.renderer.setAttribute(document.body, 'class', themeClass);\n }\n}\n","
\n
\n \"logo\"\n
\n\n
\n menu\n
\n\n
\n
\n
\n account_balance_wallet\n payments\n store\n swap_horiz\n assessment\n business\n forum \n
\n more_vert\n \n \n \n \n \n \n
\n

{{ 'header.contacts.socialNetworks' | translate }}

\n
\n \n
\n
\n
\n
\n\n
\n {{ 'account_circle'}}\n \n\n
\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n\n \n \n \n \n
\n
\n \n \n \n \n \n \n
\n

{{ 'header.contacts.socialNetworks' | translate }}

\n
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n {{ loggedUser?.firstName }}\n keyboard_arrow_down\n
\n
\n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { OrderBook } from '../../models/order.book.journal.dto';\nimport { RestEndpoint } from 'src/app/constants/rest-endpoint.constants';\nimport { map, catchError } from 'rxjs/operators';\n\n@Injectable()\nexport class ExchangeService {\n // TODO: remove fake\n public randomDateTime = [\n '2023/06/01 14:07:24',\n '2023/06/01 13:09:12',\n '2023/06/01 09:38:02',\n '2023/06/01 00:26:27',\n '2023/06/01 16:05:30',\n '2023/06/01 19:19:59',\n '2023/06/01 11:45:29',\n '2023/06/01 14:00:33',\n '2023/06/01 14:12:41',\n '2023/06/01 18:42:27',\n '2023/06/01 00:44:43',\n '2023/06/01 22:05:19',\n '2023/06/01 18:59:10',\n '2023/06/01 13:47:59',\n '2023/06/01 10:11:24',\n '2023/06/01 13:55:34',\n '2023/06/01 08:10:35',\n '2023/06/01 06:28:02',\n '2023/06/01 03:09:57',\n '2023/06/01 07:28:40',\n '2023/06/01 20:18:02',\n '2023/06/01 16:09:18',\n '2023/06/01 17:23:12',\n '2023/06/01 21:10:55',\n '2023/06/01 18:22:50',\n '2023/06/01 15:13:56',\n '2023/06/01 15:47:23',\n '2023/06/01 02:37:39',\n '2023/06/01 18:48:48',\n '2023/06/01 05:29:20',\n '2023/06/01 04:26:49',\n '2023/06/01 00:01:50'\n ];\n \n constructor(\n private readonly http: HttpClient,\n ) { }\n\n public getSpreadData(coinSymbol: string): Observable<{price: number, percentage: number}> {\n return of ({price: 70.24, percentage: 0.27 });\n }\n\n public getLatestTradesList(unitOfMoney: string): Observable> {\n return this.http.get(RestEndpoint.getAllUnitOrder, {params: {unitOfMoney: unitOfMoney}})\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getLatestTradesListFromKraken(unitOfMoney: string): Observable {\n return this.http.get(RestEndpoint.getKrakenOrderBook, {params: {unitOfMoney: unitOfMoney}})\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n\n public getKrakenTrades(unitOfMoney: string): Observable {\n return this.http.get(RestEndpoint.getKrakenTrades, {params: {unitOfMoney: unitOfMoney}})\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\n\n@Injectable()\nexport class SidenavService {\n private sidenav: MatSidenav;\n\n public setSidenav(sidenav: MatSidenav) {\n this.sidenav = sidenav;\n }\n\n public toggle(): void {\n this.sidenav.toggle();\n }\n\n public close(): void {\n this.sidenav.close();\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { IPaymentConfigs } from \"../../models/IPaymentConfigs\";\n\n@Injectable()\nexport class PaymentConfigsService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getPaymentConfigs(): Observable> {\n\n return this.http.get(RestEndpoint.getPaymentConfigs)\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n}","export class SessionlStorageKeys{\n public static FEATURE_AVAILABLE_BY_TOKEN: string = 'FEATURE_AVAILABLE_BY_TOKEN';\n\n public static REDEMPTIOIN_CODE_PARAM: string = 'REDEMPTIOIN_CODE_PARAM';\n}","export class LocalStorageKeys{\n public static USER_LOGGED_KEY: string = 'USER_LOGGED';\n\n public static CREATED_BANKING: string = 'CREATED_BANKING';\n\n public static FIAT_CURRENCY_KEY: string = 'FIAT_CURRENCY';\n\n //To be concatenated with feature name aftwards, leading to, for instance, FEATURE_isTokenEnabled\n public static FEATURE_STATUS: string = 'FEATURE_';\n\n public static USER_EMAIL_ENTRY: string = 'USER_EMAIL_ENTRY';\n\n public static TRANSLATABLE_TEXTS: string = 'TRANSLATABLE_TEXTS';\n\n public static ENIATO_HEADER_LINKS: string = 'ENIATO_HEADER_LINKS';\n\n public static NETWORK_LIST_SYNC: string = 'NETWORK_LIST_SYNC';\n public static NETWORK_LIST: string = 'NETWORK_LIST';\n\n public static MY_STAKED_NFTS: string = 'MY_STAKED_NFTS';\n\n public static UNIT_OF_MONEY: string = 'UNIT_OF_MONEY';\n\n public static HIDE_BALANCE: string = 'HIDE_BALANCE';\n\n\n public static HIDE_BANKING_BALANCE: string = 'HIDE_BANKING_BALANCE';\n\n public static LANGUAGE_LIST: string = 'LANGUAGE_LIST';\n\n public static LIST_OF_BANKS: string = 'LIST_OF_BANKS';\n\n public static BANK_ACCOUNT_ORDERED: string = 'BANK_ACCOUNT_ORDERED';\n\n // Used to store the id of the product that will be favorited when the user is not logged in yet\n public static FAVORITE_PRODUCT_ID: string = 'FAVORITE_PRODUCT_ID';\n\n public static SHIPPING_DATA: string = 'SHIPPING_DATA';\n\n public static CART_DETAILS: string = 'CART_DETAILS';\n}","import { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class InternalNavigationService {\n\n // Used to reload the balance in the sidebar.component.ts inside the internal navigation.\n public reloadBalance: BehaviorSubject = new BehaviorSubject(false);\n public shouldReloadBalance$: Observable = this.reloadBalance.asObservable();\n\n // Used to reload the internal navigation page when the currency is changed.\n public reloadInternalPage: BehaviorSubject = new BehaviorSubject(false);\n public shouldReloadInternalPage$: Observable = this.reloadInternalPage.asObservable();\n\n constructor() { }\n}","import { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { LocalStorageService } from 'angular-web-storage';\nimport { map, catchError } from 'rxjs/operators';\nimport { Collections, CollectionSearchInput, CollectionsSummaryResponse } from '../../models/collections';\nimport { Network } from '../../models/network.model';\nimport { CollectionStatistics, SortCollectionsStatistics } from '../../models/collection-statistics.model';\nimport { LocalStorageKeys } from '../../utils/local.storage.keys';\n\n@Injectable()\nexport class CollectionsService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly storage: LocalStorageService\n ) { }\n\n public createCollection(request: Collections): Observable {\n return this.http.post(RestEndpoint.createCollections, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public updateCollections(request: Collections): Observable {\n\n return this.http.put(RestEndpoint.updateCollections, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public deleteCollections(id: string): Observable {\n const url = RestEndpoint.deleteCollections + id;\n return this.http.delete(url)\n .pipe(\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public getCollections(search?: CollectionSearchInput): Observable {\n let params = new HttpParams();\n if (search) {\n for (const key of Object.keys(search)) {\n if (search[key]) {\n params = params.set(key, (Array.isArray(search[key]) ? search[key].join(',') : search[key]));\n }\n }\n }\n\n return this.http.get(RestEndpoint.getCollections, { params })\n .pipe(\n map((data: CollectionsSummaryResponse) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getNetworks(onlySync: boolean = false): Observable {\n let storage: string = LocalStorageKeys.NETWORK_LIST;\n if (onlySync){\n storage = LocalStorageKeys.NETWORK_LIST_SYNC;\n }\n const networkList: string = this.storage.get(storage);\n if (networkList) {\n const networkListObj: Array = JSON.parse(networkList);\n return of(networkListObj || []);\n }\n\n return this.http.get(RestEndpoint.getNetworks, { params: { onlySync }})\n .pipe(\n map((data: Network[]) => {\n this.storage.set(storage, JSON.stringify(data || []));\n return data || [];\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getCollection(collectionIdentifier: string): Observable {\n\n return this.http.get(RestEndpoint.getCollection, { params: { collectionIdentifier }})\n .pipe(\n map((data: Collections) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getMinToBuy(): Observable {\n return this.http.get(RestEndpoint.getMinToBuy)\n .pipe(\n map((data: {value: number}) => {\n return data?.value;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getSumUsedByCollection(collectionId: string): Observable {\n return this.http.get(RestEndpoint.getSumUsedByCollection, {params: {collectionId}})\n .pipe(\n map((data: {value: number}) => {\n return data?.value;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAllCollectionsStatistics(sortRule: SortCollectionsStatistics): Observable> {\n return this.http.get(RestEndpoint.getAllCollectionsStatistics, { params: { sortRule } })\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n /**\n * Returns the statistics of a single collection, given the id of the collection.\n * @param collectionIdentifier \n * @returns The statistic for given collection\n */\n public getCollectionStatistics(collectionIdentifier: string): Observable {\n return this.http.get(RestEndpoint.getCollectionStatistics, { params: { collectionIdentifier } })\n .pipe(\n map((data: CollectionStatistics) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n \n}\n","export const environment = {\n apiBaseUrl: 'API_BASE_URL',\n pageTitle: 'Tokeniza',\n isCapacitor:false,\n mockExchange: false,\n tokenIdWall: 'a',\n projectName: 'Tokeniza',\n firstRoute: '/tokenization/crowdfunding',\n graphUrl: 'a',\n showGraph: false,\n pixelId: '',\n BankingCheckout: false,\n collectionId: 'e40b9792-0b78-4a1a-b2a5-45c61e659667',\n baseUrl: 'tokeniza.com.br',\n oneSignalId: '',\n showAccountImage: false,\n tokenExchange: 'BTC',\n isKrakenIntegrationEnabled: false,\n signupExternal: false,\n signupURL: '',\n WS_ENDPOINT: \"a\",\n decimalPlaces: '1.6-6',\n decimalsPlacesBought: 6,\n mainRoute: '/tokenization/crowdfunding',\n showHeaderBuy: false,\n billNameCompany:\"Tokeniza\",\n companyName: 'Tokeniza',\n cnpj: '',\n waterMark: false,\n webService: 'ws://54.144.94.179:5000',\n priority: 'light'\n};","export enum LanguagesEnum {\n PORTUGUESE = 'pt-br',\n ENGLISH = 'en',\n}","import BigNumber from 'bignumber.js';\nimport { Injectable } from '@angular/core';\nimport { ShoppingCartItem } from '../../../models/shopping-cart-item.model';\nimport { ProductsBackend } from '../../../models/products.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShoppingCartItemAdapter\n{\n constructor(\n )\n {}\n\n public adapt(item: any): ShoppingCartItem\n {\n return new ShoppingCartItem(\n item.id,\n new ProductsBackend(item.item),\n new BigNumber(item.quantity)\n );\n }\n}\n","import { map, catchError } from 'rxjs/operators';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { StakingBalanceHistory } from '../../models/staking.balance.history';\nimport { StakingConfig } from '../../models/staking.config';\nimport { UserTransactionHistory } from '../../models/user.transaction.history';\nimport { TokensPairs } from '../../models/tokens.pairs';\nimport { ISwapCriptoToken } from '../../models/swap.model';\nimport { IOrderEvent } from '../../models/order.event';\nimport { DistributionRequestsModel } from '../../models/distribution.requests.model';\n\n@Injectable()\nexport class FinancialService {\n\n constructor(\n private readonly http: HttpClient\n ) {\n }\n\n public getJournal(unitOfMoney: string): Observable {\n\n return this.http.get(RestEndpoint.journal, {\n params: {\n unitOfMoney: unitOfMoney\n }\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public getUserStakes(unitOfMoney: string): Observable {\n return this.http.get(RestEndpoint.getUserStakes, {\n params: {\n unitOfMoney: unitOfMoney\n }\n })\n .pipe(\n map((data: StakingBalanceHistory[]) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public getStakingConfig(unitOfMoney: string): Observable {\n return this.http.get(RestEndpoint.getStakingConfig, {\n params: {\n unitOfMoney: unitOfMoney\n }\n })\n .pipe(\n map((data: StakingConfig[]) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public getAllUsersTransactionsReport(startDate: Date, endDate: Date): Observable {\n if (!startDate || !endDate) {\n throw new Error('\"startDate\" and \"endDate\" properties are mandatory');\n }\n\n return this.http.get(RestEndpoint.getMyTransactionsReport, { params: { 'startDate': startDate.getTime(), 'endDate': endDate.getTime() } })\n .pipe(\n map((data: { value: string }) => {\n if (!data.value) {\n throw new Error('Problems to retrieve the user transactions report.');\n }\n return data.value;\n }),\n catchError((err) => {\n throw (err);\n }\n )\n );\n }\n\n public getMyTransactionHistory(\n unitOfMoney: string,\n transactionFlow: string,\n periodRange: string,\n transactionId: string,\n limit: number,\n offset: number): Observable> {\n let params = new HttpParams();\n if (unitOfMoney) params = params.set('unitOfMoney', unitOfMoney);\n if (transactionFlow) params = params.set('transactionFlow', transactionFlow);\n if (periodRange) params = params.set('periodRange', periodRange);\n if (transactionId) params = params.set('transactionId', transactionId);\n params = params.set('limit', limit);\n params = params.set('offset', offset);\n\n return this.http.get(RestEndpoint.getMyTransactionHistory, { params })\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public getAllowedStartDateTransactionsReport(): Observable {\n\n return this.http.get(RestEndpoint.getAllowedStartDateTransactionsReport)\n .pipe(\n map((data: { value: string }) => {\n return data.value;\n }),\n catchError((err) => {\n throw (err);\n }\n )\n );\n }\n\n public getAllSwapPairs(): Observable {\n return this.http.get(RestEndpoint.getAllSwapPairs)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAllSwapCriptoToken(): Observable<{ tokensPairs: TokensPairs[], swapCriptos: ISwapCriptoToken[] }> {\n return this.http.get(RestEndpoint.getAllSwapCriptoToken)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public checkoutSwap(order: IOrderEvent): Observable {\n return this.http.post(RestEndpoint.performSwap, order);\n }\n\n public createCheckout(order: IOrderEvent): Observable {\n return this.http.post(\n RestEndpoint.createCheckout, order\n )\n .pipe(\n map((result) => {\n return result;\n }),\n catchError((err) => {\n throw ('Failed');\n })\n );\n }\n\n public realizeExternalDeposit(depositData: any): Observable {\n return this.http.post(RestEndpoint.externalDeposit, depositData)\n .pipe(\n map((result) => {\n return result?.data;\n }),\n catchError((err) => {\n throw ('Failed');\n })\n );\n }\n\n public getLimitTransaction(): Observable {\n return this.http.get(RestEndpoint.getLimitTransaction)\n .pipe(\n map((data: {value: number}) => {\n return data?.value;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getHashTransaction(transactionId: string, userId: string): Observable {\n return this.http.get(RestEndpoint.getHashTransaction, {\n params: {\n 'transactionId': transactionId,\n 'userId': userId\n }\n }).pipe(\n map((data: {value: string}) => {\n return data?.value;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getDistributionsByAssetId(assetId: string): Observable {\n return this.http.get(RestEndpoint.getDistributionsByAssetId, { params: { assetId: assetId } })\n .pipe(\n map((data: DistributionRequestsModel[]) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { SessionStorageService } from 'angular-web-storage';\nimport { Observable } from 'rxjs';\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\nimport { LocalStorageKeys } from './shared/utils/local.storage.keys';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppService {\n\n public previousUrl: string = '';\n private currentUrl: BehaviorSubject = new BehaviorSubject('');\n private showBalance: BehaviorSubject = new BehaviorSubject(false);\n private newWalletBrazilian: BehaviorSubject = new BehaviorSubject(false);\n\n constructor(\n private readonly sessionStorage: SessionStorageService\n ) {\n const showBalance: boolean = this.sessionStorage.get(LocalStorageKeys.HIDE_BANKING_BALANCE);\n this.showBalance.next(showBalance);\n }\n\n public setCurrentUrl(url: string): void {\n this.previousUrl = this.currentUrl.getValue();\n this.currentUrl.next(url);\n }\n\n public getCurrentUrl(): Observable {\n return this.currentUrl.asObservable();\n }\n\n public setNewWalletBrazilianSubscription(value: boolean): void {\n this.newWalletBrazilian.next(value);\n }\n\n public getNewWalletBrazilianSubscription(): Observable {\n return this.newWalletBrazilian.asObservable();\n }\n\n public getPreviousUrl(): string {\n return this.previousUrl;\n }\n\n public getShowBalance(): Observable {\n return this.showBalance.asObservable();\n }\n\n public toggleHideBalance(): void {\n const showBalance: boolean = this.showBalance.getValue();\n this.showBalance.next(!showBalance);\n this.sessionStorage.set(LocalStorageKeys.HIDE_BANKING_BALANCE, !showBalance);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../../constants/rest-endpoint.constants\";\nimport { Parameter } from \"../../../models/parameter.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FlexibleCharacteristicsService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n \n public getParameters(): Observable> {\n return this.http.get(RestEndpoint.getAllParameters, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n}","export enum SnackBarTheme {\n error = 'error',\n success = 'success',\n default = 'default'\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../../constants/rest-endpoint.constants\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderService {\n\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getOrders(): Observable> {\n return this.http.get(RestEndpoint.getAllOrders, {params: { kairosRequest: 'true'}})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getOrderById(id: number): Observable {\n return of(undefined);\n }\n\n public changeOrderStatus(parameter: {id: string, status: string}): Observable {\n return this.http.post(RestEndpoint.changeOrderStatus, parameter)\n .pipe(\n map((templateId: string) => {\n return true;\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { IContactDetails } from \"../../models/IContactDetails\";\nimport { IDigitalBankingConfigs, IBankingFeaturesControlResponse } from \"../../models/IDigitalBankingConfigs\";\nimport { IExternalLinks } from \"../../models/IExternalLinks\";\nimport { IPaymentScripts } from \"../../models/IPaymentScripts\";\nimport { ITransferDetails } from \"../../models/ITransferDetails\";\nimport { BankingAccountFeatures } from 'src/app/shared/models/BankingAccount';\nimport { IStorageParameters } from \"../../models/IStorageParameters\";\nimport { IKairosConfig } from \"../../models/IKairosConfig\";\nimport { IEniatoConfig } from \"../../models/IEniatoConfig\";\nimport { IConfigForIN1888 } from \"../../models/IConfigForIN1888\";\n\n@Injectable()\nexport class ConfigReaderService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getEniatoConfigs(): Observable {\n\n return this.http.get(RestEndpoint.getEniatoConfig)\n .pipe(\n map((data: IEniatoConfig) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getUserLocation(): Observable {\n return this.http.get('https://geolocation-db.com/json/')\n .pipe(\n catchError(err => {\n throw (err);\n }),\n map(response => {\n return response;\n })\n )\n\n }\n\n public getAllExternalLinks(): Observable {\n\n return this.http.get(RestEndpoint.getExternalLinks)\n .pipe(\n map((data: IExternalLinks) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getKairosConfig(): Observable {\n return this.http.get(RestEndpoint.getKairosConfig)\n .pipe(\n map((data: IKairosConfig) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getContactDetails(): Observable {\n\n return this.http.get(RestEndpoint.getContactDetails)\n .pipe(\n map((data: IContactDetails) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getTransferDetails(): Observable {\n\n return this.http.get(RestEndpoint.getTransferDetails)\n .pipe(\n map((data: ITransferDetails) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getPaymentScripts(): Observable {\n\n return this.http.get(RestEndpoint.getExternalLinks)\n .pipe(\n map((data: IPaymentScripts) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getDigitalBankingConfigs(): Observable {\n\n return this.http.get(RestEndpoint.getDigitalBankingConfigs)\n .pipe(\n map((data: IDigitalBankingConfigs) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getConfigForIN1888(): Observable {\n\n return this.http.get(RestEndpoint.getConfigForIN1888)\n .pipe(\n map((data: IConfigForIN1888) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getImageStorageParameters(): Observable {\n return this.http.get(RestEndpoint.getImageStorageParameters)\n .pipe(\n map((res: { data: IStorageParameters }) => {\n return res.data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getDigitalBankingFeatureAvailability(featureName: BankingAccountFeatures): Observable {\n\n return this.http.get(RestEndpoint.getDigitalBankingFeatureAvailability, {\n params: { 'featureName': featureName }\n })\n .pipe(\n map((res: { data: IBankingFeaturesControlResponse }) => {\n res.data.featureConfig.featureName = featureName;\n return res.data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackBarTheme } from '../../models/snackbar-theme.enum';\nimport { Snackbar } from 'src/app/constants/snackbar.constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SnackbarService {\n constructor(\n public snackBar: MatSnackBar\n ) { }\n\n public openSnackBar(message: string, theme: SnackBarTheme, duration?: number): void {\n let themeNew: string;\n if (theme === SnackBarTheme.error) {\n themeNew = 'error_new';\n } else if (theme === SnackBarTheme.success) {\n themeNew = 'success_new';\n } else {\n themeNew = 'default_new';\n }\n\n this.snackBar.open(message, 'X', {\n duration: duration || Snackbar.DEFAULT_DURATION,\n panelClass: [themeNew]\n });\n }\n}","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { AccountService } from '../shared/services/account/account.services';\nimport { SessionStorageService } from 'angular-web-storage';\nimport { SessionlStorageKeys } from '../shared/utils/session.storage.keys';\n\n/**\n * Block some route if is not logged\n */\n@Injectable()\nexport class AuthGuardService implements CanActivate\n{\n constructor(\n private readonly accountService: AccountService,\n private readonly router: Router,\n private readonly sessionStorage: SessionStorageService\n )\n { }\n\n /**\n * Security guard for some routes\n * Changed the method so that it is asynchronous, since before it was allowing the display of the page before having the Subscribe result\n */\n public async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n return new Promise((resolve) => {\n const module: string = route.data.module as string;\n\n if (module){\n this.accountService.checkPermission(module).subscribe(success => {\n if (success){\n return true;\n }else{\n void this.router.navigate(['/home']);\n return false;\n }\n })\n }\n\n this.accountService.isAuthenticated().subscribe(authentication => {\n if(authentication) {\n return resolve(true);\n } else {\n this.router.navigate(['/account/login']);\n\n const redemptionCodeParam = route.queryParams['redemptionCode'];\n if (redemptionCodeParam) {\n this.sessionStorage.set(SessionlStorageKeys.REDEMPTIOIN_CODE_PARAM, redemptionCodeParam);\n }\n\n return resolve(false);\n }\n });\n })\n }\n}\n","import { ShoppingCartItem } from './shopping-cart-item.model';\nimport { Store } from './store.model';\n\nexport class ShoppingCart\n{\n public store?: Store;\n\n constructor(\n public id: string,\n public userId: string,\n public storeId: string,\n public items: Array,\n public creationDate?: Date,\n public lastUpdate?: Date,\n public totalAmount?: number,\n public tokenAmount?: number,\n public shippingAmount?: number\n )\n {}\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { LocalStorageService } from \"angular-web-storage\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { FeatureNames } from \"../../models/feature-names.enum\";\nimport { LocalStorageKeys } from \"../../utils/local.storage.keys\";\n\n@Injectable()\nexport class FeaturesStatusService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly storage: LocalStorageService\n ) { }\n\n public getFeatureStatus(featureName: FeatureNames, forceLoad: boolean = false): Observable {\n if (this.storage.get(LocalStorageKeys.FEATURE_STATUS + featureName)){\n return of(this.storage.get(LocalStorageKeys.FEATURE_STATUS + featureName));\n }\n\n return this.http.get(RestEndpoint.getFeatureStatus, {\n params: {'featureName': featureName}\n })\n .pipe(\n map((data: {value: boolean}) => {\n this.storage.set(LocalStorageKeys.FEATURE_STATUS + featureName, data?.value);\n return data?.value;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getAllFeatureStatus(): Observable {\n return this.http.get(RestEndpoint.getAllFeatureStatus)\n .pipe(\n map((data) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n}","import { Assets } from \"./IAssets.model\";\nimport { ICustomerNFTs } from \"./ICustomerNFTs\";\n\nexport enum UNIT_OF_TIME{\n D = 'D',\n M = 'M'\n}\n\nexport class NFTStakingConfig{\n public id: string;\n public title: string;\n public staking_length: number;\n public unit_of_time: UNIT_OF_TIME;\n public quantity_reward: number;\n public quantity_user_has: number;\n public enabled: boolean;\n public nft_pools?: NFTStakingPool[];\n public estimated_end_date?: Date;\n public user_has?: boolean;\n constructor (object: NFTStakingConfig){\n Object.assign(this, object);\n }\n}\n\nexport class NFTStakingConfigSearch{\n public userId?: string;\n public assetId?: string;\n constructor (object?: NFTStakingConfigSearch){\n if (object){\n Object.assign(this, object);\n }\n }\n}\n\nexport class NFTStakingPool{\n public id: string;\n public config_id: string;\n public asset_id: string;\n public enabled: boolean;\n public configs: NFTStakingConfig;\n public asset_detail: Assets;\n}\n\nexport class NFTStakingPoolSearch{\n public config_id: string;\n public asset_id?: string;\n}\n\nexport class StakedNFT{\n public application: NFTStakingApplication;\n public config: NFTStakingConfig;\n public progress: number;\n constructor(object?: NFTStakingApplication){\n if (object){\n Object.assign(this, object);\n }\n }\n}\n\nexport class NFTStakingApplication{\n public id: string;\n public nft_id: string;\n public config_id: string;\n public customer_id: string;\n public start_date: Date;\n public end_date: Date;\n public early_leave: boolean;\n public leave_date?: Date;\n public reward_provided: boolean;\n public nft_details?: ICustomerNFTs;\n public config?: NFTStakingConfig\n constructor (object?: NFTStakingApplication){\n if (object){\n Object.assign(this, object);\n }\n }\n}\n\nexport class NFTStakingApplicationCreate{\n public nft_id: string;\n public config_id: string;\n public customer_id: string;\n public start_date: Date;\n public end_date: Date;\n constructor(object: NFTStakingApplicationCreate){\n Object.assign(this, object);\n }\n}\n\nexport class NFTStakingApplicationRemove{\n public application_id: string;\n public customer_id: string;\n constructor(object: NFTStakingApplicationRemove){\n Object.assign(this, object);\n }\n}\n\nexport class NFTStakingSummary{\n public stakedNFTs: number;\n public availablesForStaking: number;\n}\n\nexport class AvailableNFTsReport{\n public nft_details:ICustomerNFTs;\n public campaing_details: NFTStakingConfig[];\n}\n\nexport class NFTStakingApplicationRewards{\n public id: string;\n public appl_id: string;\n public nft_id: string;\n public paid_at: Date;\n}\n\nexport class FinalizedStakingApplication {\n public campaign_name: string;\n public staking_length: number;\n public unit_of_time: UNIT_OF_TIME;\n public end_date: Date;\n}","export enum InternalPagesNames {\n RECEIVE = 'receive',\n TRANSFER = 'transfer',\n HISTORY = 'history',\n FRIENDS = 'friends',\n BUYTOKEN = 'buy-token',\n INDICATIONS = 'indications',\n STAKE = 'stake',\n WITHDRAWAL = 'withdrawal',\n NFTS = 'nfts',\n HELP = 'help',\n NEGOTIATE = 'negotiate',\n ECOSYSTEM = 'ecosystem',\n OTHERS = 'others',\n SELL = 'sell',\n PAYMENTS = 'my-payments',\n PERSONAL_DOCUMENTS = 'personal-documents',\n ESCROW = 'escrow',\n INVOICE = 'invoice',\n BASIC_TRADING = 'purchase-and-sale',\n}","import { Injector } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { LOCATION_INITIALIZED } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n\nexport function ApplicationInitializerFactory(\n translate: TranslateService, injector: Injector) {\n return async () => {\n await injector.get(LOCATION_INITIALIZED, Promise.resolve(null));\n\n translate.addLangs(['en', 'fr', 'pt-br', 'eninternal', 'pt-brinternal']);\n translate.setDefaultLang('pt-br');\n\n const browserLang = translate.getBrowserLang();\n\n if (browserLang.match(/pt/)) {\n try {\n await translate.use('pt-br').toPromise();\n } catch (err) {\n console.log(err);\n }\n } else {\n try {\n await translate.use('en').toPromise();\n } catch (err) {\n console.log(err);\n }\n }\n };\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ShareLinkService {\n constructor() { }\n \n /**\n * Method used to open share via whatsapp\n * @param message Message to be sent next to the link of the current page.\n */\n public shareWhatsapp(message: string, shareLink: boolean = true, linkToShare?: string): void {\n const shareableLink = linkToShare ? linkToShare : window.location.href;\n\n const finalText: string = shareLink ? `${message} ${encodeURI(shareableLink)}` : message;\n const link = `https://wa.me/?text=${encodeURIComponent(finalText)}`;\n\n if (navigator.userAgent.match(/iPhone|Android/i)) {\n window.open(`whatsapp://send?text=${encodeURIComponent(finalText)}`, 'whatsapp-share');\n } else {\n window.open(link, 'whatsapp-share');\n }\n }\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Assets } from 'src/app/shared/models/IAssets.model';\nimport { SnackBarTheme } from 'src/app/shared/models/snackbar-theme.enum';\nimport { AssetsService } from 'src/app/shared/services/account/asset.services';\nimport { TranslationConstants } from 'src/app/shared/services/util/translation.constants';\nimport { SnackbarComponent } from 'src/app/shared/snackbar/snackbar.component';\nimport { EthUtils } from 'src/app/shared/utils/eth.utils';\n\n@Component({\n selector: 'app-modal-send',\n templateUrl: './modal-send.component.html',\n styleUrls: ['./modal-send.component.scss']\n})\nexport class ModalSendComponent implements OnInit {\n\n public loading: boolean;\n public assetId: string = '';\n public nftId: string = '';\n public blockchainId: string = '';\n public walletNumber: string = '';\n public asset: Assets;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {asset: Assets},\n private readonly dialogRef: MatDialogRef,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly assetsService: AssetsService,\n private readonly translationConstants: TranslationConstants\n ) { }\n\n public ngOnInit(): void {\n if (this.data) {\n this.assetId = this.data.asset.id;\n this.nftId = this.data.asset.nftId;\n this.blockchainId = this.data.asset.blockchainId;\n this.asset = new Assets(this.data.asset);\n }\n }\n\n public getMainPhoto(asset: Assets): string {\n return this.assetsService.getAssetMainPhoto(asset);\n }\n\n public close(): void {\n this.dialogRef.close();\n }\n\n public validateWalletFormat(): boolean{\n return EthUtils.checkAddress(this.walletNumber);\n }\n\n public sendAsset(): void {\n this.loading = true;\n this.assetsService.sendNft({\n assetId: this.assetId,\n customerIdToTransferTo: this.walletNumber,\n unitOfMoney: this.assetId,\n nftId: this.nftId,\n blockchainId: this.blockchainId\n }).subscribe(success => {\n if (success?.result === 'error') {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modal.sendError'), SnackBarTheme.error, 4000);\n } else {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modal.sendSuccess'), SnackBarTheme.success, 4000);\n this.dialogRef.close(true);\n }\n }, error => {\n if(error?.error?.message?.includes('find the destiny user')) {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modal.user'), SnackBarTheme.error, 4000);\n } else {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modal.sendError'), SnackBarTheme.error, 4000);\n }\n\n }).add(() => {\n this.loading = false;\n })\n }\n}\n","
\n
\n

{{ 'myAssets.modal.title' | translate }}

\n close\n
\n\n
\n \n
\n

{{ asset?.name }}

\n

{{ 'myAssets.id' | translate }} {{ asset?.blockchainId }}

\n
\n
\n\n \n
\n \n
\n \n\n
\n \n \n
\n \n
","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\n/**\n * Axia Melhor Envio service\n */\n@Injectable()\nexport class MelhorEnvioService {\n\n public url: string = 'https://sandbox.melhorenvio.com.br';\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n\n public getQuotation(from: string, to: string, height: number, width: number, length: number, weight: number): Observable {\n return this.http.post(`${this.url}/api/v2/me/shipment/calculate`, {\n \"from\": {\n \"postal_code\": from\n },\n \"to\": {\n \"postal_code\": to\n },\n \"package\": {\n \"height\": height,\n \"width\":width,\n \"length\":length,\n \"weight\": weight\n }\n },\n {\n headers: {\n 'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjBiNjYzNjMzNTE3OGU3MDVjZTk0OWI0NTc1NDliYWQwNTI5NzZiZjc0NzE1YjZlMThlNGY2NDhmZmY4NDFjNmM4NzUxMWRiOWFhMGQ1YmQzIn0.eyJhdWQiOiI5NTYiLCJqdGkiOiIwYjY2MzYzMzUxNzhlNzA1Y2U5NDliNDU3NTQ5YmFkMDUyOTc2YmY3NDcxNWI2ZTE4ZTRmNjQ4ZmZmODQxYzZjODc1MTFkYjlhYTBkNWJkMyIsImlhdCI6MTYyOTcyMDY2MCwibmJmIjoxNjI5NzIwNjYwLCJleHAiOjE2NjEyNTY2NjAsInN1YiI6IjBjZjRjY2E3LTE3Y2EtNGE5YS04N2Q2LWE5YTNkYmExMmYyYyIsInNjb3BlcyI6WyJjYXJ0LXJlYWQiLCJjYXJ0LXdyaXRlIiwiY29tcGFuaWVzLXJlYWQiLCJjb21wYW5pZXMtd3JpdGUiLCJjb3Vwb25zLXJlYWQiLCJjb3Vwb25zLXdyaXRlIiwibm90aWZpY2F0aW9ucy1yZWFkIiwib3JkZXJzLXJlYWQiLCJwcm9kdWN0cy1yZWFkIiwicHJvZHVjdHMtZGVzdHJveSIsInByb2R1Y3RzLXdyaXRlIiwicHVyY2hhc2VzLXJlYWQiLCJzaGlwcGluZy1jYWxjdWxhdGUiLCJzaGlwcGluZy1jYW5jZWwiLCJzaGlwcGluZy1jaGVja291dCIsInNoaXBwaW5nLWNvbXBhbmllcyIsInNoaXBwaW5nLWdlbmVyYXRlIiwic2hpcHBpbmctcHJldmlldyIsInNoaXBwaW5nLXByaW50Iiwic2hpcHBpbmctc2hhcmUiLCJzaGlwcGluZy10cmFja2luZyIsImVjb21tZXJjZS1zaGlwcGluZyIsInRyYW5zYWN0aW9ucy1yZWFkIiwidXNlcnMtcmVhZCIsInVzZXJzLXdyaXRlIiwid2ViaG9va3MtcmVhZCIsIndlYmhvb2tzLXdyaXRlIl19.EtO0syHFXdWDgD0vI4c9Ld0hP0fB_DBV_hS9uCgY1ybeXwnC7Gl_zqAFLvH_YIEuddf3b2Gta4RcKdEFT39zZN2REUFZtQNWelJMW6uQD7JyRQBoV8ERGDY-aojZroBvZ65ynO4QbfJwC4C9lC4ncThoxeQvY-KaCuUI9-RKCbzhXdrH5iNtLeIRXn1eazOq6b7M1jIYbU6Q7APwYu1OukSFmPGuiZYc7HYR2wImIsX_h3S3EgPMB3Gj0yeFLoZ4TRi2r5LP2FCol-d_kAQfWPZr-X4eXEY-2VKhzighWkRlrmUxctm6HqvbEJxgdKrD84E0taTwA7qWkx6rhkx6tRDi52e8agghMd9AlDwWliYDfMmfxRTWI_uK0onqsolJR4jwqf7lYB2WZ56tuf8nXoOZ-7afNQooTx7MXUxQzg5LxlwotEhRz745gt6WNv9jFIhlqcKfJNv99huGItFWrk9wgmRO2r3yVRe5-hZE5PblLIwRUUac_YZh7t3VE_9_w3e-JVjp1-8b_-FQfbbOk72HH48--j9CwHliDljir0YUE-ohDL5_FtI7OOvPkwR9tG-7q0SwnGVDovu4kzqKPAeKO7yYx-V91kVnjGOaj1ZUC8bmZnvia8nT9gas8BjiEEdvJUh3wUnP1X8pFW6P6L9PV1gpDiPN62S7kfsd_hw',\n 'User-Agent': 'Aplicação mateus@axiadigitalsolutions.com',\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n }\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { countries } from 'src/app/constants/countries.constants';\n\n@Injectable()\nexport class NationalityService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getAll(): Array {\n const nationalityList: Array = countries.map((item: any) => {\n return {\n name: item.name?.common,\n idd: item.idd?.root && item.idd?.suffixes[0] ? item.idd.root + item.idd.suffixes[0] : ''\n }\n })\n return nationalityList.sort((a, b) => {\n return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;\n });\n }\n}\n\nexport interface INationality {\n idd: any;\n name: string;\n}","import { Injectable } from '@angular/core';\nimport { MatPaginatorIntl } from '@angular/material/paginator';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TranslationConstants } from './translation.constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaginatorTranslationService extends MatPaginatorIntl {\n\n constructor (\n private translate: TranslateService,\n private readonly translationConstants: TranslationConstants,\n\n ) {\n super();\n\n this.translate.onLangChange.subscribe((e: Event) => {\n this.initTranslations();\n });\n\n this.initTranslations();\n }\n\n public getRangeLabel = (page: number, pageSize: number, length: number): string => {\n const preposition: string = this.translationConstants.translate('paginator.of');\n if (length === 0 || pageSize === 0) {\n return `0 / ${length}`;\n }\n\n length = Math.max(length, 0);\n\n const startIndex: number = page * pageSize;\n const endIndex: number = startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} ${preposition} ${length}`;\n };\n\n public initTranslations(): void {\n this.itemsPerPageLabel = this.translationConstants.translate('paginator.itemsPerPage');\n this.nextPageLabel = this.translationConstants.translate('paginator.nextPage');\n this.previousPageLabel = this.translationConstants.translate('paginator.previousPage');\n this.firstPageLabel = this.translationConstants.translate('paginator.firstPage');\n this.lastPageLabel = this.translationConstants.translate('paginator.lastPage');\n\n this.changes.next();\n }\n}\n","export const Snackbar = {\n DEFAULT_DURATION: 2000\n};\n","import { map, catchError } from 'rxjs/operators';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { EscrowRequestsDto } from '../../models/escrow.requets';\n\n@Injectable()\nexport class CorporateEscrowService {\n\n constructor(\n private readonly http: HttpClient\n ) {\n }\n\n public createCorporateEscrow(escrowRequest: EscrowRequestsDto): Observable {\n\n return this.http.post(RestEndpoint.createCorporateEscrow, escrowRequest)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public getEscrows(): Observable {\n\n return this.http.get(RestEndpoint.getCorporateEscrows)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public getEscrow(escrowId: string): Observable {\n\n return this.http.get(RestEndpoint.getCorporateEscrow, {params: {escrowId: escrowId}})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public deleteEscrow(escrowId: string): Observable {\n\n return this.http.post(RestEndpoint.deleteEscrow, {\n id: escrowId\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public updateEscrow(escrow: any): Observable {\n\n return this.http.post(RestEndpoint.updateCorporateEscrow, escrow)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n}","/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n * AXIA CONFIDENTIAL *\n * ------------------ *\n * *\n * This file, project or its parts can not be copied and/or distributed without *\n * the express permission of Axia Digital Solutions LTDA. *\n * *\n * Project: eniato *\n * @file: IAssets.model.ts *\n * @Date: Wednesday, 17th February 2021 *\n * @author: Nayara Goulart (nayara.goulart@axiadigitalsolutions.com) *\n * ---- *\n * Last Modified: Wednesday, 17th February 2021 *\n * Modified By: Nayara Goulart (nayara.goulart@axiadigitalsolutions.com) *\n * ---- *\n * Copyright (C) 2020 Axia Digital Solutions LTDA - All Rights Reserved. *\n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */\n\nimport { Address } from './IAddress.model';\nimport { IAssetsTokens } from './IAssetsTokens.model';\nimport { Modes } from './modes.enum';\nimport { Photo } from './photo.model';\nimport { Statuses } from './statuses.enum';\nimport { BigNumber } from 'bignumber.js';\nimport { NFTStakingApplicationRewards } from './INFTStaking';\nimport { Collections } from './collections';\nimport { AuctionModel } from './auction.model';\n\nexport class PaymentTypes {\n public unitOfMoney: string;\n public percentage: number;\n}\n\nexport class Assets {\n public id: string;\n public address: Address;\n public name: string;\n public allow_split?: boolean;\n public short_name?: string; // When its a NFT Package\n public description: string;\n public mode: Modes;\n public quantity?: number;\n public status: Statuses;\n public category_id?: string;\n public block_liquidity_option?: boolean;\n public is_distribuition_fiat?: boolean;\n public disabled: Date;\n public mobiled: boolean;\n public vacancies: number;\n public type?: string = 'NFT';\n public contract: string;\n public bedrooms: number;\n public block_resell?: boolean;\n public enabled?: boolean;\n public bathrooms: number;\n public area: number;\n public acceptBnb?: boolean;\n public bnbPrice?: BigNumber;\n public acceptCoin?: boolean;\n public coinPrice?: BigNumber;\n public minimumToBuy?: number;\n public maxToBuy?: number;\n public bothMandatory?: boolean;\n public constructedArea: number;\n public photos: Array;\n public url?: string;\n public when: Date;\n public generatedTokens: BigNumber;\n public characteristics?: Array = [];\n public category?: any;\n public price: BigNumber;\n public external_link?: string;\n public skipPrice?: boolean;\n public nft_package_type?: string;\n public payment_types?: PaymentTypes[] = [];\n public only_package?: boolean;\n public token?: IAssetsTokens;\n public wallets_commission: Array<{id: string, commission: number}> = [];\n public resale?: AssetResaleData;\n public nftId?: string;\n public blockchainId?: string;\n public reward_details?: NFTStakingApplicationRewards;\n public on_staking?: boolean;\n public is_reward_prize?: boolean;\n public collection: Collections;\n public onAuction?: boolean;\n public collection_id?: string;\n public availableTokens: BigNumber;\n public auction?: AuctionModel;\n public auctionTimeExpiration?: string; // Used in frontend to display the time expiration.\n public onResell?: boolean;\n public originalPrice?: BigNumber;\n public taxType?: string;\n public transactionTax?: number;\n public projectUrl?: string;\n public projectDescription?: string;\n public projectCustomHtml?: string;\n\n public getCorrectPrice(): number{\n if (this.resale?.onResale){\n return new BigNumber(this.resale.resaleValue).toNumber();\n }\n return new BigNumber(this.price).toNumber();\n }\n\n constructor (object?: Assets){\n if (object){\n Object.assign(this, object);\n }\n }\n}\n\nexport class ResellAsset {\n public nftId: string;\n public only_for_customer: string;\n public resellValue: BigNumber;\n}\n\nexport class AssetResaleData {\n public onResale: boolean;\n public resaleValue: BigNumber;\n public sellerName?: string;\n public sellerId?: string;\n public publicWalletKey?: string;\n}\n\nexport class ProductCharacteristics {\n public key: string;\n public value: string;\n public isEditing?: boolean; // Used only in Frontend\n}","/**\n * This regex checks if the wallet format entered by the user matches the format of an Ethereum wallet.\n */\nexport class EthUtils {\n public static checkAddress(address: string): boolean {\n if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) {\n // Check if it has the basic requirements of an address\n return false;\n }\n return true;\n }\n}","import { Component } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackBarTheme } from '../models/snackbar-theme.enum';\nimport { Snackbar } from '../../constants/snackbar.constants';\n\n@Component({\n selector: 'app-snackbar',\n templateUrl: './snackbar.component.html'\n})\nexport class SnackbarComponent {\n constructor(\n public snackBar: MatSnackBar\n ) { }\n\n public openSnackBar(message: string, theme: SnackBarTheme, duration?: number): void {\n let themeNew: string;\n if (theme === SnackBarTheme.error) {\n themeNew = 'error_new';\n } else if (theme === SnackBarTheme.success) {\n themeNew = 'success_new';\n } else {\n themeNew = 'default_new';\n }\n\n this.snackBar.open(message, 'X', {\n duration: duration || Snackbar.DEFAULT_DURATION,\n panelClass: [themeNew]\n });\n }\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport BigNumber from 'bignumber.js';\nimport { Assets } from 'src/app/shared/models/IAssets.model';\nimport { IFiatCurrency } from 'src/app/shared/models/IFiatCurrency';\nimport { SnackBarTheme } from 'src/app/shared/models/snackbar-theme.enum';\nimport { AccountService } from 'src/app/shared/services/account/account.services';\nimport { AssetsService } from 'src/app/shared/services/account/asset.services';\nimport { OnkeypressService } from 'src/app/shared/services/util/onkeypress.service';\nimport { TranslationConstants } from 'src/app/shared/services/util/translation.constants';\nimport { ValueConverterService } from 'src/app/shared/services/util/value-converter.service';\nimport { SnackbarComponent } from 'src/app/shared/snackbar/snackbar.component';\n\n@Component({\n selector: 'app-modal-split',\n templateUrl: './modal-split.component.html',\n styleUrls: ['./modal-split.component.scss']\n})\nexport class ModalSplitComponent implements OnInit {\n\n public loading: boolean = false;\n public asset: Assets;\n public minimumPrice: number = 0;\n public deadLine: Date = new Date(new Date().setDate(new Date().getDate() + 1)); // Tomorrow.\n public fiatCurrency: IFiatCurrency = new IFiatCurrency();\n public parts: {amount: number}[] = []\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: { asset: Assets },\n private readonly dialogRef: MatDialogRef,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly accountService: AccountService,\n private readonly assetsService: AssetsService,\n private readonly keypressService: OnkeypressService,\n public readonly valueConverterService: ValueConverterService,\n private readonly translationConstants: TranslationConstants\n ) { }\n\n public ngOnInit(): void {\n this.initData();\n }\n\n public newParts(): void {\n this.parts = [];\n for(let i = 0; i < this.minimumPrice; i ++) {\n this.parts.push(Object.assign({}));\n }\n }\n\n public initData(): void {\n if (this.data?.asset) {\n this.fiatCurrency = this.accountService.getFiatCurrency();\n this.asset = new Assets(this.data.asset);\n } else {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modalAuction.snackbar.error'), SnackBarTheme.success, 4000);\n this.closeModal();\n }\n }\n\n public getMainPhoto(asset: Assets): string {\n return this.assetsService.getAssetMainPhoto(asset);\n }\n\n public closeModal(): void {\n this.dialogRef.close();\n }\n\n public performTransaction(): void {\n this.loading = true;\n\n this.assetsService.createSplit(this.asset.nftId, this.parts).subscribe(success => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modalSplit.snackbar.success'), SnackBarTheme.success, 4000);\n }, error => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modalSplit.snackbar.error'), SnackBarTheme.error, 4000);\n }).add(() => {\n this.loading = false;\n this.dialogRef.close(true);\n });\n }\n\n public onKeyPressEvent(event: any): void {\n this.keypressService.onlyAllowNumbers(event, false, 20);\n }\n\n public checkValue(): boolean {\n const value = this.minimumPrice;\n const valueOriginal = this.asset.price;\n\n let tempAmount = new BigNumber(0);\n for(let part of this.parts) {\n tempAmount = new BigNumber(part.amount).plus(tempAmount);\n }\n\n if (value > 0 && this.parts?.length >= 2 && new BigNumber(valueOriginal).isEqualTo(tempAmount)) {\n return false;\n } else {\n return true;\n }\n }\n\n public dateFilter = (date: Date | null): boolean => {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n return date ? date > today : false;\n }\n}\n","
\n
\n

{{ 'myAssets.modalSplit.title' | translate }}

\n close\n
\n \n
\n \n
\n

{{ asset?.name }}

\n

{{ 'myAssets.id' | translate }} {{ asset?.blockchainId }}

\n

0\">{{ 'productDetails.bidvalue' | translate }}: {{ asset?.price }}

\n
\n
\n\n \n
\n \n
\n\n
\n \n
\n \n
\n
\n\n
\n \n \n
\n \n
","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { CategoryItem } from \"../../models/category-item.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CategoriesService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n\n public getCategories(): Observable> {\n return this.http.get(RestEndpoint.getAllCategories, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public saveCategory(categoryItem: CategoryItem): Observable {\n return this.http.put(RestEndpoint.updateCategories, categoryItem)\n .pipe(\n map((templateId: string) => {\n if(templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createCategory(categoryItem: CategoryItem): Observable {\n return this.http.post(RestEndpoint.createCategory, categoryItem)\n .pipe(\n map((templateId: string) => {\n if(templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public deleteCategory(id: string): Observable {\n const url = RestEndpoint.deleteCategory + id;\n return this.http.delete(url)\n .pipe(\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n \n}","import { Component, OnInit, Renderer2 } from '@angular/core';\nimport { NavigationEnd, Router, Event } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FeatureNames } from './shared/models/feature-names.enum';\nimport { FeaturesStatusService } from './shared/services/util/features-status.service';\nimport { DomSanitizer, Title } from '@angular/platform-browser';\nimport { environment } from '../environments/environment'\nimport { TranslationConstants } from './shared/services/util/translation.constants';\nimport { UXConfigsService } from './shared/services/util/ux-configs.service';\nimport { AppService } from './app.service';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { AccountService } from './shared/services/account/account.services';\nimport { FintechAccountStatus } from './shared/models/BankingAccount';\nimport { HomeService } from './shared/services/account/home.service';\nimport { LocalStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from './shared/utils/local.storage.keys';\nimport { OneSignal } from 'onesignal-ngx';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n public title: string = 'Midas';\n public showBottom: boolean = false;\n public hideExternalHeader: boolean = false;\n public hideBottom: boolean = false;\n public hideExternalFooter: boolean = true;\n public viewComponent: boolean = false;\n public svgIcons: Array = [\n 'apple',\n 'arrow-down',\n 'bank-slip',\n 'benefits',\n 'consortium',\n 'chat-no-user',\n 'deposits',\n 'document-key',\n 'draft',\n 'escrow',\n 'forward',\n 'google-play',\n 'pix',\n 'random-key',\n 'transfers',\n 'loan',\n 'linkedin',\n 'pix-copyandpaste',\n 'pix-history',\n 'pix-keys',\n 'pix-qrcode',\n 'pix-receive',\n 'pix-transfer',\n 'safe',\n 'swap',\n 'health',\n 'instagram',\n 'twitter',\n 'back-side-document',\n 'front-side-document',\n 'selfie-with-document',\n \"blockchain-logo\",\n \"stamp-sos\",\n \"whatsapp\",\n \"message\"\n ];\n\n public oneSignal: OneSignal = new OneSignal();\n\n constructor(\n private readonly translate: TranslateService,\n private readonly router: Router,\n private readonly featuresStatusService: FeaturesStatusService,\n private readonly translatableService: TranslationConstants,\n private readonly storage: LocalStorageService,\n private readonly uxConfigsService: UXConfigsService,\n private readonly titleService: Title,\n private readonly appService: AppService,\n private readonly matIconRegistry: MatIconRegistry,\n private readonly homeService: HomeService,\n private readonly domSanitizer: DomSanitizer,\n private readonly renderer: Renderer2,\n private readonly accountService: AccountService\n ) {\n\n this.matIconRegistry.addSvgIcon(\n \"blockchain\",\n this.domSanitizer.bypassSecurityTrustResourceUrl(\"../assets/svgIcons/blockchain_icon.svg\")\n );\n\n this.matIconRegistry.addSvgIcon(\"en\", this.domSanitizer.bypassSecurityTrustResourceUrl(\"../assets/language/en.svg\"));\n this.matIconRegistry.addSvgIcon(\"pt-br\", this.domSanitizer.bypassSecurityTrustResourceUrl(\"../assets/language/pt-br.svg\"));\n\n this.translate.addLangs(['en', 'fr', 'pt-br', 'eninternal', 'pt-brinternal']);\n this.translate.setDefaultLang('pt-br');\n const browserLang: string = this.translate.getBrowserLang();\n\n if (browserLang.match(/pt/)) {\n this.translate.use('pt-br');\n } else {\n this.translate.use('en');\n }\n\n\n let displayMobile = (window.innerWidth || window.screen.width) <= 768;\n if(displayMobile) {\n this.showBottom = true;\n }\n\n this.translatableService.getTexts().subscribe();\n\n this.router.events.subscribe((event: Event) => {\n if (event instanceof NavigationEnd) {\n const currentUrl: string = event?.url;\n this.appService.setCurrentUrl(currentUrl);\n\n if (currentUrl?.includes('navigation') ||\n currentUrl?.includes('digital-banking/new-account') ||\n currentUrl?.includes('digital-banking/external') ||\n currentUrl?.includes('marketplace') ||\n currentUrl === '/' ||\n currentUrl?.includes('events') ||\n currentUrl?.includes('tokenization')\n ) {\n this.hideExternalHeader = true;\n } else {\n this.hideExternalHeader = false;\n }\n\n if (\n currentUrl?.includes('digital-banking/new-account') ||\n currentUrl?.includes('digital-banking/external') ||\n currentUrl === '/' ||\n currentUrl?.includes('account')\n ) {\n this.hideBottom = true;\n } else {\n this.hideBottom = false;\n }\n \n if (currentUrl?.includes('digital-banking/new-account') ||\n currentUrl?.includes('digital-banking/external') ||\n currentUrl?.includes('marketplace') ||\n currentUrl?.includes('account') ||\n currentUrl === '/' ||\n currentUrl?.includes('events') ||\n currentUrl?.includes('tokenization')\n ) {\n this.hideExternalFooter = true;\n } else {\n this.hideExternalFooter = false;\n }\n this.checkHideHeaderAndFooter(currentUrl);\n }\n });\n this.registrySvgIcons();\n this.renderer.addClass(document.body, 'custom-scrollbar');\n\n\n this.uxConfigsService.getOrderOfHomeSections().subscribe(data => {\n if (data && data?.length > 0) {\n this.homeService.sectionList = data;\n }\n this.homeService.loaded = true;\n });\n\n }\n\n public ngOnInit(): void {\n if (environment?.pageTitle){\n this.titleService.setTitle(environment.pageTitle);\n }\n\n this.featuresStatusService.getAllFeatureStatus().subscribe(features => {\n for(let feature of Object.keys(features)) {\n this.storage.set(LocalStorageKeys.FEATURE_STATUS + feature, features[feature]);\n\n if(feature === FeatureNames.ONE_SIGNAL) {\n this.oneSignal.init({\n appId: environment.oneSignalId,\n serviceWorkerParam: {\n scope: '/onesignal'\n }\n });\n }\n }\n });\n this.uxConfigsService.getEniatoHeaderLinks(true).subscribe();\n this.router.events.subscribe((evt) => {\n if (!(evt instanceof NavigationEnd)) {\n return;\n }\n window.scrollTo(0, 0);\n });\n }\n\n public registrySvgIcons(): void {\n this.svgIcons.forEach((imageName: string) => {\n this.matIconRegistry.addSvgIcon(\n imageName,\n this.domSanitizer.bypassSecurityTrustResourceUrl(`../assets/svg-icons/${imageName}.svg`)\n );\n });\n }\n\n public checkHideHeaderAndFooter (currentUrl: string): void {\n this.accountService.getLoggedUserDetails().subscribe(user => {\n if (user) {\n this.viewComponent = true;\n // if the user is logged in but does not have access to the digital bank\n if (\n (\n !user?.bankingAccount ||\n user?.bankingAccount?.fintechStatus !== FintechAccountStatus.APPROVED\n ) &&\n currentUrl?.includes('/digital-banking')\n ) {\n this.viewComponent = false;\n }\n } else {\n this.viewComponent = false;\n }\n });\n }\n}","\n\n\n","import { Component, Inject, OnInit, Output } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AccountService } from '../services/account/account.services';\nimport { LoginUser } from '../../shared/models/login.user.model'\nimport { SnackbarComponent } from '../snackbar/snackbar.component';\nimport { TranslationConstants } from '../services/util/translation.constants';\nimport { SnackBarTheme } from '../models/snackbar-theme.enum';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { IContactDetails } from '../models/IContactDetails';\n\n\n@Component({\n selector: 'app-simple-contact-modal',\n templateUrl: './simple-contact-modal.component.html',\n styleUrls: ['./simple-contact-modal.component.scss']\n})\nexport class SimpleContactModalComponent implements OnInit {\n\n public loading: boolean;\n public contactForm: FormGroup = new FormGroup({\n name: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required, Validators.email]),\n text: new FormControl('', [Validators.required, Validators.minLength(8)])\n });\n private contactDetails: IContactDetails = undefined;\n\n constructor(\n private readonly dialogRef: MatDialogRef,\n private readonly accountService: AccountService,\n private readonly translationConstants: TranslationConstants,\n private readonly snackbarComponent: SnackbarComponent,\n @Inject(MAT_DIALOG_DATA) public data: {contactDetails: IContactDetails},\n ) \n { \n this.contactDetails = data.contactDetails;\n }\n\n public ngOnInit(): void {\n // To be responsive\n this.dialogRef.addPanelClass('custom-modal');\n this.userLogged();\n }\n\n public mailMe(){\n this.loading = true;\n this.accountService.sendNotification({\n name: this.contactForm.value.name,\n contact: undefined,\n emailFrom: this.contactForm.value.email,\n emailTo: this.contactDetails.email,\n period: 'undefined',\n observation: this.contactForm.value.text,\n product: undefined,\n storeId: undefined,\n subject: 'Contato - Kairos'\n }).subscribe(success => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('marketplace.scheduleContactDialog.success'), SnackBarTheme.success, 4000);\n setTimeout(() => {\n this.dialogRef.close()\n }, 2000);\n }, error => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('marketplace.simpleContactModal.error'), SnackBarTheme.error, 4000);\n }).add(() => {\n this.loading = false;\n })\n\n }\n\n public close(): void {\n this.dialogRef.close();\n }\n\n public userLogged(): void {\n this.accountService.isAuthenticated(true).subscribe(success => {\n if (success) {\n this.accountService.getLoggedUserDetails().subscribe((user: LoginUser) => {\n if (user) {\n this.contactForm.patchValue({name: user.name.charAt(0).toUpperCase() + user.name.slice(1, user.name.length), email: user.email})\n }\n })\n }\n })\n }\n}\n","
\n
\n

{{ 'marketplace.simpleContactModal.title' | translate }}

\n close\n
\n\n
\n
\n \n
\n {{ 'marketplace.simpleContactModal.hint.name' | translate }}\n
\n
\n\n
\n \n
\n {{ 'marketplace.simpleContactModal.hint.email' | translate }}\n
\n
\n\n
\n \n

{{ contactForm?.value?.text?.length }} / 500

\n
\n {{ 'marketplace.simpleContactModal.hint.text' | translate }}\n
\n
\n\n
\n\n
\n \n \n
\n \n
\n","import { Injectable } from '@angular/core';\nimport { HttpErrorResponse, HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpParams, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { CapacitorHttp } from '@capacitor/core';\nimport { defer, from, Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport axios from 'axios';\n\n@Injectable()\nexport class CapacitorHttpInterceptor implements HttpInterceptor {\n\n constructor() { }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n if (environment.isCapacitor) {\n return this.interceptNativeRequest(req, next);\n }\n return this.interceptWebRequest(req, next);\n }\n\n private interceptNativeRequest(req: HttpRequest, _next: HttpHandler): Observable> {\n const { method, body, url, headers, params } = req;\n\n const sanitizeHeaders = (headers: HttpHeaders) => {\n const res: any = {};\n for (const key of headers.keys()) {\n res[key] = decodeURIComponent(params.get(key) || '');\n }\n res['Content-Type'] = 'application/json';\n return res;\n }\n\n\n /**\n * Transforms the type signature of Angular http params\n * to Capacitor's type signature for http params.\n *\n * Sanitizes invalid param values from the output.\n */\n const sanitizeParams = (params: HttpParams) => {\n const res: any = {};\n for (const key of params.keys()) {\n res[key] = decodeURIComponent(params.get(key) || '');\n }\n return res;\n };\n\n if (url?.includes('i18n')) {\n return _next.handle(req);\n }\n\n if (method === 'POST') {\n const options = {\n url: url,\n headers: sanitizeHeaders(headers),\n data: body || {},\n body: body || {},\n params: sanitizeParams(params)\n };\n return defer(() => CapacitorHttp.post(options)).pipe(\n catchError(res => {\n let errorResponse = new HttpErrorResponse({\n error: res?.response?.data,\n headers: new HttpHeaders(res[\"headers\"]),\n url: res[\"url\"],\n status: res[\"status\"],\n })\n throw this.handleRequestError(errorResponse);\n }),\n map(res => {\n if (res[\"status\"] >= 400) {\n let errorResponse = new HttpErrorResponse({\n error: res[\"data\"],\n url: res[\"url\"],\n status: res[\"status\"],\n })\n throw this.handleRequestError(errorResponse);\n }\n return new HttpResponse({ body: res[\"data\"] });\n })\n )\n } else if (method === 'PUT') {\n\n const options = {\n url: url,\n headers: sanitizeHeaders(headers),\n data: body || {},\n body: body || {},\n params: sanitizeParams(params)\n };\n return defer(() => CapacitorHttp.put(options)).pipe(\n catchError(res => {\n let errorResponse = new HttpErrorResponse({\n error: res?.response?.data,\n headers: new HttpHeaders(res[\"headers\"]),\n url: res[\"url\"],\n status: res[\"status\"],\n })\n throw this.handleRequestError(errorResponse);\n }),\n map(res => {\n if (res[\"status\"] >= 400) {\n let errorResponse = new HttpErrorResponse({\n error: res[\"data\"],\n url: res[\"url\"],\n status: res[\"status\"],\n })\n throw this.handleRequestError(errorResponse);\n }\n return new HttpResponse({ body: res[\"data\"] });\n })\n )\n } else if (method === 'DELETE') {\n const options = {\n url: url,\n data: body || {},\n headers: sanitizeHeaders(headers),\n params: sanitizeParams(params)\n };\n return defer(() => CapacitorHttp.delete(options)).pipe(\n catchError(res => {\n let errorResponse = new HttpErrorResponse({\n error: res?.response?.data,\n headers: new HttpHeaders(res[\"headers\"]),\n url: res[\"url\"],\n status: res[\"status\"],\n })\n throw this.handleRequestError(errorResponse);\n }),\n map(res => {\n if (res[\"status\"] >= 400) {\n let errorResponse = new HttpErrorResponse({\n error: res[\"data\"],\n url: res[\"url\"],\n status: res[\"status\"],\n })\n throw this.handleRequestError(errorResponse);\n }\n return new HttpResponse({ body: res[\"data\"] });\n })\n )\n } else if (method === 'GET') {\n const options = {\n url: url,\n headers: sanitizeHeaders(headers),\n params: sanitizeParams(params)\n };\n return defer(() => CapacitorHttp.get(options)).pipe(\n catchError(res => {\n let errorResponse = new HttpErrorResponse({\n error: res?.response?.data,\n headers: new HttpHeaders(res[\"headers\"]),\n url: res[\"url\"],\n status: res[\"status\"],\n })\n throw this.handleRequestError(errorResponse);\n }),\n map(res => {\n if (res[\"status\"] >= 400) {\n let errorResponse = new HttpErrorResponse({\n error: res[\"data\"],\n url: res[\"url\"],\n status: res[\"status\"],\n })\n throw this.handleRequestError(errorResponse);\n }\n return new HttpResponse({ body: res[\"data\"] });\n })\n )\n }\n }\n\n private interceptWebRequest(req: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(req);\n }\n\n private handleRequestError(error: HttpErrorResponse) {\n return error;\n }\n\n}","import { AfterViewChecked, Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { FeatureNames } from 'src/app/shared/models/feature-names.enum';\nimport { Assets } from 'src/app/shared/models/IAssets.model';\nimport { AssetsService } from 'src/app/shared/services/account/asset.services';\nimport { FeaturesStatusService } from 'src/app/shared/services/util/features-status.service';\nimport { NftConversionService } from 'src/app/shared/services/util/nft.conversion.service';\nimport { forkJoin } from 'rxjs';\nimport { FinalizedStakingApplication, NFTStakingApplication, StakedNFT } from 'src/app/shared/models/INFTStaking';\nimport { AccountService } from 'src/app/shared/services/account/account.services';\nimport { IFiatCurrency } from 'src/app/shared/models/IFiatCurrency';\nimport BigNumber from 'bignumber.js';\nimport { CollectionsService } from 'src/app/shared/services/account/collections.service';\nimport { LanguagesEnum } from 'src/app/shared/models/languages.enum';\nimport { FormatStringService } from 'src/app/shared/services/util/format-string.service';\nimport { SnackbarComponent } from 'src/app/shared/snackbar/snackbar.component';\nimport { TranslationConstants } from 'src/app/shared/services/util/translation.constants';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { SnackBarTheme } from 'src/app/shared/models/snackbar-theme.enum';\nimport { environment } from 'src/environments/environment';\nimport { CalculateRemainingAuctionTimeService } from 'src/app/shared/services/util/calculate-remaining-auction-time.service';\nimport { ModalSendComponent } from 'src/app/tokenization/my-assets/modal-send/modal-send.component';\nimport { ModalResellComponent } from 'src/app/tokenization/my-assets/modal-resell/modal-resell.component';\nimport { ModalAuctionComponent } from 'src/app/tokenization/my-assets/modal-auction/modal-auction.component';\nimport { ModalSplitComponent } from 'src/app/tokenization/my-assets/modal-split/modal-split.component';\n\n@Component({\n selector: 'app-card-list',\n templateUrl: './card-list.component.html',\n styleUrls: ['./card-list.component.scss']\n})\nexport class CardListComponent implements OnInit, OnChanges, AfterViewChecked {\n @Input() public assetList: Array = [];\n @Input() public isHome: boolean = false;\n @Input() public autoScroll: boolean = false;\n @Output() public reloadData: EventEmitter = new EventEmitter(false);\n public loading: boolean = false;\n\n public isResellAllowed: boolean = false;\n public isNFTStakingEnabled: boolean = false;\n public isSendNFTAllowed: boolean = false;\n public isAuctionNFTAllowed: boolean = false;\n public currentPage: string = 'MY_ASSETS';\n public stakedContainerId: string = '';\n public campaignDetails: StakedNFT;\n public rewardIconId: string = '';\n public isAuthenticated: boolean = false;\n public selectedLanguage: LanguagesEnum = undefined;\n public fiatCurrency: IFiatCurrency = new IFiatCurrency();\n public isImageLoaded: boolean = false;\n public userLoggedId: string = '';\n public distributeOnNFTs?: boolean = false;\n\n constructor(\n private readonly accountService: AccountService,\n private readonly featuresStatusService: FeaturesStatusService,\n private readonly assetsService: AssetsService,\n private readonly collectionService: CollectionsService,\n private readonly router: Router,\n private readonly nftConversionService: NftConversionService,\n private readonly dialog: MatDialog,\n private readonly formatStringService: FormatStringService,\n private readonly clipboard: Clipboard,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly translationConstants: TranslationConstants,\n private readonly calculateRemainingAuctionTimeService: CalculateRemainingAuctionTimeService\n ) { }\n\n public ngOnInit(): void {\n forkJoin([\n this.featuresStatusService.getFeatureStatus(FeatureNames.NFT_RESALE),\n this.featuresStatusService.getFeatureStatus(FeatureNames.SEND_NFT),\n this.featuresStatusService.getFeatureStatus(FeatureNames.STAKING_NFT),\n this.featuresStatusService.getFeatureStatus(FeatureNames.AUCTION_NFT),\n this.featuresStatusService.getFeatureStatus(FeatureNames.DISTRIBUTE_ON_NFTS),\n this.accountService.isAuthenticated(false, false)\n ]).subscribe(\n ([ResellAllowed, SendNFTAllowed, NFTStakingEnabled, auctionEnabled, distributeOnNFTs, isAuthenticated]\n ) => {\n this.isResellAllowed = ResellAllowed;\n this.isSendNFTAllowed = SendNFTAllowed;\n this.isNFTStakingEnabled = NFTStakingEnabled;\n this.isAuctionNFTAllowed = auctionEnabled;\n this.distributeOnNFTs = distributeOnNFTs;\n this.isAuthenticated = isAuthenticated ? true : false;\n });\n\n this.defineCurrentPage();\n this.fiatCurrency = this.accountService.getFiatCurrency();\n this.selectedLanguage = this.accountService.getUserLanguage();\n }\n\n /**\n * As a workaround, the isHome variable was added to identify whether the component\n * is being used on the home page so that the \"theme\" class can be added to change\n * the look to dark.\n * \n * For example, even in dark mode, the asset card on the my assets screen remains in light mode.\n */\n public ngAfterViewChecked(): void {\n if (this.isHome) {\n let cards: any = document.getElementsByClassName('card-list-item');\n cards = Array.from(cards);\n\n if (cards.length > 0) {\n for (const card of cards) {\n card.classList.add('theme');\n }\n }\n }\n }\n\n private defineCurrentPage(): void {\n if (this.router.url.includes('tokenization/my-assets') || this.router.url === '/home'){\n this.currentPage = 'MY_ASSETS';\n } else {\n this.currentPage = '';\n }\n }\n\n public getEllipsis(value: string): string {\n return this.formatStringService.getEllipsisInTheMiddle(value, 12);\n }\n\n public ngOnChanges(): void {\n this.scrollCardAfterLoad();\n\n for(let asset of this.assetList) {\n if (asset?.collection?.price && !asset?.nftId) {\n this.collectionService.getSumUsedByCollection(asset?.collection.id).subscribe(maxToBuy => {\n asset.availableTokens = new BigNumber(asset?.collection[\"price\"]).minus(new BigNumber(maxToBuy)).toNumber() as any;\n });\n }\n\n if (asset?.auction?.deadline) {\n asset.auctionTimeExpiration = this.calculateRemainingAuctionTimeService.calculateRemainingAuctionTime(asset);\n }\n }\n }\n\n public displaySpecificInfoAsset(asset: Assets): boolean {\n if (asset?.collection_id === environment.collectionId && this.currentPage) {\n return true;\n } else {\n return false;\n }\n }\n\n public goToLink(asset: any): void {\n window.open(asset?.external_link, '_blank');\n }\n\n public copyContractAddress(asset: Assets): void {\n const copied: boolean = this.clipboard.copy(asset?.collection?.contract_address);\n if (copied) {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('snackbar.copied'), SnackBarTheme.success, 3000);\n }\n }\n\n public scrollCardAfterLoad(): void {\n if (!this.autoScroll) {\n return;\n }\n const cardHeight = document.querySelector('.card')?.clientHeight;\n const optionsToScroll: ScrollToOptions = {\n behavior: 'smooth',\n top: window.scrollY + (cardHeight ? cardHeight : 460)\n }\n window.scrollTo(optionsToScroll);\n }\n\n public getCorrectPrice(asset: Assets): number {\n return this.assetsService.getAssetCorrectPrice(asset, this.isResellAllowed);\n }\n\n public getAssetOriginalPrice(asset: Assets): number {\n return this.assetsService.getAssetOriginalPrice(asset, null);\n }\n\n public getSymbom(asset: Assets): string {\n if(asset.collection?.priceCurrency) {\n return asset.collection.priceCurrency;\n } else {\n return this.fiatCurrency.symbol;\n }\n }\n\n public getMainPhoto(asset: any): string {\n return this.assetsService.getAssetMainPhoto(asset);\n }\n\n public goToDetails(asset: Assets) {\n if (asset) {\n //In case there is a nftId, it means we are talking about a resale, hence, we must to search a specific NFT which is stored in a different table\n //In case not, we are looking to a general NFT will be bought for the very first time\n if (asset.nftId) {\n this.router.navigate([`/tokenization/product-details/nft:${asset.nftId}`]);\n } else {\n this.router.navigate([`/tokenization/product-details/asset:${asset.id}`]);\n }\n }\n }\n\n public goToCollectionProfile(collectionId: string): void {\n if (!collectionId) {\n return;\n }\n this.router.navigate([`/tokenization/collection-profile/${collectionId}`]);\n }\n\n public openExternalLink(asset: Assets):void {\n window.open(asset.external_link, '_blank');\n }\n\n public goToStakingNft(): void {\n this.router.navigate(['/tokenization/stake-nft/staked']);\n }\n\n public getVariation(asset: Assets): string {\n return new BigNumber(new BigNumber(this.getCorrectPrice(asset)).dividedBy(this.getAssetOriginalPrice(asset)).multipliedBy(100)).minus(100).toFixed(2);\n }\n\n public sendAsset(asset: Assets) {\n if ((asset?.resale?.onResale && this.isResellAllowed) || asset?.on_staking){\n return;\n }\n const dialogRef = this.dialog.open(ModalSendComponent, {\n // 'custom-modal' class to be responsive\n panelClass: ['send-asset-modal', 'custom-modal'],\n data: {\n asset\n }\n });\n\n // If you confirmed the shipment, we need to update the asset list.\n dialogRef.afterClosed().subscribe(action => {\n if (action) {\n this.reloadData.emit(true);\n }\n });\n }\n\n public changeDistributionType(asset: Assets, is_distribuition_fiat: boolean): void {\n this.loading = true;\n this.assetsService.changeDistributionType({id: asset.nftId, is_distribuition_fiat: is_distribuition_fiat}).subscribe(success => {\n if (success){\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('banking.escrow.success'), SnackBarTheme.success, 4000);\n }else{\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('banking.escrow.error'), SnackBarTheme.error, 4000);\n }\n }, error => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('banking.escrow.error'), SnackBarTheme.error, 4000);\n }).add(() => {\n asset.is_distribuition_fiat = !asset.is_distribuition_fiat;\n this.loading = false;\n });\n }\n\n public resellAsset(asset: Assets, isEditing: boolean): void {\n if (asset?.on_staking){\n return;\n }\n\n const dialogRef = this.dialog.open(ModalResellComponent, {\n // 'custom-modal' class to be responsive\n panelClass: ['resell-asset-modal', 'custom-modal'],\n data: { asset, isEditing }\n });\n\n dialogRef.afterClosed().subscribe(action => {\n if (action) {\n this.reloadData.emit(true);\n }\n });\n }\n\n public openStakedModal(containerIndex: number): void {\n this.stakedContainerId = `staked-container-${containerIndex}`;\n }\n\n public openRewardModal(containerIndex: number): void {\n this.rewardIconId = `reward-icon-${containerIndex}`;\n }\n\n public checkPeriod(stakedConfig: FinalizedStakingApplication): string {\n return this.nftConversionService.checkPeriod(stakedConfig);\n }\n\n public calculateRemainingPeriod(applicationConfig: NFTStakingApplication): number {\n return this.nftConversionService.calculateRemainingPeriod(applicationConfig);\n }\n\n public progressPercentage(percentage: number): number {\n return this.nftConversionService.calculateProgressPercentage(percentage);\n }\n\n public setResaleTooltip(asset: Assets): string {\n let tranlatePath: string = '';\n if (asset?.on_staking) {\n tranlatePath = 'myAssets.resellAssetStaking';\n } else if (asset?.auction) {\n tranlatePath = 'myAssets.resellAssetAuction';\n } else if (asset?.resale?.onResale) {\n tranlatePath = 'myAssets.editResale';\n } else {\n tranlatePath = 'myAssets.resell';\n }\n\n return tranlatePath;\n }\n\n public setAutionTooltip(asset: Assets): string {\n let tranlatePath: string = '';\n if (asset?.on_staking) {\n tranlatePath = 'myAssets.auctionAssetForStaking';\n } else if (asset?.resale?.onResale) {\n tranlatePath = 'myAssets.resellAssetStaking';\n } else if (asset?.auction) {\n tranlatePath = 'myAssets.assetAlreadyAtAuction';\n } else {\n tranlatePath = 'myAssets.auction';\n }\n\n return tranlatePath;\n }\n\n public setSplitTooltip(asset: Assets): string {\n let tranlatePath: string = 'myAssets.split';\n\n return tranlatePath;\n }\n\n public setSendTooltip(asset: Assets): string {\n let tranlatePath: string = '';\n if (asset?.on_staking) {\n tranlatePath = 'myAssets.sendAssetStaking';\n } else if (asset?.resale?.onResale) {\n tranlatePath = 'myAssets.sendAssetResale';\n } else if (asset?.auction) {\n tranlatePath = 'myAssets.sendAssetAuction';\n } else {\n tranlatePath = 'myAssets.sendAsset';\n }\n\n return tranlatePath;\n }\n\n public auctionAsset(asset: Assets): void {\n if (asset?.on_staking || asset?.resale?.onResale) {\n return;\n }\n\n const dialogRef = this.dialog.open(ModalAuctionComponent, {\n // 'custom-modal' class to be responsive\n panelClass: ['resell-asset-modal', 'custom-modal'],\n data: { asset }\n });\n\n dialogRef.afterClosed().subscribe(action => {\n if (action) {\n this.reloadData.emit(true);\n }\n });\n }\n\n public splitAsset(asset: Assets): void {\n if (asset?.on_staking || asset?.resale?.onResale) {\n return;\n }\n\n const dialogRef = this.dialog.open(ModalSplitComponent, {\n // 'custom-modal' class to be responsive\n panelClass: ['resell-asset-modal', 'custom-modal'],\n data: { asset }\n });\n\n dialogRef.afterClosed().subscribe(action => {\n if (action) {\n this.reloadData.emit(true);\n }\n });\n }\n\n public getAmountOfBidsText(quantity: number): string {\n if (quantity === 0) {\n return this.translationConstants.translate('productDetails.noBidMade');\n } else if (quantity === 1) {\n return this.translationConstants.translate('productDetails.bidMade');\n } else {\n return this.translationConstants.translate('productDetails.bidsMade');\n }\n }\n}","
0\">\n
\n
\n {{ 'myAssets.onResale' | translate }}\n
\n\n
\n timer\n {{ asset?.auctionTimeExpiration }}\n
\n\n
\n {{ 'myAssets.atAuction' | translate }}\n
\n\n
\n {{ 'myAssets.staked' | translate }}\n
\n\n emoji_events\n\n
\n \n \n\n \n \n\n \n
\n
\n
\n \n
\n {{ 'myAssets.NFT' | translate }}\n {{ 'myAssets.certification' | translate }}\n

{{ asset?.name }}

\n
\n
\n
\n
\n

\n {{ 'myAssets.vol' | translate }}\n {{ 'myAssets.total' | translate }}\n

\n
\n {{ asset?.quantity || '-' }}\n
\n
\n
\n fingerprint\n {{ 'myAssets.company' | translate }}\n
\n {{ asset?.collection?.creator_institution || '-' }}\n
\n
\n
\n insert_drive_file\n {{ 'myAssets.collection' | translate }}\n
\n {{ (asset?.collection?.when | date: 'dd/MM/yyyy') || '-' }}\n
\n
\n
\n \n {{ 'myAssets.contractAddress' | translate }}\n
\n
\n {{ getEllipsis(asset?.collection?.contract_address) || '-' }}\n \n content_copy\n \n
\n
\n
\n
\n \n {{ 'myAssets.blockchain' | translate }}\n
\n {{ asset?.collection?.network_id || '-' }} \n
\n
\n
\n \n {{ 'myAssets.type' | translate }} \n
\n {{ asset?.nft_package_type || '-' }} \n
\n
\n
\n {{ 'myAssets.photo' | translate }}: {{ 'Zoológico SP - Deni Willians' }}\n
\n
\n
\n {{ 'myAssets.discover' | translate }}\n {{ asset?.collection?.name }}\n
\n open_in_new\n
\n
\n
\n
\n
\n\n
\n
\n \n {{ asset?.collection?.name }}\n \n {{ asset?.name }}\n {{ 'myAssets.id' | translate }} {{ asset?.blockchainId }}\n
\n
\n {{ getSymbom(asset) }}\n {{ getAssetOriginalPrice(asset) | number:'1.2-2' }}\n
\n
\n {{ getSymbom(asset) }}\n {{ getCorrectPrice(asset) | number:'1.2-2' }}\n ({{ getVariation(asset) }}%)\n
\n
\n {{ 'myAssets.buyIt' | translate }}\n
\n
\n {{ asset?.auction?.bids?.length }} {{ getAmountOfBidsText(asset?.auction?.bids?.length) }}\n
\n
\n \n {{ asset?.availableTokens | number }} \n {{ asset.availableTokens > 1 ? ('home.availableTokens' | translate) : ('home.availableTokensSingular' | translate) }}\n \n\n \n {{ asset?.availableTokens | number }} \n {{ asset.availableTokens > 1 ? ('productDetails.availableTokensInLot' | translate) : ('home.availableTokensSingular' | translate) }}\n \n \n {{ asset?.auction?.bids?.length }} \n {{ getAmountOfBidsText(asset?.auction?.bids?.length) }}\n \n arrow_forward\n
\n
\n \n trending_up\n\n \n trending_up\n \n \n shopping_cart\n \n \n monetization_on\n \n \n money_off\n attach_money\n\n \n 0\" (click)=\"splitAsset(asset, asset?.resale?.onResale)\">call_split\n \n \n send\n \n \n visibility\n
\n
\n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\nimport { IChatCreationRequest, IChatFullRequest, IChatGroupRequest, IChatMessage, IEmojiReaction, IGetGroupByUserId, IListLastUnreadChatMessages, IMessageReadRequest, TMessageType, WebSocketActions } from '../../models/chat.model';\nimport { RestEndpoint } from 'src/app/constants/rest-endpoint.constants';\nimport { catchError, map } from 'rxjs/operators';\nimport { AccountService } from '../account/account.services';\nimport { webSocket , WebSocketSubject} from 'rxjs/webSocket';\nimport { parseISO } from 'date-fns';\nimport { environment } from 'src/environments/environment';\n\n@Injectable()\nexport class ChatService {\n public userId: string = '';\n private subject : WebSocketSubject | undefined;\n private sendNotification : WebSocketSubject | undefined;\n private messageSubject: Subject = new Subject();\n public message$: Observable = this.messageSubject.asObservable();\n\n constructor(\n private readonly http: HttpClient,\n private readonly accountService: AccountService,\n ) {\n this.accountService.getLoggedUserDetails().subscribe((user) => {\n this.userId = user?.id;\n }).add(() => this.connectWebsocket());\n }\n\n public connectWebsocket() {\n this.subject = webSocket(environment.webService + '/register');\n\n // Registering client id\n this.subject.next(this.userId);\n\n //Subscribing to WebSocket messages\n this.subject.subscribe({\n next: (msg: {senderId: string, message: any}) => {\n try {\n const parsedMsg = { senderId: msg?.senderId, message: JSON.parse(msg.message)} ;\n\n this.messageSubject.next(parsedMsg);\n } catch (e) {\n // console.error('Message is not a valid JSON:', e);\n }\n }\n });\n }\n\n public sendMessage(receiverId: string, message: any) {\n this.sendNotification = webSocket(environment.webService + '/broadcast');\n\n // Registering client id\n this.sendNotification.next({ senderId: this.userId, receiverId: receiverId, message: message }); \n\n // Subscribing to WebSocket messages\n this.sendNotification.subscribe();\n }\n \n public ngOnDestroy() {\n this.subject?.unsubscribe();\n this.sendNotification.unsubscribe();\n }\n\n public createChat(chatRequest: IChatCreationRequest, usersIds?: Array<{ userId: string }>): Observable {\n chatRequest.message = JSON.stringify(chatRequest.message) as any;\n\n return this.http.post(RestEndpoint.createChat, chatRequest)\n .pipe(\n map((data: any) => {\n const receivedId = chatRequest.groupId ? chatRequest.groupId : chatRequest.receiverId;\n if(usersIds) {\n usersIds.map((user) => this.sendMessage(user.userId, chatRequest.message));\n } else {\n this.sendMessage(receivedId, chatRequest.message);\n }\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getChatList(partId: string): Observable<{correspondentId: string }[]> {\n return this.http.get(RestEndpoint.getListChats, { params: { partId }})\n .pipe(\n map((data: { data: Array<{correspondentId: string }>}) => {\n return data.data\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getListFullChat(partId1: string, partId2: string): Observable {\n return this.http.get(RestEndpoint.getListFullChat, { params: { partId1, partId2 }})\n .pipe(\n map((data: { data: IChatFullRequest[] }) => {\n const listFullChat: IChatMessage[] = data?.data?.map((list) => {\n const message = JSON.parse(list.message as any as string);\n\n return {\n id: list?.id,\n content: message?.content ? message?.content : '',\n messageType: message?.type ? message?.type : 'text',\n reactions: message?.reactions,\n readyBy: [],\n edited: message?.edited,\n when: parseISO(list.sentWhen as any as string),\n sender: {\n name: list?.sender?.name,\n userId: list?.sender?.id,\n username: list?.sender?.email,\n imageUrl: list?.sender?.selfieImage ? list?.sender?.selfieImage : 'https://ps.w.org/user-avatar-reloaded/assets/icon-256x256.png?rev=2540745'\n },\n receiver: {\n name: list?.receiver?.name,\n userId: list?.receiver?.id,\n username: list?.receiver?.email,\n imageUrl: list?.receiver?.selfieImage ? list?.receiver?.selfieImage : 'https://ps.w.org/user-avatar-reloaded/assets/icon-256x256.png?rev=2540745'\n },\n groupId: list?.groupId,\n readWhen: list?.readWhen\n }\n });\n\n return listFullChat;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public updateMessage(messageId: string, message: string | File, requesterId: string, chatId: string, membersGroup?: Array<{ userId: string }>): Observable {\n const messageEdit = JSON.stringify({ content: message, edited: new Date()});\n\n return this.http.post(RestEndpoint.updateMessageInChat, { id: messageId, message: messageEdit, requesterId: requesterId })\n .pipe(\n map((data: any) => {\n const messageWebsocket = JSON.stringify({ content: message, edited: new Date(), chatId: chatId, messageId: messageId, isGroup: membersGroup ? true : false });\n if(membersGroup) {\n membersGroup.map((user) => this.sendMessage(user.userId, messageWebsocket));\n } else {\n this.sendMessage(chatId, messageWebsocket);\n }\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public updateReaction(messageId: string, message: string | File, messageType: TMessageType, requesterId: string, chatId: string, reactions: IEmojiReaction[], membersGroup?: Array<{ userId: string }>): Observable {\n const messageEdit = JSON.stringify({ content: message, reactions: reactions, type: messageType, chatId: chatId, isGroup: membersGroup ? true : false });\n\n return this.http.post(RestEndpoint.updateMessageInChat, { id: messageId, message: messageEdit, requesterId: requesterId })\n .pipe(\n map((data: any) => {\n const messageWebsocket = JSON.stringify(\n { \n content: message, \n chatId: chatId, \n reactions: reactions, \n messageId: messageId, \n isGroup: membersGroup ? true : false,\n action: WebSocketActions.REACTION_MSG\n });\n if(membersGroup) {\n membersGroup.map((user) => this.sendMessage(user.userId, messageWebsocket));\n } else {\n this.sendMessage(chatId, messageWebsocket);\n }\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public imageUrl(img: string | undefined): string {\n return img ? img : 'assets/images/avatar-chat.png';\n }\n\n public getListLastUnreadChatMessages(partId: string): Observable {\n return this.http.get(RestEndpoint.getListLastUnreadChatMessages, { params: { partId}})\n .pipe(\n map((listLastUnreadChatMessages: { data: IListLastUnreadChatMessages[]} ) => {\n return listLastUnreadChatMessages?.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public deleteMessage(messageId: string, requesterId: string): Observable {\n return this.http.post(RestEndpoint.deleteMessageInChat, { id: messageId, requesterId })\n .pipe(\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public createChatGroup(groupName: string, ownerId: string, users: Array<{ userId: string }>): Observable {\n return this.http.post(RestEndpoint.createChatGroup, { groupName, ownerId, users})\n .pipe(\n map((data: any ) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getListGroupByUserId(userId: string): Observable {\n return this.http.get(RestEndpoint.getListGroupByUserId, { params: { userId: userId } })\n .pipe(\n map((data: { data: IGetGroupByUserId[] } ) => {\n return data?.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getGroupById(groupId: string): Observable {\n return this.http.get(RestEndpoint.getChatGroupById + groupId, {})\n .pipe(\n map((data: { data: IGetGroupByUserId } ) => {\n return data?.data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the group');\n })\n );\n }\n\n public deleteChatGroup(groupId: string): Observable {\n return this.http.delete(RestEndpoint.deleteChatGroup + groupId, {})\n .pipe(\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public flagRead(messageRead: IMessageReadRequest): Observable {\n return this.http.post(RestEndpoint.chats + messageRead.chatId + RestEndpoint.flagReadInChat, messageRead , { params: { id: messageRead.chatId }})\n .pipe(\n map((data: any ) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n \n public groupUpdate( groupUpdated: IChatGroupRequest ): Observable {\n return this.http.put(RestEndpoint.updateChatGroup, { \n id: groupUpdated.id, \n groupName: groupUpdated.groupName,\n ownerId: groupUpdated.ownerId,\n users: groupUpdated.users\n }).pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n };\n\n // WEBSOCKET ACTIONS\n public sendNotificationCreateGroup(membersGroup?: Array<{ userId: string }> ) {\n const messageWebsocket = JSON.stringify({ action: WebSocketActions.CREATED_CHAT_GROUP });\n \n if(membersGroup) {\n membersGroup.map((user) => this.sendMessage(user.userId, messageWebsocket));\n };\n }\n\n public sendNotificationDeletedGroup(groupId, membersGroup?: Array<{ userId: string }> ) {\n const messageWebsocket = JSON.stringify({ action: WebSocketActions.DELETED_CHAT_GROUP, chatId: groupId});\n \n if(membersGroup) {\n membersGroup.map((user) => this.sendMessage(user.userId, messageWebsocket));\n };\n }\n\n public sendNotificationAddedGroup(groupId: string, membersGroup?: Array<{ userId: string }> ) {\n const messageWebsocket = JSON.stringify({ action: WebSocketActions.MEMBER_ADDED_CHAT_GROUP, chatId: groupId });\n \n if(membersGroup) {\n membersGroup.map((user) => this.sendMessage(user.userId, messageWebsocket));\n };\n }\n};","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { TranslationConstants } from '../util/translation.constants';\n\n\n@Injectable()\nexport class ErrorHandlerService\n{\n constructor(\n private readonly translationConstants: TranslationConstants\n ){ }\n\n public validate(err: any): Observable\n {\n try\n {\n const intError = JSON.parse(err.error);\n\n if (intError && intError.message)\n {\n err.error.message = this.translationConstants.translate(err.error.message);\n throw new Error(err.error.message);\n }\n\n if (err.message)\n {\n err.message = this.translationConstants.translate(err.message);\n throw err;\n }\n\n if (err.error)\n {\n throw err.error;\n }\n }\n catch(ex)\n {\n throw err;\n }\n\n\n\n throw err;\n }\n}\n","export class IFiatCurrency\n{\n public currency: string;\n public symbol: string;\n constructor(){\n this.currency = '';\n this.symbol = '';\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DocumentValidationService {\n\n constructor() { }\n\n /**\n * this method validate the cpf values, \n * checking if it is a fake cpf or not\n * @param cpf cpf string\n * @returns valid verification boolean value\n */\n public cpfValidation(cpf: string = \"\"): boolean {\n // Blacklist common values.\n const BLACKLIST: Array = [\n '00000000000',\n '11111111111',\n '22222222222',\n '33333333333',\n '44444444444',\n '55555555555',\n '66666666666',\n '77777777777',\n '88888888888',\n '99999999999',\n '12345678909',\n ];\n\n const verifierDigit = (digits: string): number => {\n const numbers: Array = digits.split('').map(number => {\n return parseInt(number, 10);\n });\n\n const modulus: number = numbers.length + 1;\n // Here there is a multiplication of the digits of the cpf, because it is necessary to check the verifier Digit to validate the cpf, which are found by this calculation.\n // input 72486023020\n // 7 * (10 - 0) = 70\n // 2 * (10 - 1) = 18\n // 4 * (10 - 2) = 32\n // 8 * (10 - 3) = 56\n // 6 * (10 - 4) = 36\n // 0 * (10 - 5) = 0\n // 2 * (10 - 6) = 8\n // 3 * (10 - 7) = 9\n // 0 * (10 - 8) = 0\n // (70 + 12 + 32 + 56 + 36 + 0 + 8 + 9 + 0) % 11 = 3\n // 3 - 1 = 2\n // First verifier digit equal 2\n // 7 * (11 - 0) = 77\n // 2 * (11 - 1) = 20\n // 4 * (11 - 2) = 36\n // 8 * (11 - 3) = 64\n // 6 * (11 - 4) = 42\n // 0 * (11 - 5) = 0\n // 2 * (11 - 6) = 10\n // 3 * (11 - 7) = 12\n // 0 * (11 - 8) = 0\n // 2 * (11 - 9) = 4\n // (77 + 20 + 36 + 64 + 42 + 0 + 10 + 12 + 0 + 4) % 11 = 1\n // 1 - 1 = 0\n // Second verifier digit equal 0\n const multiplied: Array = numbers.map(\n (number, index) => number * (modulus - index),\n );\n const mod: number =\n multiplied.reduce((buffer, number) => buffer + number) % 11;\n\n return mod < 2 ? 0 : 11 - mod;\n };\n\n const isValid = (number: string): boolean => {\n const stripped: string = number.replace(/[^\\d]/g, '')\n // CPF must be defined\n if (!stripped) {\n return false;\n }\n\n // CPF must have 11 chars\n if (stripped.length !== 11) {\n return false;\n }\n\n // CPF can't be blacklisted\n if (BLACKLIST.includes(stripped)) {\n return false;\n }\n\n let numbers: string = stripped.substr(0, 9);\n // The method is called twice, because it is necessary to check that the two check digits are correct\n numbers += verifierDigit(numbers);\n numbers += verifierDigit(numbers);\n\n if (numbers.substr(-2) === stripped.substr(-2)){\n return true;\n }\n };\n let valid: boolean = isValid (cpf);\n return valid;\n }\n\n /**\n * this method validate the cnpj values, \n * checking if it is a fake cnpj or not\n * @param cnpj cpf string\n * @returns verification boolean value\n */\n public cnpjValidator(cnpj : string = \"\"): boolean {\n \n cnpj = cnpj.replace(/[^\\d]+/g,'');\n \n if(cnpj === '') return false;\n \n if (cnpj.length != 14)\n return false;\n \n // Blacklist common values.\n if (cnpj === \"00000000000000\" || \n cnpj === \"11111111111111\" || \n cnpj === \"22222222222222\" || \n cnpj === \"33333333333333\" || \n cnpj === \"44444444444444\" || \n cnpj === \"55555555555555\" || \n cnpj === \"66666666666666\" || \n cnpj === \"77777777777777\" || \n cnpj === \"88888888888888\" || \n cnpj === \"99999999999999\")\n return false;\n \n // Valid DVs\n let size: number = cnpj?.length - 2\n let numbers: string = cnpj.substring(0,size);\n let digits: string = cnpj.substring(size);\n let sum: number = 0;\n let pos: number = size - 7;\n // Here a for loop is used to perform the multiplication of the CNPJ digits minus the value of the loop index, because it is necessary to find the first checker digit and analyze if they are correct.\n for (let i = size; i >= 1; i--) {\n sum += Number(numbers.charAt(size - i)) * pos--;\n if (pos < 2){\n pos = 9;\n }\n }\n let result = sum % 11 < 2 ? 0 : 11 - sum % 11;\n // This if compares the first checker digit found by the calculation, with the first typed by the user.\n if (result != Number(digits.charAt(0))){\n return false;\n }\n size = size + 1;\n numbers = cnpj.substring(0,size);\n sum = 0;\n pos = size - 7;\n // Here a for loop is used to perform the multiplication of the CNPJ digits minus the value of the loop index, because it is necessary to find the second checker digit and analyze if they are correct.\n for (let i = size; i >= 1; i--) {\n sum += Number(numbers.charAt(size - i)) * pos--;\n if (pos < 2){\n pos = 9;\n }\n }\n result = sum % 11 < 2 ? 0 : 11 - sum % 11;\n // This if compares the secong checker digit found by the calculation, with the second typed by the user.\n if (result != Number(digits.charAt(1))){\n return false;\n }\n return true;\n }\n}","import { NgModule } from '@angular/core';\nimport { AccountService } from './account/account.services';\nimport { CepService } from './util/cep.service';\nimport { MelhorEnvioService } from './util/melhor.envio.service';\nimport { ScriptService } from './util/script.service';\nimport { AssetsService } from './account/asset.services';\nimport { ImageService } from './util/image.service';\nimport { ErrorHandlerService } from './util/error.handler.service';\nimport { CurrencyPipe, DecimalPipe } from '@angular/common';\nimport { PackagesService } from './account/packages.service';\nimport { OnkeypressService } from './util/onkeypress.service';\nimport { FormatValueService } from './util/format-value.service';\nimport { FeaturesStatusService } from './util/features-status.service';\nimport { MetamaskService } from './util/metamask.service';\nimport { DocumentValidationService } from './util/cpfCnpjValidate.service';\nimport { ConfigReaderService } from './util/config.reader.service';\nimport { NftConversionService } from './util/nft.conversion.service'\nimport { PaginatorTranslationService } from './util/paginator-translation.service';\nimport { MatPaginatorIntl } from '@angular/material/paginator';\nimport { UXConfigsService } from './util/ux-configs.service';\nimport { CollectionsService } from './account/collections.service';\nimport { FinancialService } from './financial/financial';\nimport { ShareLinkService } from './util/share-link.service';\nimport { DepositsService } from './account/deposits.services';\nimport { FileService } from './util/file.service';\nimport { CheckoutService } from './cart/checkout.service';\nimport { FormatStringService } from './util/format-string.service';\nimport { PaymentConfigsService } from './util/payment-configs.service';\nimport { HandleDateService } from './util/handle-date.service';\nimport { ExchangeService } from './exchange/exchange.services';\nimport { CategoriesService } from './marketplace/categories.service';\nimport { ProductsService } from './marketplace/product.services';\nimport { PricesService } from './marketplace/prices/prices.service';\nimport { OrderService } from './marketplace/store/order.service';\nimport { StoreService } from './marketplace/store/store.service';\nimport { LetterOfCreditService } from './marketplace/letter-of-credit/letter-of-credit.service';\nimport { NFTStakingService } from './NFT/nft.staking.services';\nimport { ReloadUserData } from './util/reload.user.data.service';\nimport { CorporateEscrowService } from './financial/corporate.escrow';\nimport { FeatureGuardService } from 'src/app/guards/feature-guard.service';\nimport { AuthGuardService } from 'src/app/guards/auth-guard.service';\nimport { SidenavService } from './util/sidenav.service';\nimport { BankingService } from './account/banking.services';\nimport { ShoppingCartService } from './marketplace/cart/shopping-cart.service';\nimport { FlexibleCharacteristicsService } from './marketplace/flexible-characteristics/flexible-characteristics.service';\nimport { TokensService } from './tokens/token.service';\nimport { TranslationConstants } from './util/translation.constants';\nimport { ChatService } from './chat/chat.service';\nimport { CalculateRemainingAuctionTimeService } from './util/calculate-remaining-auction-time.service';\nimport { NationalityService } from './util/nationality.service';\nimport { SnackbarService } from './util/snackbar.service';\nimport { InternalNavigationService } from './util/internal-navigation.service';\n\n@NgModule({\n providers: [\n AccountService,\n PackagesService,\n MelhorEnvioService,\n ScriptService,\n CollectionsService,\n CheckoutService,\n ConfigReaderService,\n FeaturesStatusService,\n TokensService,\n NFTStakingService,\n CepService,\n BankingService,\n ShoppingCartService,\n CollectionsService,\n FileService,\n AssetsService,\n LetterOfCreditService,\n FlexibleCharacteristicsService,\n PricesService,\n CategoriesService,\n StoreService,\n MetamaskService,\n DepositsService,\n CollectionsService,\n ReloadUserData,\n CorporateEscrowService,\n ImageService,\n ErrorHandlerService,\n CurrencyPipe,\n DecimalPipe,\n FeatureGuardService,\n AuthGuardService,\n OnkeypressService,\n SidenavService,\n FormatValueService,\n PaymentConfigsService,\n FeaturesStatusService,\n DocumentValidationService,\n ConfigReaderService,\n NftConversionService,\n UXConfigsService,\n FinancialService,\n ShareLinkService,\n InternalNavigationService,\n FormatStringService,\n ExchangeService,\n CategoriesService,\n TranslationConstants,\n ProductsService,\n PricesService,\n OrderService,\n StoreService,\n LetterOfCreditService,\n ChatService,\n CalculateRemainingAuctionTimeService,\n NationalityService,\n {\n provide: MatPaginatorIntl,\n useClass: PaginatorTranslationService\n },\n HandleDateService,\n SnackbarService\n ]\n})\nexport class ServicesModule { }","import { BrowserModule, Title } from '@angular/platform-browser';\nimport { NgModule, LOCALE_ID,APP_INITIALIZER,ErrorHandler, Injector } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { TranslationConstants } from './shared/services/util/translation.constants';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { registerLocaleData } from '@angular/common';\nimport ptBr from '@angular/common/locales/pt';\nimport { LayoutModule } from './shared/layout/layout.module';\nimport { NgxShimmerLoadingModule } from 'ngx-shimmer-loading';\nimport { ApplicationInitializerFactory } from './translation.initializer';\nimport { CapacitorHttpProvider } from './interceptors/capacitor.http.provider';\nimport { App as CapacitorApp } from '@capacitor/app';\nimport { PixelModule } from 'ngx-pixel';\nimport { environment } from 'src/environments/environment';\nimport { ServicesModule } from './shared/services/services.module';\nimport { NgOtpInputModule } from 'ng-otp-input';\n\nregisterLocaleData(ptBr);\n\nCapacitorApp.addListener('backButton', ({canGoBack}) => {\n if(!canGoBack){\n CapacitorApp.exitApp();\n } else {\n window.history.back();\n }\n});\n\n/**\n * Custom HTTP language loader\n *\n * @param httpClient The httpClient\n */\nexport function LangHttpLoaderFactory(httpClient: HttpClient): TranslateHttpLoader {\n return new TranslateHttpLoader(httpClient, './../i18n/', '.json');\n}\n\n@NgModule({\n declarations: [ AppComponent ],\n imports: [\n NgOtpInputModule,\n HttpClientModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: LangHttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n AppRoutingModule,\n environment.pixelId !== '' ? PixelModule.forRoot({ enabled: true, pixelId: environment.pixelId }) : BrowserModule,\n BrowserModule,\n ServicesModule,\n BrowserAnimationsModule,\n NgxShimmerLoadingModule,\n LayoutModule\n ],\n providers: [\n TranslationConstants,\n CapacitorHttpProvider,\n { provide: LOCALE_ID, useValue: 'pt-br' },\n {\n provide: APP_INITIALIZER,\n useFactory: ApplicationInitializerFactory,\n deps: [ TranslateService, Injector ],\n multi: true\n },\n Title,\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HandleDateService {\r\n\r\n constructor() { }\r\n\r\n /**\r\n * Put some separator in date string without separator\r\n * * @param dateString Date in string formatted like DDMMyyyy\r\n * * @param separator Desired separator. \r\n * Ex: '/'* @returns dd/mm/yyyy*/\r\n public dateStringWithSeparator(dateString: string, separator: string): string {\r\n const day: string = dateString.slice(0, 2);\r\n const month: string = dateString.slice(2, 4);\r\n const year: string = dateString.slice(4, undefined);\r\n return `${day}${separator}${month}${separator}${year}`;\r\n }\r\n}\r\n \r\n ","\nexport enum EContactChannels{\n EMAIL,\n CHAT,\n NONE\n}\n\nexport class IContactDetails{\n public useEmail?: boolean;\n public email?: string;\n public tawkTo?: string;\n public projectId?: string;\n public projects: IContactDetails[];\n\n constructor(object: IContactDetails){\n if (object){\n Object.assign(this, object);\n }\n }\n\n public enableContactButton(): boolean{\n if (\n (this.useEmail && this.email) || \n this.tawkTo\n ){\n return true;\n }\n return false;\n }\n\n public channelToUse(): EContactChannels {\n if (this.useEmail && this.email){\n return EContactChannels.EMAIL;\n }else if (this.tawkTo){\n return EContactChannels.CHAT\n }\n return EContactChannels.NONE\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { AccountBalance } from \"../../models/account.balance\";\nimport { IEscrowResponse } from \"../../models/escrow.model\";\nimport { IInvoiceResponse } from \"../../models/invoice.model\";\nimport { Token } from \"../../models/tokens\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokensService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly router: Router\n ) { }\n\n public getTokens(): Observable> {\n return this.http.get(RestEndpoint.getAllTokens, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getMainBallance(): Observable> {\n return this.http.get(RestEndpoint.mainWalletBalance, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public nextWihdrawal(): Observable {\n return this.http.get(RestEndpoint.nextWihdrawal, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public remainingTokenAmount(): Observable {\n return this.http.get(RestEndpoint.remainingTokenAmount, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public withdrawTokens(): Observable {\n return this.http.post(RestEndpoint.withdrawTokens, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public searchToken(filter: Token): Observable> {\n return this.http.post(RestEndpoint.searchTokens, filter)\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getTokenById(tokenIdentifier: string): Observable {\n return this.http.get(RestEndpoint.getToken, { params: { tokenIdentifier } })\n .pipe(\n map((data: Token) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public deleteToken(id: string): Observable {\n const url = RestEndpoint.deleteToken + id;\n return this.http.delete(url)\n .pipe(\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n\n public saveToken(newParameter: Token): Observable {\n return this.http.put(RestEndpoint.updateTokens, newParameter)\n .pipe(\n map((updated: boolean) => {\n return updated;\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createToken(Token: Token): Observable {\n return this.http.post(RestEndpoint.createToken, Token)\n .pipe(\n map((tokenId: string) => {\n if (tokenId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n\n /**\n * @param productId The product tha will be change the favorite\n * @param addFavorite If you are going to add the favorite\n * @param redirectUrl Route to go after logging in (if user was not logged in)\n * @returns Returns if the operation was successful\n */\n public toggleFavoriteToken(productId: string, addFavorite?: boolean, redirectUrl?: string): Observable {\n let toggleFavoriteSuccess: boolean = false;\n return this.http.post( RestEndpoint.isAuthenticated, { })\n .pipe(\n map((authenticated: any) => {\n if ( !authenticated || !authenticated.isAuthenticated)\n {\n this.router.navigate(['/account/login'], {\n queryParams: {\n redirectUrl: redirectUrl,\n }\n });\n toggleFavoriteSuccess = false;\n return toggleFavoriteSuccess;\n } else {\n if (addFavorite) {\n this.createFavorites(productId).subscribe();\n } else {\n this.deleteFavorites(productId).subscribe();\n }\n toggleFavoriteSuccess = true;\n return toggleFavoriteSuccess;\n }\n })\n );\n }\n\n public deleteFavorites(tokenId: string): Observable {\n return this.http.post(RestEndpoint.updateTokenFavorite, { tokenId: tokenId })\n .pipe(\n map((templateId: string) => {\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createFavorites(tokenId: string): Observable {\n return this.http.post(RestEndpoint.createTokenFavorite, { tokenId: tokenId })\n .pipe(\n map((templateId: string) => {\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public getEscrows(): Observable> {\n return this.http.get(RestEndpoint.getEscrows, {})\n .pipe(\n map((data: {data: Array}) => {\n return data?.data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getInvoices(): Observable> {\n return this.http.get(RestEndpoint.getInvoices, {})\n .pipe(\n map((data: {data: Array}) => {\n return data?.data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getExternalDeposits(): Observable> {\n return this.http.get(RestEndpoint.getExternalDeposits, {})\n .pipe(\n map((data: {data: Array}) => {\n return data?.data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n}","import JSEncrypt from 'jsencrypt';\nimport { UserIdentifierEnum } from './user-identifier.enum'\nimport { AccountCreationRequest } from './bank.account.creation.model';\n\nclass EncryptedBase\n{\n private static PRIVATE_KEY: string;\n\n constructor(rsaKey: string)\n {\n EncryptedBase.PRIVATE_KEY = rsaKey;\n }\n\n protected encrypt(msg: string): any\n {\n const encryptor = new JSEncrypt({});\n\n encryptor.setPublicKey(EncryptedBase.PRIVATE_KEY);\n\n return encryptor.encrypt(msg);\n }\n}\n\nexport class SignupEncrypt extends EncryptedBase\n{\n public email: string;\n public username: string;\n public firstName: string;\n public lastName: string;\n public passport: string;\n public password: string;\n public cpf: string;\n public cnpj: string;\n public indicationToken?: string;\n public documentToken?: string;\n public token_id?: string;\n public accountCreationRequest?: AccountCreationRequest;\n public account_type?: string;\n public nft_token?: string;\n public externalSourceIndication?: string;\n public phone?: string;\n public externalSourceId?: string;\n public dateOfBirth?: string;\n public openingDate?: string;\n public identityCompanyManager?: string;\n public isPhoneVerified?: boolean;\n\n constructor(\n email: string,\n password: string,\n username: string,\n firstName: string,\n lastName: string,\n documentId: string,\n indicationToken: string,\n rsaKey: string,\n documentType: UserIdentifierEnum | typeof UserIdentifierEnum,\n documentToken: string,\n token_id: string,\n accountCreationRequest: AccountCreationRequest,\n account_type: string,\n externalSourceIndication: string,\n nft_token: string,\n phone: string,\n externalSourceId: string,\n dateOfBirth: string,\n openingDate: string,\n identityCompanyManager: string,\n isPhoneVerified: boolean\n )\n {\n super(rsaKey);\n this.email = email;\n this.username = username;\n this.password = this.encrypt(password);\n this.firstName = firstName;\n this.lastName = lastName;\n this.cpf = '';\n this.cnpj = '';\n this.passport = '';\n this.indicationToken = indicationToken;\n this.documentToken = documentToken;\n this.nft_token = nft_token;\n this.account_type = account_type;\n this.token_id = token_id;\n this.accountCreationRequest = accountCreationRequest;\n this.externalSourceIndication = externalSourceIndication;\n this.phone = phone;\n this.externalSourceId = externalSourceId;\n this.dateOfBirth = dateOfBirth ?? null;\n this.openingDate = openingDate ?? null;\n this.identityCompanyManager = identityCompanyManager ?? null;\n this.isPhoneVerified = isPhoneVerified;\n\n if (documentType === UserIdentifierEnum.External) {\n this.passport = documentId;\n } else if (documentType === UserIdentifierEnum.CNPJ) {\n this.cnpj = documentId;\n } else if (documentType === UserIdentifierEnum.CPF) {\n this.cpf = documentId\n }\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { IOrderEvent } from '../../models/order.event';\nimport { map, catchError } from 'rxjs/operators';\n\n@Injectable()\nexport class CheckoutService {\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public createCheckout(order: IOrderEvent): Observable {\n let endpoint = order?.userEmail ? RestEndpoint.createExternalCheckout : RestEndpoint.createCheckout;\n return this.http.post(\n endpoint, order\n );\n }\n\n public pixToTokenBRLA(order: IOrderEvent): Observable {\n return this.http.post(RestEndpoint.pixToTokenBRLA, order)\n .pipe(\n map(result => {\n return result?.value;\n }),\n catchError((err) => {\n throw ('Failed');\n })\n );\n }\n\n public tokenToPixBrla(order: { pixKey: string, amount: any, token: string }): Observable {\n return this.http.post(RestEndpoint.tokenToPixBRLA, order)\n .pipe(\n map(result => {\n return result?.value;\n }),\n catchError((err) => {\n throw ('Failed');\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HttpClient } from '@angular/common/http';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { forkJoin, isObservable, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { IApplicationTranslatableLanguages } from '../../models/ITranslatableParameters';\nimport { LocalStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from 'src/app/shared/utils/local.storage.keys';\nimport { TranslateParser } from '@ngx-translate/core';\nimport { ErrorHandlerService } from './error.handler.service';\n\n// tslint:disable: max-line-length\n@Injectable()\nexport class TranslationConstants\n{\n constructor(\n private readonly translateService: TranslateService,\n private readonly http: HttpClient,\n private readonly errorHandler: ErrorHandlerService,\n private readonly session: LocalStorageService,\n public parser: TranslateParser,\n )\n { }\n\n public translate(path: string): string\n {\n let translate = this.instant(this.translateService.currentLang, path);\n if(translate) {\n return translate;\n }\n return this.translateService.instant(path);\n }\n\n public instant(lang, key: any): any {\n let translationsRetrieved = this.getTextsFromMemory();\n\n if(!translationsRetrieved) {\n return undefined;\n }\n\n let translations = translationsRetrieved[lang];\n \n if(!translations) {\n return undefined;\n }\n \n let res: string | Observable | undefined;\n\n if (key instanceof Array) {\n let result: any = {},\n observables: boolean = false;\n for (let k of key) {\n result[k] = this.instant(translations, k);\n if (isObservable(result[k])) {\n observables = true;\n }\n }\n if (observables) {\n const sources = key.map(k => isObservable(result[k]) ? result[k] : of(result[k] as string));\n return forkJoin(sources).pipe(\n map((arr: Array) => {\n let obj: any = {};\n arr.forEach((value: string, index: number) => {\n obj[key[index]] = value;\n });\n return obj;\n })\n );\n }\n return result;\n }\n\n if (translations) {\n res = this.parser.interpolate(this.parser.getValue(translations, key));\n }\n\n if (typeof res === \"undefined\") {\n return undefined;\n }\n\n return typeof res !== \"undefined\" ? res : undefined;\n }\n\n public getTextsFromMemory(): IApplicationTranslatableLanguages {\n return this.session.get(LocalStorageKeys.TRANSLATABLE_TEXTS);\n }\n\n public getTexts(): Observable {\n return this.http.get(RestEndpoint.translatableTexts, { params: { 'applicationIdentifier': 'eniato' } })\n .pipe(\n map(data => {\n if (data) {\n this.session.set(LocalStorageKeys.TRANSLATABLE_TEXTS, data);\n }\n }),\n catchError((err) => { return this.errorHandler.validate(err); })\n );\n }\n}\n","import { CanActivate, ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { FeaturesStatusService } from '../shared/services/util/features-status.service';\nimport { FeatureNames } from '../shared/models/feature-names.enum';\nimport { SidenavItem } from '../shared/models/sidenav-item.enum';\nimport { SessionStorageService } from 'angular-web-storage';\nimport { SessionlStorageKeys } from '../shared/utils/session.storage.keys';\n\n/**\n * Block some route if is not logged\n */\n@Injectable()\nexport class FeatureGuardService implements CanActivate {\n\n constructor (\n private readonly featuresStatusService: FeaturesStatusService,\n private readonly sessionStorage: SessionStorageService,\n private readonly router: Router\n )\n { }\n\n /**\n * Security guard for some routes\n */\n public async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n let hasPermission: boolean = false\n const featureRequired: FeatureNames = route.data.featureRequired as FeatureNames;\n const shouldValidateToken: boolean = route.data.shouldValidateToken as boolean;\n if (featureRequired) {\n this.featuresStatusService.getFeatureStatus(featureRequired).subscribe(data => {\n hasPermission = data;\n });\n }\n if (!hasPermission) {\n void this.router.navigate(['/home']);\n }\n\n if(shouldValidateToken) {\n let isDisabled: boolean = true;\n let featureName: string;\n const featuresByToken: Array = await this.sessionStorage.get(SessionlStorageKeys.FEATURE_AVAILABLE_BY_TOKEN);\n featuresByToken?.forEach(feature => {\n if (state.url?.includes(feature?.name)) {\n isDisabled = feature.isDisabled;\n featureName = feature.name;\n }\n });\n const name = state?.url.split('/navigation/')[1];\n\n if(isDisabled && !state.url?.includes('stake/') && !state.url?.includes('buy')) {\n void this.router.navigate(['navigation/functionality-unavailable/' + name]);\n }\n return true;\n }\n return hasPermission;\n }\n}\n","import { ChangeDetectorRef, Injectable, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { isObservable } from 'rxjs';\nimport { LangChangeEvent, TranslateService, TranslationChangeEvent } from '@ngx-translate/core';\nimport { equals, isDefined } from './util';\nimport { Subscription } from 'rxjs';\nimport { TranslationConstants } from '../services/util/translation.constants';\n\n@Injectable()\n@Pipe({\n name: 'translate',\n pure: false // required to update the value when the promise is resolved\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n value: string = '';\n lastKey: string | null = null;\n lastParams: any[] = [];\n onTranslationChange: Subscription | undefined;\n onLangChange: Subscription | undefined;\n onDefaultLangChange: Subscription | undefined;\n\n constructor(private translate: TranslateService, private translatableParameters: TranslationConstants, private _ref: ChangeDetectorRef) {\n }\n\n updateValue(key: string, interpolateParams?: Object, translations?: any): void {\n let onTranslation = (res: string) => {\n this.value = res !== undefined ? res : key;\n this.lastKey = key;\n this._ref.markForCheck();\n };\n if (translations) {\n let res = this.translate.getParsedResult(translations, key, interpolateParams);\n if (isObservable(res.subscribe)) {\n res.subscribe(onTranslation);\n } else {\n onTranslation(res);\n }\n }\n this.translate.get(key, interpolateParams).subscribe(onTranslation);\n }\n\n transform(query: string, ...args: any[]): any {\n if (!query || !query.length) {\n return query;\n }\n\n // if we ask another time for the same key, return the last value\n if (equals(query, this.lastKey) && equals(args, this.lastParams)) {\n return this.value;\n }\n\n let internalTranslate = this.translatableParameters.instant(this.translate.currentLang, query);\n\n if(internalTranslate) {\n return internalTranslate;\n }\n\n let interpolateParams: Object | undefined = undefined;\n if (isDefined(args[0]) && args.length) {\n if (typeof args[0] === 'string' && args[0].length) {\n // we accept objects written in the template such as {n:1}, {'n':1}, {n:'v'}\n // which is why we might need to change it to real JSON objects such as {\"n\":1} or {\"n\":\"v\"}\n let validArgs: string = args[0]\n .replace(/(\\')?([a-zA-Z0-9_]+)(\\')?(\\s)?:/g, '\"$2\":')\n .replace(/:(\\s)?(\\')(.*?)(\\')/g, ':\"$3\"');\n try {\n interpolateParams = JSON.parse(validArgs);\n } catch (e) {\n throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${args[0]}`);\n }\n } else if (typeof args[0] === 'object' && !Array.isArray(args[0])) {\n interpolateParams = args[0];\n }\n }\n\n // store the query, in case it changes\n this.lastKey = query;\n\n // store the params, in case they change\n this.lastParams = args;\n\n // set the value\n this.updateValue(query, interpolateParams);\n\n // if there is a subscription to onLangChange, clean it\n this._dispose();\n\n // subscribe to onTranslationChange event, in case the translations change\n if (!this.onTranslationChange) {\n this.onTranslationChange = this.translate.onTranslationChange.subscribe((event: TranslationChangeEvent) => {\n if (this.lastKey && event.lang === this.translate.currentLang) {\n this.lastKey = null;\n this.updateValue(query, interpolateParams, event.translations);\n }\n });\n }\n\n // subscribe to onLangChange event, in case the language changes\n if (!this.onLangChange) {\n this.onLangChange = this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams, event.translations);\n }\n });\n }\n\n // subscribe to onDefaultLangChange event, in case the default language changes\n if (!this.onDefaultLangChange) {\n this.onDefaultLangChange = this.translate.onDefaultLangChange.subscribe(() => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams);\n }\n });\n }\n\n return this.value;\n }\n\n /**\n * Clean any existing subscription to change events\n */\n private _dispose(): void {\n if (typeof this.onTranslationChange !== 'undefined') {\n this.onTranslationChange.unsubscribe();\n this.onTranslationChange = undefined;\n }\n if (typeof this.onLangChange !== 'undefined') {\n this.onLangChange.unsubscribe();\n this.onLangChange = undefined;\n }\n if (typeof this.onDefaultLangChange !== 'undefined') {\n this.onDefaultLangChange.unsubscribe();\n this.onDefaultLangChange = undefined;\n }\n }\n\n ngOnDestroy(): void {\n this._dispose();\n }\n}","import { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map, catchError } from 'rxjs/operators';\nimport { CustomerBalance } from '../../models/customer.balance';\nimport { AssetsSearchInput, AssetsSearchReport } from '../../models/AssetsSearchInput.model';\nimport { Assets, ResellAsset } from '../../models/IAssets.model';\nimport { ReportGeneralJournal } from '../../models/report.general.journal';\nimport { MarketJournal, MarketJournalInput } from '../../models/market-journal.model';\nimport { FinanceResponse } from '../../models/finance.response';\nimport BigNumber from 'bignumber.js';\nimport { Router } from '@angular/router';\nimport { IMidasWebBanners } from '../../models/IMidasWebBanners.model';\nimport { IEniatoBanners } from '../../models/IEniatoBanners.model';\nimport { NFTPackage } from '../../models/INFTPackage';\nimport { IProjectCrowdfunding } from '../../models/IProjectCrowdfunding.model';\nimport { CrowdfundingCategories } from '../../models/crowdfunding.categories';\nimport { ICrowdfundingTermsAccepted } from 'src/app/tokenization/models/crowdfunding.terms.accepted';\nimport { ICrowdfundingOrders } from 'src/app/tokenization/models/crowdfunding.orders';\nimport { ICrowfundingBankingAccount } from 'src/app/tokenization/models/ICrowfundingBankingAccount';\n\n@Injectable()\nexport class AssetsService {\n\n /**\n * Stores the user to be resetted\n */\n public userEmail: string;\n\n constructor(\n private readonly http: HttpClient,\n private readonly router: Router\n\n ) {\n }\n\n public searchAssetCategory(category: string): void {\n this.router.navigate(['category/' + category]);\n }\n\n public createAssets(request: any): Observable {\n return this.http.post(RestEndpoint.createAsset, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public sendNft(request: {\n customerIdToTransferTo: string,\n unitOfMoney: string,\n assetId: string,\n nftId?: string,\n blockchainId?: string\n }): Observable {\n return this.http.post(RestEndpoint.sendNFTs, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public buyNFTs(request: {\n unitOfMoney: string,\n assetId: string,\n nftId: string, //Used when a NFT was already bought \n blockchainId: string, //Used when a NFT was already bought \n hash: string,\n tax: string,\n wantedPrice: BigNumber,\n principalAmount: number\n }): Observable {\n return this.http.post(RestEndpoint.buyNFT, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public buyPackage(request: {\n unitOfMoney: string,\n assetId: string,\n tax: string,\n hash: string,\n principalAmount: number\n }): Observable {\n return this.http.post(RestEndpoint.buyPackage, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getPackageTypes(): Observable> {\n return this.http.get(RestEndpoint.getPackageTypes, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public editAssets(request: any): Observable {\n\n return this.http.put(RestEndpoint.editAsset, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getEniatoBalance(): Observable {\n return this.http.get(RestEndpoint.getEniatoBalance, {})\n .pipe(\n map((data: CustomerBalance) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getBalance(): Observable {\n return this.http.get(RestEndpoint.balance, {})\n .pipe(\n map((data: any) => {\n return data?.body;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public createMarket(request: MarketJournalInput): Observable {\n return this.http.post(RestEndpoint.createMarket, request)\n .pipe(\n map((userData: FinanceResponse) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n //Source might be NFT or ASSET, it will determine which type of id is being provided\n //It might be used NFT when it is about a NFT which was already bougth by someone\n //It happens because whenever a NFT is bougth it became unique in the blockchain, and this information is stored in a different table\n //So, it must to be indicated from which one it needs to be retrieved\n public getAssetDetails(assetIdentifier?: string, source: string = 'ASSET'): Observable {\n\n return this.http.get(RestEndpoint.getDetails, { params: {\n assetIdentifier,\n source\n } })\n .pipe(\n map((data: Assets | NFTPackage) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getReservationsForAsset(assetId?: string): Observable {\n\n return this.http.get(RestEndpoint.getCountForAssets, { params: {\n assetId\n } })\n .pipe(\n map((data: any) => {\n return data?.body;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getCrowdfundings(): Observable {\n\n return this.http.get(RestEndpoint.getCrowdfundings)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getCrowdfundingCompanyDetails(projectId: string): Observable {\n return this.http.get(RestEndpoint.getCrowdfundingCompanyDetails, {params: {projectId}})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n\n public getCrowdfundingCategories(): Observable> {\n return this.http.get(RestEndpoint.getAllCrowdfundingCategories, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getCrowdfunding(crowdfundingId: string): Observable {\n\n return this.http.get(RestEndpoint.getCrowdfunding, {\n params: {\n crowdfundingId\n }\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n\n public updateUserAcceptedTerms(object: ICrowdfundingTermsAccepted): Observable {\n\n return this.http.post(RestEndpoint.updateUserAcceptedTerms, object)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public createCrowdfundingCheckoutOrder(object: ICrowdfundingOrders): Observable {\n\n return this.http.post(RestEndpoint.createCrowdfundingCheckoutOrder, object)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n\n public performPaymentWithCrypto(object: any): Observable {\n\n return this.http.post(RestEndpoint.performPaymentWithCrypto, object)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAllUserOders(): Observable {\n\n return this.http.get(RestEndpoint.getAllUserOders)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAllCrowdfundingBanking(projectId: string): Observable {\n\n return this.http.get(RestEndpoint.getAllCrowdfundingBanking, { params: {\n projectId\n } })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAssets(search?: AssetsSearchInput): Observable {\n let params = new HttpParams();\n if (search) {\n for (const key of Object.keys(search)) {\n if (search[key]) {\n params = params.set(key, Array.isArray(search[key]) ? search[key].join(',') : search[key]);\n }\n }\n }\n\n return this.http.get(RestEndpoint.getAssets, { params })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getMarketTransactions(assetId?: string): Observable> {\n\n return this.http.get(RestEndpoint.markets, { params: {assetId }})\n .pipe(\n map((data: any) => {\n return data?.body;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getUserTransactions(assetId?: string): Observable {\n\n return this.http.get(RestEndpoint.getUserTransactions)\n .pipe(\n map((data: any) => {\n return data.body;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public commentItem(itemComment: any): Observable\n {\n return this.http.post(RestEndpoint.createComment, itemComment)\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getAsset(assetIdentifier?: string): Observable {\n\n return this.http.get(RestEndpoint.getAsset, { params: {assetIdentifier }})\n .pipe(\n map((data: Assets) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getHistory(assetIdentifier?: string): Observable {\n\n return this.http.get(RestEndpoint.getAsset, { params: {assetIdentifier }})\n .pipe(\n map((data: Assets) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getHttpParamsFromObject(object: any): HttpParams {\n let params = new HttpParams();\n for (const key of Object.keys(object)) {\n if (object[key]) {\n params = params.set(key, object[key]);\n }\n }\n return params;\n }\n\n public getCategories(): Observable {\n return this.http.get(RestEndpoint.getCategories, {})\n .pipe(\n map((data: Assets) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getBanners(): Observable> {\n return this.http.get(RestEndpoint.getAllMidasBanners, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getEniatoBanners(): Observable> {\n return this.http.get(RestEndpoint.getAllEniatoBanners, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAllCrowdfundingBanners(): Observable> {\n return this.http.get(RestEndpoint.getAllCrowdfundingBanners, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getExchangeBanners(): Observable> {\n return this.http.get(RestEndpoint.getAllExchangeBanners, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAllPaymentQueuesTimelinesView(): Observable> {\n return this.http.get(RestEndpoint.getAllPaymentQueuesTimelinesView, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public resellAsset(request: ResellAsset): Observable {\n return this.http.post(RestEndpoint.resellAsset, request)\n .pipe(\n map((output: any) => {\n return output;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public changeDistributionType(request: any): Observable {\n return this.http.post(RestEndpoint.changeDistributionType, request)\n .pipe(\n map((output: any) => {\n return output;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getAssetTransactionTaxPrice(asset: any, isResaleAllowed: boolean): number {\n let taxValue: number = 0;\n\n if (asset?.taxType && asset?.transactionTax) {\n if (asset?.taxType === 'A') {\n taxValue = asset?.transactionTax;\n } else {\n let assetPrice = new BigNumber(0);\n\n if (isResaleAllowed && asset?.resale?.onResale) {\n assetPrice = new BigNumber(asset?.resale?.resaleValue);\n } else {\n assetPrice = new BigNumber(asset?.price);\n }\n\n taxValue = assetPrice.multipliedBy(new BigNumber(asset?.transactionTax)).dividedBy(100).toNumber();\n }\n }\n\n return taxValue;\n }\n\n public getAssetCorrectPrice(asset: any, isResaleAllowed: boolean, sumTax: boolean = false): number {\n let nftTransactionTax: BigNumber = new BigNumber(0);\n if (asset?.taxType && asset?.transactionTax) {\n if (asset.taxType === 'A') {\n nftTransactionTax = new BigNumber(asset?.transactionTax);\n } else {\n nftTransactionTax = new BigNumber(asset?.price).multipliedBy(new BigNumber(asset?.transactionTax)).dividedBy(100);\n }\n }\n\n if (isResaleAllowed && asset?.resale?.onResale) {\n return new BigNumber(asset.resale.resaleValue)?.plus(sumTax ? nftTransactionTax : 0)?.toNumber();\n }\n\n return new BigNumber(asset?.price)?.plus(sumTax ? nftTransactionTax : 0)?.toNumber();\n }\n\n public getAssetOriginalPrice(asset: any, isResaleAllowed: boolean): number {\n return new BigNumber(asset?.originalPrice || asset?.price).toNumber();\n }\n\n public getAssetMainPhoto(asset: any): string {\n if (!asset) {\n return;\n }\n\n let photoToReturn: string = '';\n if (asset?.url) {\n photoToReturn = asset?.url;\n }else {\n for (let photo of asset?.photos) {\n if (photo.order <= 0)\n {\n photoToReturn = photo.url;\n break;\n }\n }\n }\n\n if (!photoToReturn) {\n return \"/assets/card-asset/token-image.webp\";\n }\n return photoToReturn;\n }\n\n public createAuction(nftId: string, minimumPrice: BigNumber, deadline: Date): Observable {\n return this.http.post(RestEndpoint.createAuction, {\n nftId: nftId,\n minimumPrice: minimumPrice,\n deadline: deadline\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public createSplit(nftId: string, parts: any): Observable {\n return this.http.post(RestEndpoint.splitNFTs, {\n id: nftId,\n parts: parts\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public createBid(auctionId: string, price: BigNumber, unitOfMoney: string): Observable {\n return this.http.post(RestEndpoint.createBid, {\n params: {\n auctionId: auctionId,\n price: price,\n unitOfMoney: unitOfMoney\n }\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public acceptHigherBid(auctionId: string): Observable {\n return this.http.post(RestEndpoint.acceptHigherBid, {\n params: {\n auctionId: auctionId\n }\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public finishAuction(auctionId: string): Observable {\n return this.http.post(RestEndpoint.finishAuction, {\n params: {\n auctionId: auctionId\n }\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public cancelAuction(auctionId: string): Observable {\n return this.http.post(RestEndpoint.cancelAuction, {\n params: {\n auctionId: auctionId\n }\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public cancelMyBid(bidId: string): Observable {\n return this.http.post(RestEndpoint.cancelMyBid, {\n params: {\n bidId: bidId\n }\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n}\n","export interface IChatDetails {\n id: string;\n name?: string;\n createdBy: string;\n createdDate: Date;\n members?: IChatMember[];\n messages: IChatMessage[];\n isGroup?: boolean;\n user?: IChatMember;\n}\n\nexport interface IChatMessage {\n id: string;\n when: Date;\n sender: IChatMember;\n receiver?: IChatMember;\n messageType: TMessageType;\n content: string | File;\n readyBy: string[];\n received?: Date;\n edited?: Date;\n readWhen?: Date;\n forwarded?: Date;\n reactions: IEmojiReaction[];\n groupId?: string;\n isGroup?: boolean;\n}\n\nexport interface IChatMember {\n userId: string;\n name: string;\n username: string;\n imageUrl?: string;\n isAdmin?: boolean;\n}\n\nexport type TMessageType = 'text' | 'video' | 'image';\n\nexport interface IEmojiReaction {\n userId: string[];\n emoji: string;\n}\n\nexport interface ISearchChat {\n id: string;\n imageUrl?: string;\n name: string; // Username or Chat Name\n username: string; // User fullname or list of usernames (if chat)\n selected?: boolean; // Frontend only\n}\n\nexport interface IChatListItem {\n id: string;\n name: string; //Username or Chat Name\n imageUrl?: string;\n isGroup?: boolean;\n unread?: number;\n lastMessage?: IChatMessage;\n update: Date;\n members: IChatMember[];\n ownerId?: string;\n}\n\nexport interface IChatCreationRequest {\n senderId: string;\n authorId?: string;\n message: { content: string, type: TMessageType, isGroup?: boolean, chatId?: string, sender?: IChatMember };\n receiverId?: string;\n groupId?: string;\n}\n\nexport interface IChatFullRequest {\n id: string;\n authorId: string;\n receiverId: string;\n senderId: string;\n message: { content: string, type: TMessageType };\n sentWhen: Date;\n groupId?: string;\n readWhen?: Date;\n receiver: { id: string, name: string, email: string, walletPublicData: string, selfieImage?: string };\n sender: { id: string, name: string, email: string, walletPublicData: string, selfieImage?: string };\n}\n\nexport interface IChatListRequest {\n correspondentId: string;\n}\n\nexport interface IListLastUnreadChatMessages {\n id: string;\n authorId: string;\n senderId:string;\n receiverId: string;\n message: string;\n sentWhen: string;\n readWhen: string;\n groupId?: string;\n}\n\nexport interface IGetGroupByUserId {\n id: string;\n groupName: string;\n ownerId: string;\n createdWhen: string;\n users: Array<{ id?: string, userId: string, addedWhen?: Date, info?: { id: string, name: string, email: string, walletPublicData: string, selfieImage: string } }>;\n}\n\nexport interface IGetChatList {\n correspondentId: string;\n name: string; //Username or Chat Name\n imageUrl?: string;\n isGroup?: boolean;\n unread?: number;\n lastMessage?: IChatMessage;\n update: Date;\n members: IChatMember[];\n}\n\nexport interface IMessageReadRequest {\n isGroup: boolean;\n chatId: string;\n senderId: string;\n receiverId: string;\n message: string | File;\n}\n\nexport interface IMessageWebSocket {\n message: {\n content: string,\n type: TMessageType,\n edited?: Date,\n deleted?: boolean,\n senderId?: string,\n messageId?: string,\n chatId?: string,\n isGroup?: boolean,\n action?: WebSocketActions,\n reactions?: IEmojiReaction[],\n sender: IChatMember,\n },\n senderId: string,\n receiverId: string,\n}\n\n// export interface IRegisterReactionRequest {\n// content: string | File,\n// type: TMessageType,\n// edited?: Date,\n// senderId?: string,\n// messageId?: string,\n// membersGroup?: Array<{ userId: string }>,\n// chatId?: string,\n// isGroup?: boolean,\n// reactions?: IEmojiReaction[],\n// }\n\nexport interface IMessageSenderChatList {\n id: string;\n message: string; \n chatId: string;\n type: TMessageType; \n // senderId: string;\n sender: IChatMember,\n isGroup?: boolean;\n}\n\nexport interface IChatGroupRequest {\n id: string, \n groupName: string, \n ownerId: string, \n users: Array<{ userId: string }>\n}\n\nexport enum WebSocketActions {\n DELETED_MSG = 'DELETED_MSG',\n UPDATE_MSG = 'UPDATE_MSG',\n CREATED_CHAT_GROUP = 'CREATED_CHAT_GROUP',\n DELETED_CHAT_GROUP = 'DELETED_CHAT_GROUP',\n MEMBER_ADDED_CHAT_GROUP = 'MEMBER_ADDED_CHAT_GROUP',\n REACTION_MSG = 'REACTION_MSG',\n}","import { MediaType } from \"./media-type.enum\";\nimport { PriceHistory } from \"./price-history.model\";\nimport { ProductMedia } from \"./product-media.model\";\nimport { BdmProductsSpecialPrice } from \"./products.bdm.special.price\";\n\nexport class ProductsBackend {\n public id: string;\n\n public name: string;\n\n public description: string;\n\n public category_id: string;\n\n public store_id?: string;\n\n public is_vip?: boolean;\n\n public freeShipping?: boolean;\n\n public enabled?: boolean;\n\n public important?: boolean;\n\n public stock_amount?: number;\n\n public grace_period?: number;\n\n public values?: object;\n\n public when?: Date;\n\n public disabled?: Date;\n\n public midias?: Array;\n\n public price?: number;\n\n public who?: string;\n\n public prices?: Array;\n public favorites?: Array;\n\n public promotions?: Array;\n\n ////////////////\n public oldPrice?: number;\n public discount?: number;\n public isFavorite?: boolean;\n public fipePrice?: number;\n public rating?: any;\n public photos?: string[];\n public video?: string;\n public address?: any;\n public bdmPrice?: BdmProductsSpecialPrice;\n public days?: Array;\n public waterMark?: string;\n\n constructor(data: ProductsBackend) {\n if (data.promotions && data.promotions[0]) {\n const promotion: PromotionApplication = data.promotions[0];\n if (promotion.enabled) {\n this.oldPrice = data.prices[0].price;\n this.price = promotion.promotion.method === 'A' ? data.prices[0].price - promotion.promotion.amount_to_apply : data.prices[0].price *\n (1 - (promotion.promotion.amount_to_apply / 100));\n this.discount = this.oldPrice - this.price;\n } else {\n this.price = data.prices[0].price;\n }\n } else {\n this.price = data.prices[0].price;\n }\n this.id = data.id;\n this.name = data.name;\n this.description = data.description;\n this.stock_amount = data.stock_amount;\n this.store_id = data.store_id;\n this.is_vip = data.is_vip;\n this.enabled = data.enabled;\n this.category_id = data.category_id;\n this.important = data.important;\n this.favorites = data.favorites;\n this.grace_period = data.grace_period;\n this.values = data.values;\n this.address = data.address;\n this.when = data.when;\n this.midias = data.midias;\n this.prices = data.prices;\n this.days = data.days;\n this.bdmPrice = data.bdmPrice;\n this.photos = [];\n if (data.midias) {\n\n for (let midia of data.midias) {\n this.photos.push(midia.midia_url);\n\n if(midia.type === MediaType.VIDEO) {\n this.video = midia.midia_url;\n }\n }\n }\n\n if(data?.favorites?.length > 0) {\n this.isFavorite = true;\n } else {\n this.favorites = [];\n }\n }\n\n\n // public getOldPrice(): number {\n // return this.prices[0].price;\n // }\n\n // public getPrice(): number {\n // return this.prices[0].price;\n // }\n}\n\n\nexport class PromotionApplication {\n\n public id: string;\n\n public promotionId: string;\n\n public enabled: boolean;\n\n public productId: string;\n\n public from: Date;\n\n public until: Date;\n\n public products: ProductsBackend[];\n\n public promotion?: any;\n}\n\nexport class EventDaysDto\n{\n public id: string;\n public day: Date;\n public hours?: Array;\n public prices?: Array;\n} \n\nexport class EventsDaysHoursEntity\n{\n public id: string;\n\n public hour: number;\n\n public stock_amount: number;\n}\n\nexport class EventsDaysPriceEntity\n{\n public id: string;\n\n public type: string;\n\n public price: number;\n}","import JSEncrypt from 'jsencrypt';\nimport * as CryptoJS from 'crypto-js'; \nimport { v4 as uuid4 } from 'uuid';\n\n// tslint: disable-next-line: max-classes-per-file\nclass EncryptedBase\n{\n private static PRIVATE_KEY: string;\n\n constructor(rsaKey: string)\n {\n EncryptedBase.PRIVATE_KEY = rsaKey;\n }\n\n protected encrypt(msg: string): any\n {\n const encryptor = new JSEncrypt({});\n\n encryptor.setPublicKey(EncryptedBase.PRIVATE_KEY);\n\n return encryptor.encrypt(msg);\n }\n}\n\nexport class LoginEncrypted extends EncryptedBase\n{\n public email: string;\n public password: string;\n public username: string;\n public secretcode: string;\n public code: string;\n public configureForInternal?: boolean;\n\n constructor(email: string, password: string, username: string, code: string, rsaKey: string, configureForInternal?: boolean)\n {\n super(rsaKey);\n this.email = email;\n this.username = username;\n this.password = this.encrypt(password);\n this.code = code;\n this.secretcode = code;\n this.configureForInternal = configureForInternal;\n }\n}\n\nexport class TransactionPasswordEncrypted extends EncryptedBase\n{\n public password: string;\n\n constructor(password: string, rsaKey: string)\n {\n super(rsaKey);\n this.password = this.encrypt(password);\n }\n}\n\nexport class AesKeyEncrypted extends EncryptedBase\n{\n public aesKey: string;\n\n constructor(aesKey: string, rsaKey: string)\n {\n super(rsaKey);\n this.aesKey = this.encrypt(aesKey);;\n }\n}\n\nexport interface IPayloadEncrypted \n{\n /*\n * Key randomically generated and encripted by RSA\n */\n param0: string;\n\n /*\n * Payload encripted by AES using the decripted key above\n */\n param1: string;\n}\n\n/*\n* This class receives a request payload and encrypts it using AES e RSA systems\n*/\nexport class PayloadEncrypted \n{\n public payload: IPayloadEncrypted;\n\n constructor(request: any, rsaKey: string)\n {\n const aesKey: string = uuid4();\n\n //Encripts payload using AES + key above\n const encryptedMessage = CryptoJS.AES.encrypt(JSON.stringify(request), aesKey).toString();\n\n //Encripts key using RSA\n const encryptedKey : AesKeyEncrypted = new AesKeyEncrypted(aesKey, rsaKey);\n \n this.payload = {\n param0: encryptedKey.aesKey,\n param1: encryptedMessage\n }\n }\n}","import { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map } from 'rxjs/operators';\nimport { BillCheckRequest, IBillCheckResponse } from '../../models/bank-bill.model';\nimport { IBillPaymentRequest, IBillPaymentResponse } from '../../models/bill.payment.model';\nimport { IDigitalBankingBanners } from '../../models/IDigitalBankingBanners.model';\nimport { BankingAccount } from 'src/app/shared/models/BankingAccount';\nimport { IAccountHistoryResponse, AccountHistoryEntries, IAccountHistoryRequest } from 'src/app/shared/models/bank-history.model';\nimport { IInternalTransferRequest, IInternalTransferResponse } from 'src/app/shared/models/bank-internal-transfer-data.model';\nimport { IExternalTransferRequest, IExternalTransferResponse } from 'src/app/shared/models/bank-external-transfer-data.model';\nimport { PixKeysResponse } from '../../models/pix.keys.request.model';\nimport { PixDeletionResponse } from '../../models/pix.delete.model';\nimport { IPixCreationRequest, PixCreationResponse } from '../../models/pix.creation.model';\nimport { AccountCreationRequest } from '../../models/bank.account.creation.model';\nimport { QRCodeCreationRequest, QRCodeCreationResponse, QRCodeDataResponse, QRCodeEMVInputRequest, QRCodeEMVResponse, QRCodeInputRequest } from '../../models/pix.qrcode.model';\nimport { IAccountBalanceResponse, IAccountBalanceRequest } from '../../models/bank-balance.model';\nimport { IAccountInfoByPixKeyRequest, AccountInfoByPixKeyResponse } from '../../models/account-info-by-pix-key.model';\nimport { PixTransferRequest, PixTransferResponse } from '../../models/pix.transfer.model';\nimport { TransactionPasswordEncrypted, PayloadEncrypted } from './../../models/encrypt.base';\nimport { IAccountInfoRequest, IAccountInfoResponse, IAccountInfoLegalPersonResponse } from '../../models/account.info.request';\nimport { UpdateAccountInfoRequest } from '../../models/account.info.model';\nimport { AccountService } from './account.services';\nimport { createLoanRequest } from '../../models/bank-loan.model';\nimport { sendBenefitsEmailPayload } from '../../models/bank-benefits.model';\nimport { ContractPayments, ContractRequest, IContractPaymentStatus, IContractStatus } from '../../models/contract.request';\nimport BigNumber from 'bignumber.js';\n\n@Injectable()\nexport class BankingService {\n\n private userBankingBalance: BehaviorSubject = new BehaviorSubject(undefined);\n public static RSA_KEY: string;\n private transactionPasswordEncrypted: string;\n public userBankingAccount: BankingAccount;\n\n constructor(\n private readonly http: HttpClient,\n private accountService: AccountService\n ) {\n this.accountService.getLoggedUserDetails().subscribe(user => this.userBankingAccount = user?.bankingAccount);\n }\n\n public getRsaPublicKey(): Observable {\n if (BankingService.RSA_KEY) {\n return of();\n }\n\n return this.http.get(RestEndpoint.publicRsa, {})\n .pipe(\n map((data: any) => {\n if (!data.value) {\n throw new Error('Problems to retrieve RSA Key.');\n }\n BankingService.RSA_KEY = data.value;\n return of();\n }),\n map(() => true),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getBillData(billData: BillCheckRequest): Observable{\n return this.http.post(RestEndpoint.banking.bills.getBillData, billData)\n .pipe(\n map((userData: any) => {\n return userData?.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public payBill(billData: IBillPaymentRequest): Observable{\n\n const payloadEncrypted: PayloadEncrypted = new PayloadEncrypted(billData, BankingService.RSA_KEY);\n\n return this.http.post(RestEndpoint.banking.bills.payBill, {\n param0: this.transactionPasswordEncrypted, \n param1: payloadEncrypted.payload\n })\n .pipe(\n map((data: IBillPaymentResponse) => {\n const { accountId, documentNumber } = this.userBankingAccount;\n this.getBalance({accountId, documentNumber}).subscribe();\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getPixKeys(): Observable {\n return this.http.get(RestEndpoint.banking.pix.getPixKeys, {})\n .pipe(\n map((res: {data: PixKeysResponse}) => {\n if (!res?.data) {\n throw new Error('Cannot retrieve the Pix key list');\n }\n return res.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public createPixKey(pixCreation: IPixCreationRequest): Observable {\n\n return this.http.post(RestEndpoint.banking.pix.createPixKey, pixCreation)\n .pipe(\n map((response: PixCreationResponse) => {\n return response;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public excludePixKey(key: string): Observable {\n return this.http.post(RestEndpoint.banking.pix.excludePixKey, { key })\n .pipe(\n map((response: PixDeletionResponse) => {\n return response;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public createLoan(createLoanRequest: createLoanRequest): Observable{\n return this.http.post(RestEndpoint.createLoanRequests, createLoanRequest)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public sendBenefitsEmail(sendBenefitsEmailPayload: sendBenefitsEmailPayload): Observable{\n return this.http.post(RestEndpoint.sendBenefitsEmail, sendBenefitsEmailPayload)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public create(accountCreationRequest: AccountCreationRequest): Observable{\n const transactionPasswordEncrypted = this.pwdEncrypted(accountCreationRequest.transactionPassword);\n accountCreationRequest.transactionPassword = transactionPasswordEncrypted;\n\n return this.http.post(RestEndpoint.banking.account.create, accountCreationRequest)\n .pipe(\n map((bankingAccount: BankingAccount) => {\n return bankingAccount;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public pwdEncrypted(pwd: string) {\n const transactionPasswordEncrypted : TransactionPasswordEncrypted = new TransactionPasswordEncrypted(pwd, BankingService.RSA_KEY);\n return transactionPasswordEncrypted.password;\n }\n\n public getBankingBanners(): Observable> {\n return this.http.get(RestEndpoint.banking.getAllDigitalBankingBanners, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getBalance(accountBalanceRequest: IAccountBalanceRequest): Observable{\n return this.http.get(RestEndpoint.banking.account.getBalance, { params: { \n accountId: accountBalanceRequest.accountId, \n documentNumber: accountBalanceRequest.documentNumber }})\n .pipe(\n map((result: IAccountBalanceResponse) => {\n const userBalance: number = result?.data?.body?.amount;\n this.setBalanceSubscription(userBalance);\n if (userBalance) {\n return result?.data?.body?.amount;\n } else {\n return 0;\n }\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getTransactionReceiptById(transactionId: string): Observable{\n return this.http.get(RestEndpoint.getTransactionReceiptById, { params: { transactionId: transactionId}})\n .pipe(\n map((result: any) => {\n return result;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n /**\n * Used to receive user balance updates.\n * Updates are triggered every time the getBalance route is triggered and data is returned.\n * @returns the balance of the user logged into the Digital Bank\n */\n public getBalanceSubscription(): Observable {\n return this.userBankingBalance.asObservable();\n }\n\n private setBalanceSubscription(userBalance: number): void {\n this.userBankingBalance.next(userBalance);\n }\n\n public getHistory(accountHistoryRequest: IAccountHistoryRequest): Observable{\n return this.http.get(RestEndpoint.banking.account.getHistory, { params: {\n accountId: accountHistoryRequest.accountId, \n documentNumber: accountHistoryRequest.documentNumber, \n initialDate: accountHistoryRequest.initialDate, \n endDate: accountHistoryRequest.endDate, \n page: accountHistoryRequest.page,\n limit: accountHistoryRequest.limit,\n onlyPixEntries: accountHistoryRequest.onlyPixEntries }})\n .pipe(\n map((result: IAccountHistoryResponse) => {\n return result?.data?.movements;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public generateInternalTransferRequest(internalTransferRequest: IInternalTransferRequest): Observable{\n const payloadEncrypted: PayloadEncrypted = new PayloadEncrypted(internalTransferRequest, BankingService.RSA_KEY);\n\n return this.http.post(RestEndpoint.banking.account.generateInternalTransferRequest, {\n param0: this.transactionPasswordEncrypted,\n param1: payloadEncrypted.payload\n })\n .pipe(\n map((data: IInternalTransferResponse) => {\n const { accountId, documentNumber } = this.userBankingAccount;\n this.getBalance({accountId, documentNumber}).subscribe();\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public generateExternalTransferRequest(externalTransferRequest: IExternalTransferRequest): Observable{\n const payloadEncrypted: PayloadEncrypted = new PayloadEncrypted(externalTransferRequest, BankingService.RSA_KEY);\n\n return this.http.post(RestEndpoint.banking.account.generateExternalTransferRequest, {\n param0: this.transactionPasswordEncrypted, \n param1: payloadEncrypted.payload\n })\n .pipe(\n map((data: IExternalTransferResponse) => {\n const { accountId, documentNumber } = this.userBankingAccount;\n this.getBalance({accountId, documentNumber}).subscribe();\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public validatePassword(password: string): Observable {\n const transactionPasswordEncrypted : TransactionPasswordEncrypted = new TransactionPasswordEncrypted(password, BankingService.RSA_KEY)\n \n return this.http.post(RestEndpoint.banking.account.validatePassword, { param0: transactionPasswordEncrypted.password })\n .pipe(map(() => {\n this.transactionPasswordEncrypted = transactionPasswordEncrypted.password;\n }),\n catchError((err) => {\n throw err;\n })\n )\n }\n \n public changePassword(password: string, validationCode: string): Observable {\n const transactionPasswordEncrypted : TransactionPasswordEncrypted = new TransactionPasswordEncrypted(password, BankingService.RSA_KEY)\n \n return this.http.post(RestEndpoint.banking.account.changePassword, { param0: transactionPasswordEncrypted.password, param1: validationCode })\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n \n public createStaticQRCode(request: QRCodeCreationRequest): Observable {\n return this.http.post(RestEndpoint.banking.pix.createStaticQRCode, request)\n .pipe(\n map((res: { data: QRCodeCreationResponse}) => {\n if (!res?.data) {\n throw new Error('Cannot create the Static QR Code');\n }\n return res.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getStaticQRCode(request: QRCodeInputRequest): Observable {\n return this.http.get(RestEndpoint.banking.pix.getStaticQRCode, { params: { transactionId: request?.transactionId, userId: request?.userId }})\n .pipe(\n map((res: { data: QRCodeDataResponse}) => {\n if (!res?.data) {\n throw new Error('Cannot get the Static QR Code data');\n }\n return res.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public checkPixKey(request: IAccountInfoByPixKeyRequest): Observable {\n return this.http.post(RestEndpoint.banking.pix.getAccountInfoByPixKey, request)\n .pipe(\n map((res: { data: AccountInfoByPixKeyResponse}) => {\n if (!res?.data) {\n throw new Error('Unable to check PIX key');\n }\n return res.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public transferByPix(request: PixTransferRequest): Observable {\n return this.http.post(RestEndpoint.banking.pix.transfer, request)\n .pipe(\n map((res: {data: { body: PixTransferResponse}}) => {\n if (!res?.data?.body && !res.data[\"codigo\"]) {\n throw new Error('Unable to transfer by Pix');\n }\n const { accountId, documentNumber } = this.userBankingAccount;\n this.getBalance({accountId, documentNumber}).subscribe();\n return res.data?.body;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getQRCodeDataByEmv(request: QRCodeEMVInputRequest): Observable {\n return this.http.post(RestEndpoint.banking.pix.getQRCodeDataByEmv, request)\n .pipe(\n map((res: { data: QRCodeEMVResponse}) => {\n if (!res?.data) {\n throw new Error('Unable to get the QR Code by EMV');\n }\n return res.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getAccountInfoNaturalPerson(accountInfoRequest: IAccountInfoRequest): Observable {\n return this.http.get(RestEndpoint.banking.account.getAccountInfoNaturalPerson, { params: { \n accountId: accountInfoRequest.accountId, \n documentNumber: accountInfoRequest.documentNumber }})\n .pipe(\n map((res: { data: IAccountInfoResponse}) => {\n return res.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getAccountInfoLegalPerson(accountInfoRequest: IAccountInfoRequest): Observable {\n return this.http.get(RestEndpoint.banking.account.getAccountInfoLegalPerson, { params: { \n accountId: accountInfoRequest.accountId, \n documentNumber: accountInfoRequest.documentNumber }})\n .pipe(\n map((res: { data: IAccountInfoLegalPersonResponse}) => {\n return res.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public updateAccountInfoLegalPerson(updateInfoRequest: UpdateAccountInfoRequest): Observable {\n return this.http.put(RestEndpoint.banking.account.updateAccountInfoLegalPerson, { \n businessEmail: updateInfoRequest.businessEmail,\n businessPhoneNumber: updateInfoRequest.businessPhoneNumber\n })\n .pipe(\n map((data: {data: IAccountInfoLegalPersonResponse}) => {\n return data?.data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public CreateCharge(dt: any): Observable {\n return this.http.post(RestEndpoint.CreateCharge, dt)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public CheckCharge(dt: any): Observable {\n return this.http.post(RestEndpoint.CheckCharge, dt)\n .pipe(\n map((data: any) => {\n try {\n return JSON.parse(data);\n } catch(err) {\n return data;\n }\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getChargePDF(dt: any): Observable {\n return this.http.post(RestEndpoint.getChargePDF, dt)\n .pipe(\n map((data: any) => {\n try {\n return JSON.parse(data);\n } catch(err) {\n return data;\n }\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n downloadPdf(pdfUrl: string): Observable {\n return this.http.get(pdfUrl, { responseType: 'blob' });\n }\n\n public getContracts(): Observable {\n return this.http.get(RestEndpoint.getContractsByCustomerId)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public updateContract(contract: ContractRequest): Observable {\n return this.http.put(RestEndpoint.updateContractByCustomer, contract)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n\n public realizeManualPayment(contractPayment: ContractPayments): Observable {\n return this.http.post(RestEndpoint.realizeManualPayment, contractPayment)\n .pipe(\n map((data: { value: boolean }) => {\n return data?.value;\n }),\n catchError((err) => {\n throw (err);\n }));\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Observable } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\nimport { File } from '../../models/file.model';\nimport { ErrorHandlerService } from './error.handler.service';\nimport { FileStorageConfidentiality, StorageObject, StorageObjectContent } from 'src/app/shared/models/file.model';\n\n/**\n * File service\n */\n@Injectable()\nexport class FileService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly errorHandler: ErrorHandlerService\n ) {\n }\n\n /**\n * Upload a file\n * @param file File to be uploaded to s3\n */\n public uploadFile(file: File): Observable {\n const header: HttpHeaders = new HttpHeaders({ });\n return this.http.post(RestEndpoint.files, file, {headers: header})\n .pipe(\n catchError((err) => { return this.errorHandler.validate(err); })\n );\n }\n\n /**\n * This method returns the attached file name in Normalization Form Unicode, assigning its code point to each character, \n * ensuring its mapping and final representation, that is, converting the string into normalized Unicode format.\n * NFD - Normalization Form Canonical Decomposition - Will keep accented characters separated by their canonical equivalence.\n * E.g.: Letter with accent 'Á' represented by its unicode ('U+0061' + 'U+0301'), Letter 'O' ('U+006F'), Letter 'I' ('U+0069')...\n * The check is performed on the range of accented characters '\\u0300-\\u036f', numbering '0-9', lowercase letters 'a-z', uppercase letters 'A-Z'.\n */\n public normalizeFileName(fileName: string): string{\n return fileName.normalize('NFD').replace(/([\\u0300-\\u036f]|[^0-9a-zA-Z][\\-\\_])/g, '');\n }\n\n /**\n * Retrieve a file data\n * @param fileName File to be downloaded from storage\n */\n public getSecuredDocumentUrl(fileName: string): Observable {\n return this.http.get(RestEndpoint.files, { params: {fileName: fileName, confidentiality: FileStorageConfidentiality.SECURED }})\n .pipe(\n map((storageObject: StorageObject) => {\n const storageObjectContent: StorageObjectContent = JSON.parse(storageObject?.value?.image)\n const contentType: string = storageObjectContent.ContentType;\n const file: string = Buffer.from(storageObjectContent.Body?.data).toString(\"base64\")\n //see the documentation at https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs\n const url: string = 'data:' + contentType + ';base64,' + file;\n return url;\n }),\n catchError((err) => {\n throw (err);\n })\n ); \n }\n}","import { VerifyUserEncrypted } from './../../models/verify.encrypted.model';\nimport { IUserGenericDocuments, UserLoggedModel, UserStatus } from './../../models/user.logged.model';\nimport { RestEndpoint } from './../../../constants/rest-endpoint.constants';\nimport { LoginEncrypted } from './../../models/encrypt.base';\nimport { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { ResetModel } from '../../models/reset.model';\nimport { ForgotModel } from '../../models/forgot.model';\nimport { LocalStorageService, SessionStorageService } from 'angular-web-storage';\nimport { Router } from '@angular/router';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { map, catchError } from 'rxjs/operators';\nimport { SignupEncrypt } from '../../models/signup.encrypt.base';\nimport { AmountConvertedResult } from '../../models/amountConvertedResult';\nimport { PlatformBalance } from '../../models/wallet.balance';\nimport { IFiatCurrency } from '../../models/IFiatCurrency';\nimport { LocalStorageKeys } from '../../utils/local.storage.keys';\nimport { UserIdentifierEnum } from '../../models/user-identifier.enum';\nimport { Friend } from '../../models/friends.model';\nimport { VerifyTransferInput, VerifyTransferOutput } from '../../models/transfer.model';\nimport { TransferValueModel } from '../../models/transfer-value.model';\nimport { ApplyStake, CancelStake } from '../../models/apply.stake';\nimport { LanguagesEnum } from '../../models/languages.enum';\nimport { TranslateService } from '@ngx-translate/core';\nimport { IExchangeRateHistoryResponse } from '../../models/exchange.rate.history.response';\nimport { IUserDocuments, PERSONAL_DOCUMENTS_FILTER } from '../../models/IUserDocuments';\nimport { IDecimalPlaces } from '../../models/IDecimalPlaces';\nimport { CapacitorHttp, HttpResponse } from '@capacitor/core';\nimport { IUserAddress } from '../../models/IUserAddress';\nimport { User } from '../../models/IUser';\nimport { AccessStaking } from '../../models/access.staking';\nimport { EscrowsUpdateRequest, IEscrowsCreationRequest } from '../../models/escrow.model';\nimport { TokenStatistics } from '../../models/tokens';\nimport { AccountCreationRequest } from '../../models/bank.account.creation.model';\nimport { IInvoicesCreationRequest } from '../../models/invoice.model';\nimport { IUserEmailResponse } from '../../models/IUserEmailResponse';\nimport { IUserAdditionalInformation } from '../../models/IUserAdditionalInformation';\nimport { IGeneralTaxConfig } from '../../models/IGeneralTaxConfig';\nimport { UserNotificationsSettingsModel } from '../../models/user-notifications-settings.model';\nimport { BrlaKycHistoryModel } from '../../models/brla-kyc-history.model';\nimport { IGeneralLimits } from '../../models/IGeneralLimit';\n\n@Injectable()\nexport class AccountService {\n public static RSA_KEY: string;\n\n /**\n * Stores the user to be resetted\n */\n public userEmail: string;\n\n private readonly registerAccess: BehaviorSubject = new BehaviorSubject(true);\n public getUserLogger$: Observable = this.registerAccess.asObservable();\n\n constructor(\n private readonly localStorage: LocalStorageService,\n private readonly sessionStorage: SessionStorageService,\n private readonly router: Router,\n private readonly http: HttpClient,\n private readonly translate: TranslateService\n ) {\n }\n\n public deleteFriends(id: string): Observable{\n return this.http.delete(RestEndpoint.deleteFriends + id, {})\n .pipe(\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n\n public createFriend(request: Friend): Observable {\n return this.http.post(RestEndpoint.createFriends, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getMyOrders(): Observable {\n return this.http.get(RestEndpoint.getMyOrders, {})\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public updateFriend(request: Friend): Observable {\n\n return this.http.put(RestEndpoint.updateFriend, request)\n .pipe(\n map((userData: any) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public updateDocuments(selfie_document: string, address_document_url: string, identification_document_url: string): Observable {\n\n return this.http.post(RestEndpoint.updateDocuments, {\n selfie_document,\n address_document_url,\n identification_document_url\n })\n .pipe(\n map((userData: string) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public uploadGenericDocuments(genericDocuments: IUserGenericDocuments[]): Observable {\n return this.http.post(RestEndpoint.UpdateMyGenericKYCDocuments, genericDocuments)\n .pipe(\n map((userData: string) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getUsers(): Observable> {\n return this.http.get(RestEndpoint.getAllUsers, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAllFriends(): Observable> {\n return this.http.get(RestEndpoint.friends, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getMyCommunity(): Observable> {\n return this.http.get(RestEndpoint.getMyCommunity, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getRsaPublicKey(): Observable {\n if (AccountService.RSA_KEY) {\n return of();\n }\n\n return this.http.get(RestEndpoint.publicRsa, {})\n .pipe(\n map((data: any) => {\n if (!data.value) {\n throw new Error('Problems to retrieve RSA Key.');\n }\n AccountService.RSA_KEY = data.value;\n return of();\n }),\n map(() => true),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n /**\n * Get name and password inserted on login and compare with data. If it's match, return true to do login.\n * @param name\n * @param password\n */\n public async loginUser(name: string, password: string, code?: string): Promise {\n\n const options = {\n url: RestEndpoint.authenticateUser,\n headers: {'Content-Type': 'application/json'},\n data: new LoginEncrypted(name, password, name, code, AccountService.RSA_KEY),\n };\n const response: HttpResponse = await CapacitorHttp.post(options);\n\n if (response.status === 200) {\n const userData = response.data;\n if (!userData) {\n throw new HttpErrorResponse({ status: 405, statusText: 'Impossible to retrieve user data.' });\n }\n userData.name = `${userData.firstName} ${userData.lastName}`;\n this.localStorage.set(LocalStorageKeys.USER_LOGGED_KEY, userData);\n this.registerAccess.next(true);\n return Promise.resolve(response.data);\n } else {\n return Promise.reject(response.data);\n }\n }\n\n public resendCode(email: string): Observable {\n return this.http.post(RestEndpoint.resendConfirmationCode, {email})\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public sendMFACode(): Observable {\n return this.http.post(RestEndpoint.sendMFACode, {})\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public loadDecimalsPlaces(): Observable {\n return this.http.get(RestEndpoint.getDecimalPlaces, {})\n .pipe(\n map((data: IDecimalPlaces) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the decimals')\n })\n );\n }\n\n public createUser(\n email: string,\n password: string,\n firstName: string,\n lastName: string,\n identifier: string,\n indicationToken: string,\n documentType: UserIdentifierEnum | typeof UserIdentifierEnum,\n documentToken: string,\n token_id: string,\n account_type?: string,\n externalSourceIndication?: string,\n nft_token?: string,\n accountCreationRequest?: AccountCreationRequest,\n phone?: string,\n username?: string,\n dateOfBirth?: string,\n openingDate?: string,\n identityCompanyManager?: string,\n isPhoneVerified?: boolean\n ): Observable {\n return this.http.post(RestEndpoint.createUser, new SignupEncrypt(\n email,\n password,\n email,\n firstName,\n lastName,\n identifier,\n indicationToken,\n AccountService.RSA_KEY,\n documentType,\n documentToken,\n token_id,\n accountCreationRequest,\n account_type,\n externalSourceIndication,\n nft_token,\n phone,\n username,\n dateOfBirth,\n openingDate,\n identityCompanyManager,\n isPhoneVerified\n ))\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n /**\n * Check email on Forgot Password page. If don't match, don't let go to Reset Password Page\n * @param user\n */\n public sendCode(user: ForgotModel): Observable {\n this.userEmail = user.email;\n return this.http.post(RestEndpoint.lostpassword, user)\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n /**\n * Destroy the session\n */\n public destroySession(): Observable {\n this.localStorage.set(LocalStorageKeys.USER_LOGGED_KEY, undefined);\n this.localStorage.remove(LocalStorageKeys.BANK_ACCOUNT_ORDERED);\n this.sessionStorage.clear();\n this.registerAccess.next(false);\n return this.http.delete(RestEndpoint.destroySession);\n }\n\n /**\n * Compare the email, verification code and new password to reset the password on Reset Password Page\n * @param reset\n */\n public resetPassword(reset: ResetModel): Observable {\n return this.http.post(RestEndpoint.changelostpassword, new VerifyUserEncrypted(reset, AccountService.RSA_KEY))\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getLoggedUserDetails(): Observable {\n const user = this.localStorage.get(LocalStorageKeys.USER_LOGGED_KEY);\n if (user) {\n return of(user);\n } else {\n return of(undefined);\n }\n }\n\n public getBTCWallet(): Observable {\n return this.http.get(RestEndpoint.getBTCWallet\n ).pipe(\n catchError((err) => { throw err; })\n );\n }\n\n public logout(): void {\n this.destroySession().subscribe();\n }\n\n /**\n * Check if the user is authenticated\n */\n public isAuthenticated(menu?: boolean, redirectToLogin: boolean = true): Observable {\n return this.internalIsAuthenticated(menu, redirectToLogin);\n }\n\n private internalIsAuthenticated(menu?: boolean, redirectToLogin: boolean = true): Observable {\n return this.http.post(RestEndpoint.isAuthenticated, {})\n .pipe(\n map((authenticated: any) => {\n if (!authenticated || !authenticated.isAuthenticated) {\n if (!menu) {\n this.destroySession().subscribe();\n if (redirectToLogin) {\n void this.router.navigate(['/account/login']);\n }\n }\n return;\n }\n if (authenticated.user) {\n authenticated.user.name = `${authenticated.user.firstName} ${authenticated.user.lastName}`;\n\n this.localStorage.set(LocalStorageKeys.USER_LOGGED_KEY, authenticated.user);\n }\n return of(this.localStorage.get(LocalStorageKeys.USER_LOGGED_KEY));\n }),\n catchError((err) => {\n this.destroySession().subscribe();\n if (redirectToLogin) {\n void this.router.navigate(['/account/login']);\n }\n throw err;\n })\n );\n }\n\n public changeBu(buId: string): Observable {\n return this.http.post(RestEndpoint.changeBu, { buId })\n .pipe(\n map((userData: any) => {\n if (!userData) {\n throw new HttpErrorResponse({ status: 405, statusText: 'Impossible to change BU.' });\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n //verificar\n public sendNotification(data: {\n name?: string,\n contact: string,\n observation: string,\n emailFrom: string,\n emailTo: string,\n product: string,\n period: string,\n storeId?: string,\n subject: string\n }): Observable {\n return this.http.post(RestEndpoint.sendContactEmail, data)\n .pipe(\n map((userData: any) => {\n if (!userData)\n {\n throw new HttpErrorResponse({status: 405, statusText: 'Impossible to send notification.'});\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n /**\n * Return if the user is authenticated, but don't destroy the session if he isn't\n */\n public verifyAuthentication(): Observable {\n return this.http.post(RestEndpoint.isAuthenticated, {})\n .pipe(\n map((authenticated: any) => {\n if (!authenticated || !authenticated.isAuthenticated) {\n return false;\n } else {\n return true;\n }\n })\n );\n }\n\n public verifyDocument(cpf: string, cnpj: string): Observable {\n return this.http.get(RestEndpoint.verifyDocument, {\n params: {\n 'cpf': cpf,\n 'cnpj': cnpj\n }\n }).pipe(\n catchError((err) => { throw err; })\n );\n }\n\n public changeNewsLetter(receivesNewletter: boolean, email: string): Observable {\n return this.http.post(RestEndpoint.changeNewsLetter, { receivesNewletter, email })\n .pipe(\n map((res: any) => {\n return res;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getUserAddress(filterKycAddress?: boolean): Observable {\n return this.http.get(RestEndpoint.getUserAddress, {})\n .pipe(\n map((data: Array) => {\n //For retro-compatibility, in case didn't find any kyc address, just keep retrieving the first one found.\n let address: IUserAddress = data[0];\n\n if (filterKycAddress) {\n const kycAddress: IUserAddress = data.filter(item => item.has_kyc)[0];\n if (kycAddress){\n address = kycAddress;\n }\n }\n return address;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getUserAdditionalinformation(filterKycAddress?: boolean): Observable {\n return this.http.get(RestEndpoint.getAllUserAdditional, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public createAddress(data: IUserAddress): Observable {\n return this.http.post(RestEndpoint.createUserAddress, data)\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public createAdditionalInformation(data: IUserAdditionalInformation): Observable {\n return this.http.post(RestEndpoint.createUserAdditional, data)\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n\n public updateAddress(data: IUserAddress): Observable {\n return this.http.put(RestEndpoint.updateUserAddress, data)\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public quotations(currency: string): Observable {\n let unitOfMoney = currency;\n return this.http.get(RestEndpoint.quotations, { params: { currency, unitOfMoney } })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n public getAllHistory(currency: string): Observable {\n let unitOfMoney = currency;\n return this.http.get(RestEndpoint.getAllHistory, { params: { currency, unitOfMoney } })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n public getUserByWallet(wallet: string): Observable {\n return this.http.get(RestEndpoint.getUserByWallet, { params: { wallet } })\n .pipe(\n map((data: User) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the user wallet')\n })\n );\n }\n\n public getUserByEmailWallet(email: string): Observable {\n email = email?.toLocaleLowerCase()?.trim();\n return this.http.get(RestEndpoint.getUserByEmailWallet, { params: { email } })\n .pipe(\n map((data: IUserEmailResponse) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the user wallet')\n })\n );\n }\n\n public getUserListInPayroll(): Observable {\n return this.http.get(RestEndpoint.getUserListPayroll)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the user wallet')\n })\n );\n }\n\n public getBRLAKYCStatus(): Observable {\n return this.http.get(RestEndpoint.getBRLAKYCStatus)\n .pipe(\n map((data: BrlaKycHistoryModel) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the user wallet')\n })\n );\n }\n\n\n public sendBRLAFirstStatus(obj: {\n \"cpf\": string,\n \"birthDate\": string,\n \"fullName\": string\n }): Observable {\n return this.http.post(RestEndpoint.createPFLevel1, obj)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the user wallet')\n })\n );\n }\n\n\n public sendBRLAFirstStatusPJ(obj: {\n \"cnpj\": string,\n \"startDate\": string,\n \"companyName\": string\n }): Observable {\n return this.http.post(RestEndpoint.createPJLevel1, obj)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the user wallet')\n })\n );\n }\n\n public sendBRLASecondStatusPJ(obj: {\n \"cnpj\": string,\n \"cpf\": string,\n \"birthDate\": string,\n \"fullName\": string\n }): Observable {\n return this.http.post(RestEndpoint.createPJLevel2, obj)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the user wallet')\n })\n );\n }\n\n public sendBRLASecondStatus(obj: {\n \"cpf\": string,\n \"documentType\": string\n }): Observable<{\n selfieUploadUrl: string,\n CNHUploadUrl: string\n }> {\n return this.http.post(RestEndpoint.createPFLevel2, obj)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the user wallet')\n })\n );\n }\n\n public sendKYCDocument(file: any, url: string): Observable<{\n selfieUploadUrl: string,\n CNHUploadUrl: string\n }> {\n return this.http.put(RestEndpoint.sendDocBRLA, {document_url: file, apiURL: url})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the user wallet')\n })\n );\n }\n\n\n public createUserInPayroll(userIdTo: string, amountRequested: number, creationDate: Date, expirationDate: Date, description: string, unitOfMoneyRequested: string = 'BRL'): Observable {\n return this.http.post(RestEndpoint.createUserPayroll, { userIdTo, unitOfMoneyRequested, amountRequested, creationDate, expirationDate, description, enabled: true })\n .pipe(\n map((data: any) => {\n if(data) {\n return data;\n }\n return [];\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n public updateUserInPayroll(id: string, userIdTo: string, amountRequested: number, creationDate: Date, expirationDate: Date, description: string, unitOfMoneyRequested: string = 'BRL'): Observable {\n return this.http.post(RestEndpoint.updateUserPayroll, { id, userIdTo, unitOfMoneyRequested, amountRequested, creationDate, expirationDate, description })\n .pipe(\n map((data: any) => {\n if(data) {\n return data;\n }\n return [];\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n public deleteUserInPayroll(id: string) {\n return this.http.post(RestEndpoint.deleteUserPayroll, { recurrencyId: id })\n .pipe(\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n\n public quotationHistory(currency: string, limit: number = 50): Observable {\n let unitOfMoney = currency;\n return this.http.get(RestEndpoint.quotationsHistory, { params: { currency, unitOfMoney, limit } })\n .pipe(\n map((data: IExchangeRateHistoryResponse[]) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n\n public fasQuote(amount: number, coin: string, side: string): Observable {\n return this.http.post(RestEndpoint.fastPrice, { amount, coin, side })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n public performSwap(amount: number, expectedAmount: string, unitOfMoney: string, side:string,pix_key: string ): Observable {\n return this.http.post(RestEndpoint.performSwap, { amount, expectedAmount, unitOfMoney, side, pix_key })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n public allQuotations(): Observable {\n\n return this.http.get(RestEndpoint.allQuotations, {})\n .pipe(\n map((data: AmountConvertedResult[]) => {\n if(data) {\n return data;\n }\n return [];\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n public getDataForExchange(): Observable {\n\n return this.http.get(RestEndpoint.getDataForExchange, {})\n .pipe(\n map((data: TokenStatistics[]) => {\n if(data) {\n return data;\n }\n return [];\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n \n public createOrder(userId: string, orderType: any, quantity: number, price: number, operation: any, side: any, unitOfMoney: string): Observable {\n const currentDate = new Date();\n currentDate.setHours(new Date().getHours() + 3);\n return this.http.post(RestEndpoint.addOrder, { userId, orderType, quantity, price, operation, side, unitOfMoney, when: currentDate })\n .pipe(\n map((data: any) => {\n if(data) {\n return data;\n }\n return [];\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n\n }\n\n public cancelOrder(orderId: string, unitOfMoney: string): Observable {\n return this.http.post(RestEndpoint.cancelOrder, { orderId, unitOfMoney })\n .pipe(\n map((data: any) => {\n if(data) {\n return data;\n }\n return [];\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n\n }\n\n public verifyTransaction(\n verifyData: VerifyTransferInput,\n ): Observable {\n return this.http.post(RestEndpoint.verify, verifyData)\n .pipe(\n map((data: VerifyTransferOutput) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n public sendEscrow(request: IEscrowsCreationRequest): Observable {\n return this.http.post(RestEndpoint.createEscrow, request)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n public sendInvoice(request: IInvoicesCreationRequest): Observable {\n return this.http.post(RestEndpoint.createInvoice, request)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n public updateEscrow(request: EscrowsUpdateRequest): Observable {\n return this.http.post(RestEndpoint.updateEscrow, request)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n public updateInvoice(request: EscrowsUpdateRequest): Observable {\n return this.http.post(RestEndpoint.updateInvoice, request)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n public transfer(\n transferValue: TransferValueModel,\n ): Observable {\n transferValue.unitOfMoney = this.localStorage.get(LocalStorageKeys.UNIT_OF_MONEY);\n\n return this.http.post(RestEndpoint.transfer, transferValue)\n .pipe(\n map((data: VerifyTransferOutput) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n\n public checkQuote(\n amount: number,\n ): Observable {\n return this.http.post(RestEndpoint.quote, {\n amount\n })\n .pipe(\n map((data: VerifyTransferOutput) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public ConvertUSDToPixBRLA(\n dt: any,\n ): Observable {\n return this.http.post(RestEndpoint.ConvertUSDToPixBRLA, dt)\n .pipe(\n map((data: VerifyTransferOutput) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public createUserStake(\n applyStake: ApplyStake,\n ): Observable {\n\n return this.http.post(RestEndpoint.createUserStake, applyStake)\n .pipe(\n map((data: VerifyTransferOutput) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public createSignRequest(\n applyStake: any,\n ): Observable {\n\n return this.http.post(RestEndpoint.createSignRequest, applyStake)\n .pipe(\n map((data: VerifyTransferOutput) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public cancelUserStake(\n cancelStake: CancelStake,\n ): Observable<{value: boolean}> {\n\n return this.http.post(RestEndpoint.cancelUserStake, cancelStake)\n .pipe(\n map((data: {value: boolean}) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public startMFAProcess(name: string, password: string, code: string, configureForInternal: boolean ): Observable {\n return this.http.post(RestEndpoint.startMFAProcess, new LoginEncrypted(name, password, name, code, AccountService.RSA_KEY, configureForInternal))\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((error) => {\n throw (error.error.message);\n // throw new Error ('Impossible to retrieve user data.')\n })\n );\n }\n\n public finalizeMFAProcess(name: string, password: string, code: string, configureForInternal: boolean ): Observable {\n return this.http.post(RestEndpoint.finalizeMFAProcess, new LoginEncrypted(name, password, name, code, AccountService.RSA_KEY, configureForInternal))\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((error) => {\n throw (error.error.message);\n // throw new Error ('Impossible to retrieve user data.')\n })\n );\n }\n\n public verifyMFAStatus(): Observable<{\n status: boolean,\n type: string\n }> {\n return this.http.get(RestEndpoint.verifyMFAStatus, {})\n .pipe(\n map((data: any) => {\n return {\n status: data?.value,\n type: data?.type\n };\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n public balance(unit: string): Observable {\n let unitOfMoney = unit;\n return this.http.get(RestEndpoint.balance, {\n params: {\n unitOfMoney\n }\n })\n .pipe(\n map((data: PlatformBalance[]) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n public allBalances(): Observable {\n return this.http.get(RestEndpoint.balance, {\n })\n .pipe(\n map((data: PlatformBalance[]) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n public getMinAmountToTransfer(): Observable {\n return this.http.get(RestEndpoint.getMinAmountToTransfer)\n .pipe(\n map((data: any) => {\n return data?.value;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n public loadFiatCurrency(): Observable {\n return this.http.get(RestEndpoint.getFiatCurrency, {})\n .pipe(\n map((data: IFiatCurrency) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the fiat currency')\n })\n );\n }\n\n public cleanFiatCurrency(): void {\n this.localStorage.remove(LocalStorageKeys.FIAT_CURRENCY_KEY);\n }\n\n public getFiatCurrency(): IFiatCurrency {\n return {\n currency: 'BRL',\n symbol: 'R$'\n };\n }\n\n public getCryptoCurrencies(): Observable {\n return this.http.get(RestEndpoint.getCryptoCurrencies, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getMyKYCDocuments(filter?: PERSONAL_DOCUMENTS_FILTER): Observable> {\n return this.http.get(RestEndpoint.getMyDocuments, { params: { filter }})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n \n public getMyKYCDocumentsStatus(): Observable {\n return this.http.get(RestEndpoint.getMyKYCDocumentsStatus, {})\n .pipe(\n map((data: {value: UserStatus}) => {\n return data.value;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public checkPermission(moduleName: string): Observable {\n return this.http.get(RestEndpoint.checkPermission, {\n params: {\n moduleName: moduleName\n }\n })\n .pipe(\n map((data: any) => {\n return data?.value;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getPaymentStatus(orderId: string): Observable {\n return this.http.get(RestEndpoint.checkPixPaymentStatus + orderId)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n\n public getClearLedgerPaymentStatus(orderId: string): Observable {\n return this.http.get(RestEndpoint.CheckClearLedgerPaymentStatus + orderId)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getCelcoinIntegrationPaymentStatus(orderId: string): Observable {\n return this.http.get(RestEndpoint.CheckCelcoinIntegrationPaymentStatus + orderId)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public checkDocumentStatus(document_sign_key: string): Observable {\n return this.http.post(RestEndpoint.checkDocumentStatus, {document_sign_key: document_sign_key})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getUserLanguage(): LanguagesEnum {\n const language: string = this.sessionStorage.get(LocalStorageKeys.LANGUAGE_LIST);\n if (!language) {\n const browserLang: string = this.translate.getBrowserLang();\n if (browserLang.match(/pt/)) {\n return LanguagesEnum.PORTUGUESE;\n } else {\n return LanguagesEnum.ENGLISH;\n }\n }\n return language as LanguagesEnum;\n }\n\n public updateBasicInfos(\n fullName: string,\n nickname: string,\n phone: string,\n externalSourceIndication?: string,\n externalSourceId?: string,\n selfieImage?: string,\n dateOfBirth?: Date,\n openingDate?: Date,\n identityCompanyManager?: string\n ): Observable {\n return this.http.post(RestEndpoint.updateUserBasicInfos, {\n fullName,\n nickname,\n phone,\n externalSourceIndication,\n externalSourceId,\n selfieImage,\n dateOfBirth,\n openingDate,\n identityCompanyManager\n })\n .pipe(\n map((data: { id: string }) => {\n let userData: UserLoggedModel = this.localStorage.get(LocalStorageKeys.USER_LOGGED_KEY);\n userData.nickname = nickname;\n userData.phone = phone;\n this.localStorage.set(LocalStorageKeys.USER_LOGGED_KEY, userData);\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getUserStakingPermissions(): Observable {\n return this.http.get(RestEndpoint.getUserStakingPermissions)\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getExchangeTaxes(): Observable {\n return this.http.get(RestEndpoint.GetPlatformTaxes).pipe(\n catchError((err) => { throw err; })\n );\n }\n\n public calculateUserTaxes(): Observable {\n return this.http.get(RestEndpoint.CalculateUserTaxes).pipe(\n catchError((err) => { throw err; })\n );\n }\n\n public readLocation(): Observable> {\n return this.http.get(RestEndpoint.readLocation, {\n })\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public validateUsername(externalSourceId: string): Observable {\n return this.http.get(RestEndpoint.validateUsername, {\n params: {\n 'externalSourceId': externalSourceId\n }\n }).pipe(\n catchError((err) => { throw err; })\n );\n }\n\n public getGeneralTax(): Observable {\n return this.http.get(RestEndpoint.getGeneralTax).pipe(\n map((data: IGeneralTaxConfig) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getUserNotificationsSettings(): Observable {\n return this.http.get(RestEndpoint.getUserNotificationsSettings).pipe(\n map((data: UserNotificationsSettingsModel) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getUserLimits(): Observable {\n return this.http.get(RestEndpoint.getUserLimits).pipe(\n map((data: IGeneralLimits) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public updateUserNotificationsSettings(notifications: UserNotificationsSettingsModel): Observable {\n return this.http.put(RestEndpoint.updateUserNotificationsSettings, notifications)\n .pipe(\n map((data: UserNotificationsSettingsModel) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public sendMobileToken(phone: string, token: string, method: string): Observable {\n return this.http.post(RestEndpoint.sendMobileToken, { phone, token, method })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getMobileValidationMethods(): Observable<{value: string[]}> {\n return this.http.get<{value: string[]}>(RestEndpoint.getMobileValidationMethods).pipe(\n map((data: {value: string[]}) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n}","export const countries = [\n {\n name: {\n common: \"Christmas Island\",\n official: \"Territory of Christmas Island\",\n nativeName: {\n eng: {\n official: \"Territory of Christmas Island\",\n common: \"Christmas Island\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"1\"\n ]\n }\n },\n {\n name: {\n common: \"Eritrea\",\n official: \"State of Eritrea\",\n nativeName: {\n ara: {\n official: \"دولة إرتريا\",\n common: \"إرتريا‎\"\n },\n eng: {\n official: \"State of Eritrea\",\n common: \"Eritrea\"\n },\n tir: {\n official: \"ሃገረ ኤርትራ\",\n common: \"ኤርትራ\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"91\"\n ]\n }\n },\n {\n name: {\n common: \"Samoa\",\n official: \"Independent State of Samoa\",\n nativeName: {\n eng: {\n official: \"Independent State of Samoa\",\n common: \"Samoa\"\n },\n smo: {\n official: \"Malo Saʻoloto Tutoʻatasi o Sāmoa\",\n common: \"Sāmoa\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"85\"\n ]\n }\n },\n {\n name: {\n common: \"North Macedonia\",\n official: \"Republic of North Macedonia\",\n nativeName: {\n mkd: {\n official: \"Република Северна Македонија\",\n common: \"Македонија\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"89\"\n ]\n }\n },\n {\n name: {\n common: \"Djibouti\",\n official: \"Republic of Djibouti\",\n nativeName: {\n ara: {\n official: \"جمهورية جيبوتي\",\n common: \"جيبوتي‎\"\n },\n fra: {\n official: \"République de Djibouti\",\n common: \"Djibouti\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"53\"\n ]\n }\n },\n {\n name: {\n common: \"Jordan\",\n official: \"Hashemite Kingdom of Jordan\",\n nativeName: {\n ara: {\n official: \"المملكة الأردنية الهاشمية\",\n common: \"الأردن\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"62\"\n ]\n }\n },\n {\n name: {\n common: \"Pakistan\",\n official: \"Islamic Republic of Pakistan\",\n nativeName: {\n eng: {\n official: \"Islamic Republic of Pakistan\",\n common: \"Pakistan\"\n },\n urd: {\n official: \"اسلامی جمہوریۂ پاكستان\",\n common: \"پاكستان\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"2\"\n ]\n }\n },\n {\n name: {\n common: \"French Polynesia\",\n official: \"French Polynesia\",\n nativeName: {\n fra: {\n official: \"Polynésie française\",\n common: \"Polynésie française\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"89\"\n ]\n }\n },\n {\n name: {\n common: \"Ireland\",\n official: \"Republic of Ireland\",\n nativeName: {\n eng: {\n official: \"Republic of Ireland\",\n common: \"Ireland\"\n },\n gle: {\n official: \"Poblacht na hÉireann\",\n common: \"Éire\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"53\"\n ]\n }\n },\n {\n name: {\n common: \"Mauritania\",\n official: \"Islamic Republic of Mauritania\",\n nativeName: {\n ara: {\n official: \"الجمهورية الإسلامية الموريتانية\",\n common: \"موريتانيا\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"22\"\n ]\n }\n },\n {\n name: {\n common: \"Denmark\",\n official: \"Kingdom of Denmark\",\n nativeName: {\n dan: {\n official: \"Kongeriget Danmark\",\n common: \"Danmark\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"5\"\n ]\n }\n },\n {\n name: {\n common: \"Namibia\",\n official: \"Republic of Namibia\",\n nativeName: {\n afr: {\n official: \"Republiek van Namibië\",\n common: \"Namibië\"\n },\n deu: {\n official: \"Republik Namibia\",\n common: \"Namibia\"\n },\n eng: {\n official: \"Republic of Namibia\",\n common: \"Namibia\"\n },\n her: {\n official: \"Republic of Namibia\",\n common: \"Namibia\"\n },\n hgm: {\n official: \"Republic of Namibia\",\n common: \"Namibia\"\n },\n kwn: {\n official: \"Republic of Namibia\",\n common: \"Namibia\"\n },\n loz: {\n official: \"Republic of Namibia\",\n common: \"Namibia\"\n },\n ndo: {\n official: \"Republic of Namibia\",\n common: \"Namibia\"\n },\n tsn: {\n official: \"Lefatshe la Namibia\",\n common: \"Namibia\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"64\"\n ]\n }\n },\n {\n name: {\n common: \"Ghana\",\n official: \"Republic of Ghana\",\n nativeName: {\n eng: {\n official: \"Republic of Ghana\",\n common: \"Ghana\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"33\"\n ]\n }\n },\n {\n name: {\n common: \"Slovakia\",\n official: \"Slovak Republic\",\n nativeName: {\n slk: {\n official: \"Slovenská republika\",\n common: \"Slovensko\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"21\"\n ]\n }\n },\n {\n name: {\n common: \"American Samoa\",\n official: \"American Samoa\",\n nativeName: {\n eng: {\n official: \"American Samoa\",\n common: \"American Samoa\"\n },\n smo: {\n official: \"Sāmoa Amelika\",\n common: \"Sāmoa Amelika\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"684\"\n ]\n }\n },\n {\n name: {\n common: \"Moldova\",\n official: \"Republic of Moldova\",\n nativeName: {\n ron: {\n official: \"Republica Moldova\",\n common: \"Moldova\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"73\"\n ]\n }\n },\n {\n name: {\n common: \"Macau\",\n official: \"Macao Special Administrative Region of the People's Republic of China\",\n nativeName: {\n por: {\n official: \"Região Administrativa Especial de Macau da República Popular da China\",\n common: \"Macau\"\n },\n zho: {\n official: \"中华人民共和国澳门特别行政区\",\n common: \"澳门\"\n }\n }\n },\n idd: {\n root: \"+8\",\n suffixes: [\n \"53\"\n ]\n }\n },\n {\n name: {\n common: \"Turks and Caicos Islands\",\n official: \"Turks and Caicos Islands\",\n nativeName: {\n eng: {\n official: \"Turks and Caicos Islands\",\n common: \"Turks and Caicos Islands\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"649\"\n ]\n }\n },\n {\n name: {\n common: \"Seychelles\",\n official: \"Republic of Seychelles\",\n nativeName: {\n crs: {\n official: \"Repiblik Sesel\",\n common: \"Sesel\"\n },\n eng: {\n official: \"Republic of Seychelles\",\n common: \"Seychelles\"\n },\n fra: {\n official: \"République des Seychelles\",\n common: \"Seychelles\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"48\"\n ]\n }\n },\n {\n name: {\n common: \"Armenia\",\n official: \"Republic of Armenia\",\n nativeName: {\n hye: {\n official: \"Հայաստանի Հանրապետություն\",\n common: \"Հայաստան\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"74\"\n ]\n }\n },\n {\n name: {\n common: \"Curaçao\",\n official: \"Country of Curaçao\",\n nativeName: {\n eng: {\n official: \"Country of Curaçao\",\n common: \"Curaçao\"\n },\n nld: {\n official: \"Land Curaçao\",\n common: \"Curaçao\"\n },\n pap: {\n official: \"Pais Kòrsou\",\n common: \"Pais Kòrsou\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"99\"\n ]\n }\n },\n {\n name: {\n common: \"Guadeloupe\",\n official: \"Guadeloupe\",\n nativeName: {\n fra: {\n official: \"Guadeloupe\",\n common: \"Guadeloupe\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"90\"\n ]\n }\n },\n {\n name: {\n common: \"British Indian Ocean Territory\",\n official: \"British Indian Ocean Territory\",\n nativeName: {\n eng: {\n official: \"British Indian Ocean Territory\",\n common: \"British Indian Ocean Territory\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"46\"\n ]\n }\n },\n {\n name: {\n common: \"Equatorial Guinea\",\n official: \"Republic of Equatorial Guinea\",\n nativeName: {\n fra: {\n official: \"République de la Guinée Équatoriale\",\n common: \"Guinée équatoriale\"\n },\n por: {\n official: \"República da Guiné Equatorial\",\n common: \"Guiné Equatorial\"\n },\n spa: {\n official: \"República de Guinea Ecuatorial\",\n common: \"Guinea Ecuatorial\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"40\"\n ]\n }\n },\n {\n name: {\n common: \"Syria\",\n official: \"Syrian Arab Republic\",\n nativeName: {\n ara: {\n official: \"الجمهورية العربية السورية\",\n common: \"سوريا\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"63\"\n ]\n }\n },\n {\n name: {\n common: \"Angola\",\n official: \"Republic of Angola\",\n nativeName: {\n por: {\n official: \"República de Angola\",\n common: \"Angola\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"44\"\n ]\n }\n },\n {\n name: {\n common: \"Tajikistan\",\n official: \"Republic of Tajikistan\",\n nativeName: {\n rus: {\n official: \"Республика Таджикистан\",\n common: \"Таджикистан\"\n },\n tgk: {\n official: \"Ҷумҳурии Тоҷикистон\",\n common: \"Тоҷикистон\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"92\"\n ]\n }\n },\n {\n name: {\n common: \"United States Minor Outlying Islands\",\n official: \"United States Minor Outlying Islands\",\n nativeName: {\n eng: {\n official: \"United States Minor Outlying Islands\",\n common: \"United States Minor Outlying Islands\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"68\"\n ]\n }\n },\n {\n name: {\n common: \"Åland Islands\",\n official: \"Åland Islands\",\n nativeName: {\n swe: {\n official: \"Landskapet Åland\",\n common: \"Åland\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"5818\"\n ]\n }\n },\n {\n name: {\n common: \"Poland\",\n official: \"Republic of Poland\",\n nativeName: {\n pol: {\n official: \"Rzeczpospolita Polska\",\n common: \"Polska\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"8\"\n ]\n }\n },\n {\n name: {\n common: \"Saudi Arabia\",\n official: \"Kingdom of Saudi Arabia\",\n nativeName: {\n ara: {\n official: \"المملكة العربية السعودية\",\n common: \"العربية السعودية\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"66\"\n ]\n }\n },\n {\n name: {\n common: \"Bosnia and Herzegovina\",\n official: \"Bosnia and Herzegovina\",\n nativeName: {\n bos: {\n official: \"Bosna i Hercegovina\",\n common: \"Bosna i Hercegovina\"\n },\n hrv: {\n official: \"Bosna i Hercegovina\",\n common: \"Bosna i Hercegovina\"\n },\n srp: {\n official: \"Босна и Херцеговина\",\n common: \"Босна и Херцеговина\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"87\"\n ]\n }\n },\n {\n name: {\n common: \"United States Virgin Islands\",\n official: \"Virgin Islands of the United States\",\n nativeName: {\n eng: {\n official: \"Virgin Islands of the United States\",\n common: \"United States Virgin Islands\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"340\"\n ]\n }\n },\n {\n name: {\n common: \"New Caledonia\",\n official: \"New Caledonia\",\n nativeName: {\n fra: {\n official: \"Nouvelle-Calédonie\",\n common: \"Nouvelle-Calédonie\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"87\"\n ]\n }\n },\n {\n name: {\n common: \"San Marino\",\n official: \"Republic of San Marino\",\n nativeName: {\n ita: {\n official: \"Repubblica di San Marino\",\n common: \"San Marino\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"78\"\n ]\n }\n },\n {\n name: {\n common: \"Czechia\",\n official: \"Czech Republic\",\n nativeName: {\n ces: {\n official: \"Česká republika\",\n common: \"Česko\"\n },\n slk: {\n official: \"Česká republika\",\n common: \"Česko\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"20\"\n ]\n }\n },\n {\n name: {\n common: \"Guatemala\",\n official: \"Republic of Guatemala\",\n nativeName: {\n spa: {\n official: \"República de Guatemala\",\n common: \"Guatemala\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"02\"\n ]\n }\n },\n {\n name: {\n common: \"South Korea\",\n official: \"Republic of Korea\",\n nativeName: {\n kor: {\n official: \"대한민국\",\n common: \"한국\"\n }\n }\n },\n idd: {\n root: \"+8\",\n suffixes: [\n \"2\"\n ]\n }\n },\n {\n name: {\n common: \"Estonia\",\n official: \"Republic of Estonia\",\n nativeName: {\n est: {\n official: \"Eesti Vabariik\",\n common: \"Eesti\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"72\"\n ]\n }\n },\n {\n name: {\n common: \"Nepal\",\n official: \"Federal Democratic Republic of Nepal\",\n nativeName: {\n nep: {\n official: \"नेपाल संघीय लोकतान्त्रिक गणतन्त्र\",\n common: \"नेपाल\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"77\"\n ]\n }\n },\n {\n name: {\n common: \"Kosovo\",\n official: \"Republic of Kosovo\",\n nativeName: {\n sqi: {\n official: \"Republika e Kosovës\",\n common: \"Kosova\"\n },\n srp: {\n official: \"Република Косово\",\n common: \"Косово\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"83\"\n ]\n }\n },\n {\n name: {\n common: \"Botswana\",\n official: \"Republic of Botswana\",\n nativeName: {\n eng: {\n official: \"Republic of Botswana\",\n common: \"Botswana\"\n },\n tsn: {\n official: \"Lefatshe la Botswana\",\n common: \"Botswana\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"67\"\n ]\n }\n },\n {\n name: {\n common: \"Philippines\",\n official: \"Republic of the Philippines\",\n nativeName: {\n eng: {\n official: \"Republic of the Philippines\",\n common: \"Philippines\"\n },\n fil: {\n official: \"Republic of the Philippines\",\n common: \"Pilipinas\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"3\"\n ]\n }\n },\n {\n name: {\n common: \"Saint Pierre and Miquelon\",\n official: \"Saint Pierre and Miquelon\",\n nativeName: {\n fra: {\n official: \"Collectivité territoriale de Saint-Pierre-et-Miquelon\",\n common: \"Saint-Pierre-et-Miquelon\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"08\"\n ]\n }\n },\n {\n name: {\n common: \"Mongolia\",\n official: \"Mongolia\",\n nativeName: {\n mon: {\n official: \"Монгол улс\",\n common: \"Монгол улс\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"76\"\n ]\n }\n },\n {\n name: {\n common: \"Faroe Islands\",\n official: \"Faroe Islands\",\n nativeName: {\n dan: {\n official: \"Færøerne\",\n common: \"Færøerne\"\n },\n fao: {\n official: \"Føroyar\",\n common: \"Føroyar\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"98\"\n ]\n }\n },\n {\n name: {\n common: \"Paraguay\",\n official: \"Republic of Paraguay\",\n nativeName: {\n grn: {\n official: \"Tetã Paraguái\",\n common: \"Paraguái\"\n },\n spa: {\n official: \"República de Paraguay\",\n common: \"Paraguay\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"95\"\n ]\n }\n },\n {\n name: {\n common: \"Svalbard and Jan Mayen\",\n official: \"Svalbard og Jan Mayen\",\n nativeName: {\n nor: {\n official: \"Svalbard og Jan Mayen\",\n common: \"Svalbard og Jan Mayen\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"779\"\n ]\n }\n },\n {\n name: {\n common: \"Tokelau\",\n official: \"Tokelau\",\n nativeName: {\n eng: {\n official: \"Tokelau\",\n common: \"Tokelau\"\n },\n smo: {\n official: \"Tokelau\",\n common: \"Tokelau\"\n },\n tkl: {\n official: \"Tokelau\",\n common: \"Tokelau\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"90\"\n ]\n }\n },\n {\n name: {\n common: \"Guernsey\",\n official: \"Bailiwick of Guernsey\",\n nativeName: {\n eng: {\n official: \"Bailiwick of Guernsey\",\n common: \"Guernsey\"\n },\n fra: {\n official: \"Bailliage de Guernesey\",\n common: \"Guernesey\"\n },\n nfr: {\n official: \"Dgèrnésiais\",\n common: \"Dgèrnésiais\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Caribbean Netherlands\",\n official: \"Bonaire, Sint Eustatius and Saba\",\n nativeName: {\n nld: {\n official: \"Bonaire, Sint Eustatius en Saba\",\n common: \"Caribisch Nederland\"\n },\n pap: {\n official: \"Boneiru, Sint Eustatius y Saba\",\n common: \"Boneiru, Sint Eustatius y Saba\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"99\"\n ]\n }\n },\n {\n name: {\n common: \"Algeria\",\n official: \"People's Democratic Republic of Algeria\",\n nativeName: {\n ara: {\n official: \"الجمهورية الديمقراطية الشعبية الجزائرية\",\n common: \"الجزائر\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"13\"\n ]\n }\n },\n {\n name: {\n common: \"France\",\n official: \"French Republic\",\n nativeName: {\n fra: {\n official: \"République française\",\n common: \"France\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"3\"\n ]\n }\n },\n {\n name: {\n common: \"Netherlands\",\n official: \"Kingdom of the Netherlands\",\n nativeName: {\n nld: {\n official: \"Koninkrijk der Nederlanden\",\n common: \"Nederland\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"1\"\n ]\n }\n },\n {\n name: {\n common: \"Greenland\",\n official: \"Greenland\",\n nativeName: {\n kal: {\n official: \"Kalaallit Nunaat\",\n common: \"Kalaallit Nunaat\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"99\"\n ]\n }\n },\n {\n name: {\n common: \"Sint Maarten\",\n official: \"Sint Maarten\",\n nativeName: {\n eng: {\n official: \"Sint Maarten\",\n common: \"Sint Maarten\"\n },\n fra: {\n official: \"Saint-Martin\",\n common: \"Saint-Martin\"\n },\n nld: {\n official: \"Sint Maarten\",\n common: \"Sint Maarten\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"721\"\n ]\n }\n },\n {\n name: {\n common: \"Chad\",\n official: \"Republic of Chad\",\n nativeName: {\n ara: {\n official: \"جمهورية تشاد\",\n common: \"تشاد‎\"\n },\n fra: {\n official: \"République du Tchad\",\n common: \"Tchad\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"35\"\n ]\n }\n },\n {\n name: {\n common: \"Finland\",\n official: \"Republic of Finland\",\n nativeName: {\n fin: {\n official: \"Suomen tasavalta\",\n common: \"Suomi\"\n },\n swe: {\n official: \"Republiken Finland\",\n common: \"Finland\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"58\"\n ]\n }\n },\n {\n name: {\n common: \"Panama\",\n official: \"Republic of Panama\",\n nativeName: {\n spa: {\n official: \"República de Panamá\",\n common: \"Panamá\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"07\"\n ]\n }\n },\n {\n name: {\n common: \"Palestine\",\n official: \"State of Palestine\",\n nativeName: {\n ara: {\n official: \"دولة فلسطين\",\n common: \"فلسطين\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"70\"\n ]\n }\n },\n {\n name: {\n common: \"Yemen\",\n official: \"Republic of Yemen\",\n nativeName: {\n ara: {\n official: \"الجمهورية اليمنية\",\n common: \"اليَمَن\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"67\"\n ]\n }\n },\n {\n name: {\n common: \"Brazil\",\n official: \"Federative Republic of Brazil\",\n nativeName: {\n por: {\n official: \"República Federativa do Brasil\",\n common: \"Brasil\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"5\"\n ]\n }\n },\n {\n name: {\n common: \"Nigeria\",\n official: \"Federal Republic of Nigeria\",\n nativeName: {\n eng: {\n official: \"Federal Republic of Nigeria\",\n common: \"Nigeria\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"34\"\n ]\n }\n },\n {\n name: {\n common: \"Palau\",\n official: \"Republic of Palau\",\n nativeName: {\n eng: {\n official: \"Republic of Palau\",\n common: \"Palau\"\n },\n pau: {\n official: \"Beluu er a Belau\",\n common: \"Belau\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"80\"\n ]\n }\n },\n {\n name: {\n common: \"Japan\",\n official: \"Japan\",\n nativeName: {\n jpn: {\n official: \"日本\",\n common: \"日本\"\n }\n }\n },\n idd: {\n root: \"+8\",\n suffixes: [\n \"1\"\n ]\n }\n },\n {\n name: {\n common: \"Tanzania\",\n official: \"United Republic of Tanzania\",\n nativeName: {\n eng: {\n official: \"United Republic of Tanzania\",\n common: \"Tanzania\"\n },\n swa: {\n official: \"Jamhuri ya Muungano wa Tanzania\",\n common: \"Tanzania\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"55\"\n ]\n }\n },\n {\n name: {\n common: \"Kazakhstan\",\n official: \"Republic of Kazakhstan\",\n nativeName: {\n kaz: {\n official: \"Қазақстан Республикасы\",\n common: \"Қазақстан\"\n },\n rus: {\n official: \"Республика Казахстан\",\n common: \"Казахстан\"\n }\n }\n },\n idd: {\n root: \"+7\",\n suffixes: [\n \"6\",\n \"7\"\n ]\n }\n },\n {\n name: {\n common: \"Portugal\",\n official: \"Portuguese Republic\",\n nativeName: {\n por: {\n official: \"República português\",\n common: \"Portugal\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"51\"\n ]\n }\n },\n {\n name: {\n common: \"South Georgia\",\n official: \"South Georgia and the South Sandwich Islands\",\n nativeName: {\n eng: {\n official: \"South Georgia and the South Sandwich Islands\",\n common: \"South Georgia\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"00\"\n ]\n }\n },\n {\n name: {\n common: \"Sri Lanka\",\n official: \"Democratic Socialist Republic of Sri Lanka\",\n nativeName: {\n sin: {\n official: \"ශ්‍රී ලංකා ප්‍රජාතාන්ත්‍රික සමාජවාදී ජනරජය\",\n common: \"ශ්‍රී ලංකාව\"\n },\n tam: {\n official: \"இலங்கை சனநாயக சோசலிசக் குடியரசு\",\n common: \"இலங்கை\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Germany\",\n official: \"Federal Republic of Germany\",\n nativeName: {\n deu: {\n official: \"Bundesrepublik Deutschland\",\n common: \"Deutschland\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"9\"\n ]\n }\n },\n {\n name: {\n common: \"Western Sahara\",\n official: \"Sahrawi Arab Democratic Republic\",\n nativeName: {\n ber: {\n official: \"Sahrawi Arab Democratic Republic\",\n common: \"Western Sahara\"\n },\n mey: {\n official: \"الجمهورية العربية الصحراوية الديمقراطية\",\n common: \"الصحراء الغربية\"\n },\n spa: {\n official: \"República Árabe Saharaui Democrática\",\n common: \"Sahara Occidental\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"125288\",\n \"125289\"\n ]\n }\n },\n {\n name: {\n common: \"Colombia\",\n official: \"Republic of Colombia\",\n nativeName: {\n spa: {\n official: \"República de Colombia\",\n common: \"Colombia\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"7\"\n ]\n }\n },\n {\n name: {\n common: \"Peru\",\n official: \"Republic of Peru\",\n nativeName: {\n aym: {\n official: \"Piruw Suyu\",\n common: \"Piruw\"\n },\n que: {\n official: \"Piruw Ripuwlika\",\n common: \"Piruw\"\n },\n spa: {\n official: \"República del Perú\",\n common: \"Perú\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"1\"\n ]\n }\n },\n {\n name: {\n common: \"Senegal\",\n official: \"Republic of Senegal\",\n nativeName: {\n fra: {\n official: \"République du Sénégal\",\n common: \"Sénégal\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"21\"\n ]\n }\n },\n {\n name: {\n common: \"Kyrgyzstan\",\n official: \"Kyrgyz Republic\",\n nativeName: {\n kir: {\n official: \"Кыргыз Республикасы\",\n common: \"Кыргызстан\"\n },\n rus: {\n official: \"Кыргызская Республика\",\n common: \"Киргизия\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"96\"\n ]\n }\n },\n {\n name: {\n common: \"Afghanistan\",\n official: \"Islamic Republic of Afghanistan\",\n nativeName: {\n prs: {\n official: \"جمهوری اسلامی افغانستان\",\n common: \"افغانستان\"\n },\n pus: {\n official: \"د افغانستان اسلامي جمهوریت\",\n common: \"افغانستان\"\n },\n tuk: {\n official: \"Owganystan Yslam Respublikasy\",\n common: \"Owganystan\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"3\"\n ]\n }\n },\n {\n name: {\n common: \"Turkey\",\n official: \"Republic of Turkey\",\n nativeName: {\n tur: {\n official: \"Türkiye Cumhuriyeti\",\n common: \"Türkiye\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"0\"\n ]\n }\n },\n {\n name: {\n common: \"Liberia\",\n official: \"Republic of Liberia\",\n nativeName: {\n eng: {\n official: \"Republic of Liberia\",\n common: \"Liberia\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"31\"\n ]\n }\n },\n {\n name: {\n common: \"South Africa\",\n official: \"Republic of South Africa\",\n nativeName: {\n afr: {\n official: \"Republiek van Suid-Afrika\",\n common: \"South Africa\"\n },\n eng: {\n official: \"Republic of South Africa\",\n common: \"South Africa\"\n },\n nbl: {\n official: \"IRiphabliki yeSewula Afrika\",\n common: \"Sewula Afrika\"\n },\n nso: {\n official: \"Rephaboliki ya Afrika-Borwa \",\n common: \"Afrika-Borwa\"\n },\n sot: {\n official: \"Rephaboliki ya Afrika Borwa\",\n common: \"Afrika Borwa\"\n },\n ssw: {\n official: \"IRiphabhulikhi yeNingizimu Afrika\",\n common: \"Ningizimu Afrika\"\n },\n tsn: {\n official: \"Rephaboliki ya Aforika Borwa\",\n common: \"Aforika Borwa\"\n },\n tso: {\n official: \"Riphabliki ra Afrika Dzonga\",\n common: \"Afrika Dzonga\"\n },\n ven: {\n official: \"Riphabuḽiki ya Afurika Tshipembe\",\n common: \"Afurika Tshipembe\"\n },\n xho: {\n official: \"IRiphabliki yaseMzantsi Afrika\",\n common: \"Mzantsi Afrika\"\n },\n zul: {\n official: \"IRiphabliki yaseNingizimu Afrika\",\n common: \"Ningizimu Afrika\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"7\"\n ]\n }\n },\n {\n name: {\n common: \"Chile\",\n official: \"Republic of Chile\",\n nativeName: {\n spa: {\n official: \"República de Chile\",\n common: \"Chile\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"6\"\n ]\n }\n },\n {\n name: {\n common: \"Malta\",\n official: \"Republic of Malta\",\n nativeName: {\n eng: {\n official: \"Republic of Malta\",\n common: \"Malta\"\n },\n mlt: {\n official: \"Repubblika ta ' Malta\",\n common: \"Malta\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"56\"\n ]\n }\n },\n {\n name: {\n common: \"Kiribati\",\n official: \"Independent and Sovereign Republic of Kiribati\",\n nativeName: {\n eng: {\n official: \"Independent and Sovereign Republic of Kiribati\",\n common: \"Kiribati\"\n },\n gil: {\n official: \"Ribaberiki Kiribati\",\n common: \"Kiribati\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"86\"\n ]\n }\n },\n {\n name: {\n common: \"Cape Verde\",\n official: \"Republic of Cabo Verde\",\n nativeName: {\n por: {\n official: \"República de Cabo Verde\",\n common: \"Cabo Verde\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"38\"\n ]\n }\n },\n {\n name: {\n common: \"Jersey\",\n official: \"Bailiwick of Jersey\",\n nativeName: {\n eng: {\n official: \"Bailiwick of Jersey\",\n common: \"Jersey\"\n },\n fra: {\n official: \"Bailliage de Jersey\",\n common: \"Jersey\"\n },\n nrf: {\n official: \"Bailliage dé Jèrri\",\n common: \"Jèrri\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Iceland\",\n official: \"Iceland\",\n nativeName: {\n isl: {\n official: \"Ísland\",\n common: \"Ísland\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"54\"\n ]\n }\n },\n {\n name: {\n common: \"Gambia\",\n official: \"Republic of the Gambia\",\n nativeName: {\n eng: {\n official: \"Republic of the Gambia\",\n common: \"Gambia\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"20\"\n ]\n }\n },\n {\n name: {\n common: \"Vanuatu\",\n official: \"Republic of Vanuatu\",\n nativeName: {\n bis: {\n official: \"Ripablik blong Vanuatu\",\n common: \"Vanuatu\"\n },\n eng: {\n official: \"Republic of Vanuatu\",\n common: \"Vanuatu\"\n },\n fra: {\n official: \"République de Vanuatu\",\n common: \"Vanuatu\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"78\"\n ]\n }\n },\n {\n name: {\n common: \"Uruguay\",\n official: \"Oriental Republic of Uruguay\",\n nativeName: {\n spa: {\n official: \"República Oriental del Uruguay\",\n common: \"Uruguay\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"98\"\n ]\n }\n },\n {\n name: {\n common: \"Oman\",\n official: \"Sultanate of Oman\",\n nativeName: {\n ara: {\n official: \"سلطنة عمان\",\n common: \"عمان\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"68\"\n ]\n }\n },\n {\n name: {\n common: \"India\",\n official: \"Republic of India\",\n nativeName: {\n eng: {\n official: \"Republic of India\",\n common: \"India\"\n },\n hin: {\n official: \"भारत गणराज्य\",\n common: \"भारत\"\n },\n tam: {\n official: \"இந்தியக் குடியரசு\",\n common: \"இந்தியா\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"1\"\n ]\n }\n },\n {\n name: {\n common: \"Laos\",\n official: \"Lao People's Democratic Republic\",\n nativeName: {\n lao: {\n official: \"ສາທາລະນະ ຊາທິປະໄຕ ຄົນລາວ ຂອງ\",\n common: \"ສປປລາວ\"\n }\n }\n },\n idd: {\n root: \"+8\",\n suffixes: [\n \"56\"\n ]\n }\n },\n {\n name: {\n common: \"Aruba\",\n official: \"Aruba\",\n nativeName: {\n nld: {\n official: \"Aruba\",\n common: \"Aruba\"\n },\n pap: {\n official: \"Aruba\",\n common: \"Aruba\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"97\"\n ]\n }\n },\n {\n name: {\n common: \"Martinique\",\n official: \"Martinique\",\n nativeName: {\n fra: {\n official: \"Martinique\",\n common: \"Martinique\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"96\"\n ]\n }\n },\n {\n name: {\n common: \"Comoros\",\n official: \"Union of the Comoros\",\n nativeName: {\n ara: {\n official: \"الاتحاد القمري\",\n common: \"القمر‎\"\n },\n fra: {\n official: \"Union des Comores\",\n common: \"Comores\"\n },\n zdj: {\n official: \"Udzima wa Komori\",\n common: \"Komori\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"69\"\n ]\n }\n },\n {\n name: {\n common: \"Spain\",\n official: \"Kingdom of Spain\",\n nativeName: {\n spa: {\n official: \"Reino de España\",\n common: \"España\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Espanola\",\n official: \"Kingdom of Spain\",\n nativeName: {\n spa: {\n official: \"Reino de España\",\n common: \"España\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Antigua and Barbuda\",\n official: \"Antigua and Barbuda\",\n nativeName: {\n eng: {\n official: \"Antigua and Barbuda\",\n common: \"Antigua and Barbuda\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"268\"\n ]\n }\n },\n {\n name: {\n common: \"Uzbekistan\",\n official: \"Republic of Uzbekistan\",\n nativeName: {\n rus: {\n official: \"Республика Узбекистан\",\n common: \"Узбекистан\"\n },\n uzb: {\n official: \"O'zbekiston Respublikasi\",\n common: \"O‘zbekiston\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"98\"\n ]\n }\n },\n {\n name: {\n common: \"Maldives\",\n official: \"Republic of the Maldives\",\n nativeName: {\n div: {\n official: \"ދިވެހިރާއްޖޭގެ ޖުމްހޫރިއްޔާ\",\n common: \"ދިވެހިރާއްޖޭގެ\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"60\"\n ]\n }\n },\n {\n name: {\n common: \"Gibraltar\",\n official: \"Gibraltar\",\n nativeName: {\n eng: {\n official: \"Gibraltar\",\n common: \"Gibraltar\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"50\"\n ]\n }\n },\n {\n name: {\n common: \"Indonesia\",\n official: \"Republic of Indonesia\",\n nativeName: {\n ind: {\n official: \"Republik Indonesia\",\n common: \"Indonesia\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"2\"\n ]\n }\n },\n {\n name: {\n common: \"Pitcairn Islands\",\n official: \"Pitcairn Group of Islands\",\n nativeName: {\n eng: {\n official: \"Pitcairn Group of Islands\",\n common: \"Pitcairn Islands\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Vietnam\",\n official: \"Socialist Republic of Vietnam\",\n nativeName: {\n vie: {\n official: \"Cộng hòa xã hội chủ nghĩa Việt Nam\",\n common: \"Việt Nam\"\n }\n }\n },\n idd: {\n root: \"+8\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Malaysia\",\n official: \"Malaysia\",\n nativeName: {\n eng: {\n official: \"Malaysia\",\n common: \"Malaysia\"\n },\n msa: {\n official: \"مليسيا\",\n common: \"مليسيا\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"0\"\n ]\n }\n },\n {\n name: {\n common: \"Cook Islands\",\n official: \"Cook Islands\",\n nativeName: {\n eng: {\n official: \"Cook Islands\",\n common: \"Cook Islands\"\n },\n rar: {\n official: \"Kūki 'Āirani\",\n common: \"Kūki 'Āirani\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"82\"\n ]\n }\n },\n {\n name: {\n common: \"Eswatini\",\n official: \"Kingdom of Eswatini\",\n nativeName: {\n eng: {\n official: \"Kingdom of Eswatini\",\n common: \"Eswatini\"\n },\n ssw: {\n official: \"Umbuso weSwatini\",\n common: \"eSwatini\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"68\"\n ]\n }\n },\n {\n name: {\n common: \"Uganda\",\n official: \"Republic of Uganda\",\n nativeName: {\n eng: {\n official: \"Republic of Uganda\",\n common: \"Uganda\"\n },\n swa: {\n official: \"Republic of Uganda\",\n common: \"Uganda\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"56\"\n ]\n }\n },\n {\n name: {\n common: \"Madagascar\",\n official: \"Republic of Madagascar\",\n nativeName: {\n fra: {\n official: \"République de Madagascar\",\n common: \"Madagascar\"\n },\n mlg: {\n official: \"Repoblikan'i Madagasikara\",\n common: \"Madagasikara\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"61\"\n ]\n }\n },\n {\n name: {\n common: \"Fiji\",\n official: \"Republic of Fiji\",\n nativeName: {\n eng: {\n official: \"Republic of Fiji\",\n common: \"Fiji\"\n },\n fij: {\n official: \"Matanitu Tugalala o Viti\",\n common: \"Viti\"\n },\n hif: {\n official: \"रिपब्लिक ऑफ फीजी\",\n common: \"फिजी\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"79\"\n ]\n }\n },\n {\n name: {\n common: \"Norway\",\n official: \"Kingdom of Norway\",\n nativeName: {\n nno: {\n official: \"Kongeriket Noreg\",\n common: \"Noreg\"\n },\n nob: {\n official: \"Kongeriket Norge\",\n common: \"Norge\"\n },\n smi: {\n official: \"Norgga gonagasriika\",\n common: \"Norgga\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"7\"\n ]\n }\n },\n {\n name: {\n common: \"Antarctica\",\n official: \"Antarctica\",\n nativeName: {}\n },\n idd: {\n root: \"\",\n suffixes: []\n }\n },\n {\n name: {\n common: \"Bouvet Island\",\n official: \"Bouvet Island\",\n nativeName: {\n nor: {\n official: \"Bouvetøya\",\n common: \"Bouvetøya\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"7\"\n ]\n }\n },\n {\n name: {\n common: \"Cyprus\",\n official: \"Republic of Cyprus\",\n nativeName: {\n ell: {\n official: \"Δημοκρατία της Κύπρος\",\n common: \"Κύπρος\"\n },\n tur: {\n official: \"Kıbrıs Cumhuriyeti\",\n common: \"Kıbrıs\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"57\"\n ]\n }\n },\n {\n name: {\n common: \"Taiwan\",\n official: \"Republic of China (Taiwan)\",\n nativeName: {\n zho: {\n official: \"中華民國\",\n common: \"台灣\"\n }\n }\n },\n idd: {\n root: \"+8\",\n suffixes: [\n \"86\"\n ]\n }\n },\n {\n name: {\n common: \"Papua New Guinea\",\n official: \"Independent State of Papua New Guinea\",\n nativeName: {\n eng: {\n official: \"Independent State of Papua New Guinea\",\n common: \"Papua New Guinea\"\n },\n hmo: {\n official: \"Independen Stet bilong Papua Niugini\",\n common: \"Papua Niu Gini\"\n },\n tpi: {\n official: \"Independen Stet bilong Papua Niugini\",\n common: \"Papua Niugini\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"75\"\n ]\n }\n },\n {\n name: {\n common: \"Rwanda\",\n official: \"Republic of Rwanda\",\n nativeName: {\n eng: {\n official: \"Republic of Rwanda\",\n common: \"Rwanda\"\n },\n fra: {\n official: \"République rwandaise\",\n common: \"Rwanda\"\n },\n kin: {\n official: \"Repubulika y'u Rwanda\",\n common: \"Rwanda\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"50\"\n ]\n }\n },\n {\n name: {\n common: \"DR Congo\",\n official: \"Democratic Republic of the Congo\",\n nativeName: {\n fra: {\n official: \"République démocratique du Congo\",\n common: \"RD Congo\"\n },\n kon: {\n official: \"Repubilika ya Kongo Demokratiki\",\n common: \"Repubilika ya Kongo Demokratiki\"\n },\n lin: {\n official: \"Republiki ya Kongó Demokratiki\",\n common: \"Republiki ya Kongó Demokratiki\"\n },\n lua: {\n official: \"Ditunga dia Kongu wa Mungalaata\",\n common: \"Ditunga dia Kongu wa Mungalaata\"\n },\n swa: {\n official: \"Jamhuri ya Kidemokrasia ya Kongo\",\n common: \"Jamhuri ya Kidemokrasia ya Kongo\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"43\"\n ]\n }\n },\n {\n name: {\n common: \"Cameroon\",\n official: \"Republic of Cameroon\",\n nativeName: {\n eng: {\n official: \"Republic of Cameroon\",\n common: \"Cameroon\"\n },\n fra: {\n official: \"République du Cameroun\",\n common: \"Cameroun\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"37\"\n ]\n }\n },\n {\n name: {\n common: \"Serbia\",\n official: \"Republic of Serbia\",\n nativeName: {\n srp: {\n official: \"Република Србија\",\n common: \"Србија\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"81\"\n ]\n }\n },\n {\n name: {\n common: \"Lithuania\",\n official: \"Republic of Lithuania\",\n nativeName: {\n lit: {\n official: \"Lietuvos Respublikos\",\n common: \"Lietuva\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"70\"\n ]\n }\n },\n {\n name: {\n common: \"French Southern and Antarctic Lands\",\n official: \"Territory of the French Southern and Antarctic Lands\",\n nativeName: {\n fra: {\n official: \"Territoire des Terres australes et antarctiques françaises\",\n common: \"Terres australes et antarctiques françaises\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"62\"\n ]\n }\n },\n {\n name: {\n common: \"Cambodia\",\n official: \"Kingdom of Cambodia\",\n nativeName: {\n khm: {\n official: \"ព្រះរាជាណាចក្រកម្ពុជា\",\n common: \"Kâmpŭchéa\"\n }\n }\n },\n idd: {\n root: \"+8\",\n suffixes: [\n \"55\"\n ]\n }\n },\n {\n name: {\n common: \"Saint Helena, Ascension and Tristan da Cunha\",\n official: \"Saint Helena, Ascension and Tristan da Cunha\",\n nativeName: {\n eng: {\n official: \"Saint Helena, Ascension and Tristan da Cunha\",\n common: \"Saint Helena, Ascension and Tristan da Cunha\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"90\",\n \"47\"\n ]\n }\n },\n {\n name: {\n common: \"United Arab Emirates\",\n official: \"United Arab Emirates\",\n nativeName: {\n ara: {\n official: \"الإمارات العربية المتحدة\",\n common: \"دولة الإمارات العربية المتحدة\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"71\"\n ]\n }\n },\n {\n name: {\n common: \"Bermuda\",\n official: \"Bermuda\",\n nativeName: {\n eng: {\n official: \"Bermuda\",\n common: \"Bermuda\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"441\"\n ]\n }\n },\n {\n name: {\n common: \"Monaco\",\n official: \"Principality of Monaco\",\n nativeName: {\n fra: {\n official: \"Principauté de Monaco\",\n common: \"Monaco\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"77\"\n ]\n }\n },\n {\n name: {\n common: \"Northern Mariana Islands\",\n official: \"Commonwealth of the Northern Mariana Islands\",\n nativeName: {\n cal: {\n official: \"Commonwealth of the Northern Mariana Islands\",\n common: \"Northern Mariana Islands\"\n },\n cha: {\n official: \"Sankattan Siha Na Islas Mariånas\",\n common: \"Na Islas Mariånas\"\n },\n eng: {\n official: \"Commonwealth of the Northern Mariana Islands\",\n common: \"Northern Mariana Islands\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"670\"\n ]\n }\n },\n {\n name: {\n common: \"Togo\",\n official: \"Togolese Republic\",\n nativeName: {\n fra: {\n official: \"République togolaise\",\n common: \"Togo\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"28\"\n ]\n }\n },\n {\n name: {\n common: \"Luxembourg\",\n official: \"Grand Duchy of Luxembourg\",\n nativeName: {\n deu: {\n official: \"Großherzogtum Luxemburg\",\n common: \"Luxemburg\"\n },\n fra: {\n official: \"Grand-Duché de Luxembourg\",\n common: \"Luxembourg\"\n },\n ltz: {\n official: \"Groussherzogtum Lëtzebuerg\",\n common: \"Lëtzebuerg\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"52\"\n ]\n }\n },\n {\n name: {\n common: \"Mauritius\",\n official: \"Republic of Mauritius\",\n nativeName: {\n eng: {\n official: \"Republic of Mauritius\",\n common: \"Mauritius\"\n },\n fra: {\n official: \"République de Maurice\",\n common: \"Maurice\"\n },\n mfe: {\n official: \"Republik Moris\",\n common: \"Moris\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"30\"\n ]\n }\n },\n {\n name: {\n common: \"Argentina\",\n official: \"Argentine Republic\",\n nativeName: {\n grn: {\n official: \"Argentine Republic\",\n common: \"Argentina\"\n },\n spa: {\n official: \"República Argentina\",\n common: \"Argentina\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Grenada\",\n official: \"Grenada\",\n nativeName: {\n eng: {\n official: \"Grenada\",\n common: \"Grenada\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"473\"\n ]\n }\n },\n {\n name: {\n common: \"Nicaragua\",\n official: \"Republic of Nicaragua\",\n nativeName: {\n spa: {\n official: \"República de Nicaragua\",\n common: \"Nicaragua\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"05\"\n ]\n }\n },\n {\n name: {\n common: \"Niue\",\n official: \"Niue\",\n nativeName: {\n eng: {\n official: \"Niue\",\n common: \"Niue\"\n },\n niu: {\n official: \"Niuē\",\n common: \"Niuē\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"83\"\n ]\n }\n },\n {\n name: {\n common: \"Guyana\",\n official: \"Co-operative Republic of Guyana\",\n nativeName: {\n eng: {\n official: \"Co-operative Republic of Guyana\",\n common: \"Guyana\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"92\"\n ]\n }\n },\n {\n name: {\n common: \"Niger\",\n official: \"Republic of Niger\",\n nativeName: {\n fra: {\n official: \"République du Niger\",\n common: \"Niger\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"27\"\n ]\n }\n },\n {\n name: {\n common: \"Benin\",\n official: \"Republic of Benin\",\n nativeName: {\n fra: {\n official: \"République du Bénin\",\n common: \"Bénin\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"29\"\n ]\n }\n },\n {\n name: {\n common: \"Saint Lucia\",\n official: \"Saint Lucia\",\n nativeName: {\n eng: {\n official: \"Saint Lucia\",\n common: \"Saint Lucia\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"758\"\n ]\n }\n },\n {\n name: {\n common: \"Tuvalu\",\n official: \"Tuvalu\",\n nativeName: {\n eng: {\n official: \"Tuvalu\",\n common: \"Tuvalu\"\n },\n tvl: {\n official: \"Tuvalu\",\n common: \"Tuvalu\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"88\"\n ]\n }\n },\n {\n name: {\n common: \"Norfolk Island\",\n official: \"Territory of Norfolk Island\",\n nativeName: {\n eng: {\n official: \"Territory of Norfolk Island\",\n common: \"Norfolk Island\"\n },\n pih: {\n official: \"Teratri of Norf'k Ailen\",\n common: \"Norf'k Ailen\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"72\"\n ]\n }\n },\n {\n name: {\n common: \"Egypt\",\n official: \"Arab Republic of Egypt\",\n nativeName: {\n ara: {\n official: \"جمهورية مصر العربية\",\n common: \"مصر\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"0\"\n ]\n }\n },\n {\n name: {\n common: \"Saint Kitts and Nevis\",\n official: \"Federation of Saint Christopher and Nevis\",\n nativeName: {\n eng: {\n official: \"Federation of Saint Christopher and Nevis\",\n common: \"Saint Kitts and Nevis\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"869\"\n ]\n }\n },\n {\n name: {\n common: \"Lesotho\",\n official: \"Kingdom of Lesotho\",\n nativeName: {\n eng: {\n official: \"Kingdom of Lesotho\",\n common: \"Lesotho\"\n },\n sot: {\n official: \"Kingdom of Lesotho\",\n common: \"Lesotho\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"66\"\n ]\n }\n },\n {\n name: {\n common: \"Tonga\",\n official: \"Kingdom of Tonga\",\n nativeName: {\n eng: {\n official: \"Kingdom of Tonga\",\n common: \"Tonga\"\n },\n ton: {\n official: \"Kingdom of Tonga\",\n common: \"Tonga\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"76\"\n ]\n }\n },\n {\n name: {\n common: \"Georgia\",\n official: \"Georgia\",\n nativeName: {\n kat: {\n official: \"საქართველო\",\n common: \"საქართველო\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"95\"\n ]\n }\n },\n {\n name: {\n common: \"Ethiopia\",\n official: \"Federal Democratic Republic of Ethiopia\",\n nativeName: {\n amh: {\n official: \"የኢትዮጵያ ፌዴራላዊ ዲሞክራሲያዊ ሪፐብሊክ\",\n common: \"ኢትዮጵያ\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"51\"\n ]\n }\n },\n {\n name: {\n common: \"Dominican Republic\",\n official: \"Dominican Republic\",\n nativeName: {\n spa: {\n official: \"República Dominicana\",\n common: \"República Dominicana\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"809\",\n \"829\",\n \"849\"\n ]\n }\n },\n {\n name: {\n common: \"Saint Vincent and the Grenadines\",\n official: \"Saint Vincent and the Grenadines\",\n nativeName: {\n eng: {\n official: \"Saint Vincent and the Grenadines\",\n common: \"Saint Vincent and the Grenadines\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"784\"\n ]\n }\n },\n {\n name: {\n common: \"Belize\",\n official: \"Belize\",\n nativeName: {\n bjz: {\n official: \"Belize\",\n common: \"Belize\"\n },\n eng: {\n official: \"Belize\",\n common: \"Belize\"\n },\n spa: {\n official: \"Belice\",\n common: \"Belice\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"01\"\n ]\n }\n },\n {\n name: {\n common: \"Isle of Man\",\n official: \"Isle of Man\",\n nativeName: {\n eng: {\n official: \"Isle of Man\",\n common: \"Isle of Man\"\n },\n glv: {\n official: \"Ellan Vannin or Mannin\",\n common: \"Mannin\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Morocco\",\n official: \"Kingdom of Morocco\",\n nativeName: {\n ara: {\n official: \"المملكة المغربية\",\n common: \"المغرب\"\n },\n ber: {\n official: \"ⵜⴰⴳⵍⴷⵉⵜ ⵏ ⵍⵎⵖⵔⵉⴱ\",\n common: \"ⵍⵎⴰⵖⵔⵉⴱ\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"12\"\n ]\n }\n },\n {\n name: {\n common: \"Haiti\",\n official: \"Republic of Haiti\",\n nativeName: {\n fra: {\n official: \"République d'Haïti\",\n common: \"Haïti\"\n },\n hat: {\n official: \"Repiblik Ayiti\",\n common: \"Ayiti\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"09\"\n ]\n }\n },\n {\n name: {\n common: \"Mayotte\",\n official: \"Department of Mayotte\",\n nativeName: {\n fra: {\n official: \"Département de Mayotte\",\n common: \"Mayotte\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"62\"\n ]\n }\n },\n {\n name: {\n common: \"Burkina Faso\",\n official: \"Burkina Faso\",\n nativeName: {\n fra: {\n official: \"République du Burkina\",\n common: \"Burkina Faso\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"26\"\n ]\n }\n },\n {\n name: {\n common: \"Bangladesh\",\n official: \"People's Republic of Bangladesh\",\n nativeName: {\n ben: {\n official: \"বাংলাদেশ গণপ্রজাতন্ত্রী\",\n common: \"বাংলাদেশ\"\n }\n }\n },\n idd: {\n root: \"+8\",\n suffixes: [\n \"80\"\n ]\n }\n },\n {\n name: {\n common: \"Kuwait\",\n official: \"State of Kuwait\",\n nativeName: {\n ara: {\n official: \"دولة الكويت\",\n common: \"الكويت\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"65\"\n ]\n }\n },\n {\n name: {\n common: \"Réunion\",\n official: \"Réunion Island\",\n nativeName: {\n fra: {\n official: \"Ile de la Réunion\",\n common: \"La Réunion\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"62\"\n ]\n }\n },\n {\n name: {\n common: \"Jamaica\",\n official: \"Jamaica\",\n nativeName: {\n eng: {\n official: \"Jamaica\",\n common: \"Jamaica\"\n },\n jam: {\n official: \"Jamaica\",\n common: \"Jamaica\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"876\"\n ]\n }\n },\n {\n name: {\n common: \"Romania\",\n official: \"Romania\",\n nativeName: {\n ron: {\n official: \"România\",\n common: \"România\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"0\"\n ]\n }\n },\n {\n name: {\n common: \"São Tomé and Príncipe\",\n official: \"Democratic Republic of São Tomé and Príncipe\",\n nativeName: {\n por: {\n official: \"República Democrática do São Tomé e Príncipe\",\n common: \"São Tomé e Príncipe\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"39\"\n ]\n }\n },\n {\n name: {\n common: \"Bahamas\",\n official: \"Commonwealth of the Bahamas\",\n nativeName: {\n eng: {\n official: \"Commonwealth of the Bahamas\",\n common: \"Bahamas\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"242\"\n ]\n }\n },\n {\n name: {\n common: \"Mexico\",\n official: \"United Mexican States\",\n nativeName: {\n spa: {\n official: \"Estados Unidos Mexicanos\",\n common: \"México\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"2\"\n ]\n }\n },\n {\n name: {\n common: \"Saint Martin\",\n official: \"Saint Martin\",\n nativeName: {\n fra: {\n official: \"Saint-Martin\",\n common: \"Saint-Martin\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"90\"\n ]\n }\n },\n {\n name: {\n common: \"El Salvador\",\n official: \"Republic of El Salvador\",\n nativeName: {\n spa: {\n official: \"República de El Salvador\",\n common: \"El Salvador\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"03\"\n ]\n }\n },\n {\n name: {\n common: \"Saint Barthélemy\",\n official: \"Collectivity of Saint Barthélemy\",\n nativeName: {\n fra: {\n official: \"Collectivité de Saint-Barthélemy\",\n common: \"Saint-Barthélemy\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"90\"\n ]\n }\n },\n {\n name: {\n common: \"Micronesia\",\n official: \"Federated States of Micronesia\",\n nativeName: {\n eng: {\n official: \"Federated States of Micronesia\",\n common: \"Micronesia\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"91\"\n ]\n }\n },\n {\n name: {\n common: \"Turkmenistan\",\n official: \"Turkmenistan\",\n nativeName: {\n rus: {\n official: \"Туркменистан\",\n common: \"Туркмения\"\n },\n tuk: {\n official: \"Türkmenistan\",\n common: \"Türkmenistan\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"93\"\n ]\n }\n },\n {\n name: {\n common: \"Anguilla\",\n official: \"Anguilla\",\n nativeName: {\n eng: {\n official: \"Anguilla\",\n common: \"Anguilla\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"264\"\n ]\n }\n },\n {\n name: {\n common: \"Central African Republic\",\n official: \"Central African Republic\",\n nativeName: {\n fra: {\n official: \"République centrafricaine\",\n common: \"République centrafricaine\"\n },\n sag: {\n official: \"Ködörösêse tî Bêafrîka\",\n common: \"Bêafrîka\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"36\"\n ]\n }\n },\n {\n name: {\n common: \"Suriname\",\n official: \"Republic of Suriname\",\n nativeName: {\n nld: {\n official: \"Republiek Suriname\",\n common: \"Suriname\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"97\"\n ]\n }\n },\n {\n name: {\n common: \"Belgium\",\n official: \"Kingdom of Belgium\",\n nativeName: {\n deu: {\n official: \"Königreich Belgien\",\n common: \"Belgien\"\n },\n fra: {\n official: \"Royaume de Belgique\",\n common: \"Belgique\"\n },\n nld: {\n official: \"Koninkrijk België\",\n common: \"België\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"2\"\n ]\n }\n },\n {\n name: {\n common: \"Sweden\",\n official: \"Kingdom of Sweden\",\n nativeName: {\n swe: {\n official: \"Konungariket Sverige\",\n common: \"Sverige\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"6\"\n ]\n }\n },\n {\n name: {\n common: \"Bolivia\",\n official: \"Plurinational State of Bolivia\",\n nativeName: {\n aym: {\n official: \"Wuliwya Suyu\",\n common: \"Wuliwya\"\n },\n grn: {\n official: \"Tetã Volívia\",\n common: \"Volívia\"\n },\n que: {\n official: \"Buliwya Mamallaqta\",\n common: \"Buliwya\"\n },\n spa: {\n official: \"Estado Plurinacional de Bolivia\",\n common: \"Bolivia\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"91\"\n ]\n }\n },\n {\n name: {\n common: \"Montenegro\",\n official: \"Montenegro\",\n nativeName: {\n cnr: {\n official: \"Црна Гора\",\n common: \"Црна Гора\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"82\"\n ]\n }\n },\n {\n name: {\n common: \"Mozambique\",\n official: \"Republic of Mozambique\",\n nativeName: {\n por: {\n official: \"República de Moçambique\",\n common: \"Moçambique\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"58\"\n ]\n }\n },\n {\n name: {\n common: \"Latvia\",\n official: \"Republic of Latvia\",\n nativeName: {\n lav: {\n official: \"Latvijas Republikas\",\n common: \"Latvija\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"71\"\n ]\n }\n },\n {\n name: {\n common: \"Malawi\",\n official: \"Republic of Malawi\",\n nativeName: {\n eng: {\n official: \"Republic of Malawi\",\n common: \"Malawi\"\n },\n nya: {\n official: \"Chalo cha Malawi, Dziko la Malaŵi\",\n common: \"Malaŵi\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"65\"\n ]\n }\n },\n {\n name: {\n common: \"Vatican City\",\n official: \"Vatican City State\",\n nativeName: {\n ita: {\n official: \"Stato della Città del Vaticano\",\n common: \"Vaticano\"\n },\n lat: {\n official: \"Status Civitatis Vaticanæ\",\n common: \"Vaticanæ\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"906698\",\n \"79\"\n ]\n }\n },\n {\n name: {\n common: \"Montserrat\",\n official: \"Montserrat\",\n nativeName: {\n eng: {\n official: \"Montserrat\",\n common: \"Montserrat\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"664\"\n ]\n }\n },\n {\n name: {\n common: \"Austria\",\n official: \"Republic of Austria\",\n nativeName: {\n bar: {\n official: \"Republik Österreich\",\n common: \"Österreich\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"3\"\n ]\n }\n },\n {\n name: {\n common: \"Albania\",\n official: \"Republic of Albania\",\n nativeName: {\n sqi: {\n official: \"Republika e Shqipërisë\",\n common: \"Shqipëria\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"55\"\n ]\n }\n },\n {\n name: {\n common: \"British Virgin Islands\",\n official: \"Virgin Islands\",\n nativeName: {\n eng: {\n official: \"Virgin Islands\",\n common: \"British Virgin Islands\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"284\"\n ]\n }\n },\n {\n name: {\n common: \"Zambia\",\n official: \"Republic of Zambia\",\n nativeName: {\n eng: {\n official: \"Republic of Zambia\",\n common: \"Zambia\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"60\"\n ]\n }\n },\n {\n name: {\n common: \"French Guiana\",\n official: \"Guiana\",\n nativeName: {\n fra: {\n official: \"Guyane\",\n common: \"Guyane française\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"94\"\n ]\n }\n },\n {\n name: {\n common: \"Liechtenstein\",\n official: \"Principality of Liechtenstein\",\n nativeName: {\n deu: {\n official: \"Fürstentum Liechtenstein\",\n common: \"Liechtenstein\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"23\"\n ]\n }\n },\n {\n name: {\n common: \"Qatar\",\n official: \"State of Qatar\",\n nativeName: {\n ara: {\n official: \"دولة قطر\",\n common: \"قطر\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"74\"\n ]\n }\n },\n {\n name: {\n common: \"Solomon Islands\",\n official: \"Solomon Islands\",\n nativeName: {\n eng: {\n official: \"Solomon Islands\",\n common: \"Solomon Islands\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"77\"\n ]\n }\n },\n {\n name: {\n common: \"Nauru\",\n official: \"Republic of Nauru\",\n nativeName: {\n eng: {\n official: \"Republic of Nauru\",\n common: \"Nauru\"\n },\n nau: {\n official: \"Republic of Nauru\",\n common: \"Nauru\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"74\"\n ]\n }\n },\n {\n name: {\n common: \"Greece\",\n official: \"Hellenic Republic\",\n nativeName: {\n ell: {\n official: \"Ελληνική Δημοκρατία\",\n common: \"Ελλάδα\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"0\"\n ]\n }\n },\n {\n name: {\n common: \"Libya\",\n official: \"State of Libya\",\n nativeName: {\n ara: {\n official: \"الدولة ليبيا\",\n common: \"‏ليبيا\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"18\"\n ]\n }\n },\n {\n name: {\n common: \"Guinea-Bissau\",\n official: \"Republic of Guinea-Bissau\",\n nativeName: {\n por: {\n official: \"República da Guiné-Bissau\",\n common: \"Guiné-Bissau\"\n },\n pov: {\n official: \"República da Guiné-Bissau\",\n common: \"Guiné-Bissau\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"45\"\n ]\n }\n },\n {\n name: {\n common: \"Barbados\",\n official: \"Barbados\",\n nativeName: {\n eng: {\n official: \"Barbados\",\n common: \"Barbados\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"246\"\n ]\n }\n },\n {\n name: {\n common: \"Honduras\",\n official: \"Republic of Honduras\",\n nativeName: {\n spa: {\n official: \"República de Honduras\",\n common: \"Honduras\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"04\"\n ]\n }\n },\n {\n name: {\n common: \"Cayman Islands\",\n official: \"Cayman Islands\",\n nativeName: {\n eng: {\n official: \"Cayman Islands\",\n common: \"Cayman Islands\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"345\"\n ]\n }\n },\n {\n name: {\n common: \"Italy\",\n official: \"Italian Republic\",\n nativeName: {\n ita: {\n official: \"Repubblica italiana\",\n common: \"Italia\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"9\"\n ]\n }\n },\n {\n name: {\n common: \"Wallis and Futuna\",\n official: \"Territory of the Wallis and Futuna Islands\",\n nativeName: {\n fra: {\n official: \"Territoire des îles Wallis et Futuna\",\n common: \"Wallis et Futuna\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"81\"\n ]\n }\n },\n {\n name: {\n common: \"Andorra\",\n official: \"Principality of Andorra\",\n nativeName: {\n cat: {\n official: \"Principat d'Andorra\",\n common: \"Andorra\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"76\"\n ]\n }\n },\n {\n name: {\n common: \"Ecuador\",\n official: \"Republic of Ecuador\",\n nativeName: {\n spa: {\n official: \"República del Ecuador\",\n common: \"Ecuador\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"93\"\n ]\n }\n },\n {\n name: {\n common: \"Kenya\",\n official: \"Republic of Kenya\",\n nativeName: {\n eng: {\n official: \"Republic of Kenya\",\n common: \"Kenya\"\n },\n swa: {\n official: \"Republic of Kenya\",\n common: \"Kenya\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"54\"\n ]\n }\n },\n {\n name: {\n common: \"Bahrain\",\n official: \"Kingdom of Bahrain\",\n nativeName: {\n ara: {\n official: \"مملكة البحرين\",\n common: \"‏البحرين\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"73\"\n ]\n }\n },\n {\n name: {\n common: \"United Kingdom\",\n official: \"United Kingdom of Great Britain and Northern Ireland\",\n nativeName: {\n eng: {\n official: \"United Kingdom of Great Britain and Northern Ireland\",\n common: \"United Kingdom\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Guinea\",\n official: \"Republic of Guinea\",\n nativeName: {\n fra: {\n official: \"République de Guinée\",\n common: \"Guinée\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"24\"\n ]\n }\n },\n {\n name: {\n common: \"Heard Island and McDonald Islands\",\n official: \"Heard Island and McDonald Islands\",\n nativeName: {\n eng: {\n official: \"Heard Island and McDonald Islands\",\n common: \"Heard Island and McDonald Islands\"\n }\n }\n },\n idd: {\n root: \"\",\n suffixes: []\n }\n },\n {\n name: {\n common: \"Brunei\",\n official: \"Nation of Brunei, Abode of Peace\",\n nativeName: {\n msa: {\n official: \"Nation of Brunei, Abode Damai\",\n common: \"Negara Brunei Darussalam\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"73\"\n ]\n }\n },\n {\n name: {\n common: \"Guam\",\n official: \"Guam\",\n nativeName: {\n cha: {\n official: \"Guåhån\",\n common: \"Guåhån\"\n },\n eng: {\n official: \"Guam\",\n common: \"Guam\"\n },\n spa: {\n official: \"Guam\",\n common: \"Guam\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"671\"\n ]\n }\n },\n {\n name: {\n common: \"Australia\",\n official: \"Commonwealth of Australia\",\n nativeName: {\n eng: {\n official: \"Commonwealth of Australia\",\n common: \"Australia\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"1\"\n ]\n }\n },\n {\n name: {\n common: \"Slovenia\",\n official: \"Republic of Slovenia\",\n nativeName: {\n slv: {\n official: \"Republika Slovenija\",\n common: \"Slovenija\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"86\"\n ]\n }\n },\n {\n name: {\n common: \"Thailand\",\n official: \"Kingdom of Thailand\",\n nativeName: {\n tha: {\n official: \"ราชอาณาจักรไทย\",\n common: \"ประเทศไทย\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"6\"\n ]\n }\n },\n {\n name: {\n common: \"New Zealand\",\n official: \"New Zealand\",\n nativeName: {\n eng: {\n official: \"New Zealand\",\n common: \"New Zealand\"\n },\n mri: {\n official: \"Aotearoa\",\n common: \"Aotearoa\"\n },\n nzs: {\n official: \"New Zealand\",\n common: \"New Zealand\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"4\"\n ]\n }\n },\n {\n name: {\n common: \"Tunisia\",\n official: \"Tunisian Republic\",\n nativeName: {\n ara: {\n official: \"الجمهورية التونسية\",\n common: \"تونس\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"16\"\n ]\n }\n },\n {\n name: {\n common: \"Marshall Islands\",\n official: \"Republic of the Marshall Islands\",\n nativeName: {\n eng: {\n official: \"Republic of the Marshall Islands\",\n common: \"Marshall Islands\"\n },\n mah: {\n official: \"Republic of the Marshall Islands\",\n common: \"M̧ajeļ\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"92\"\n ]\n }\n },\n {\n name: {\n common: \"Sierra Leone\",\n official: \"Republic of Sierra Leone\",\n nativeName: {\n eng: {\n official: \"Republic of Sierra Leone\",\n common: \"Sierra Leone\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"32\"\n ]\n }\n },\n {\n name: {\n common: \"Bhutan\",\n official: \"Kingdom of Bhutan\",\n nativeName: {\n dzo: {\n official: \"འབྲུག་རྒྱལ་ཁབ་\",\n common: \"འབྲུག་ཡུལ་\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"75\"\n ]\n }\n },\n {\n name: {\n common: \"United States\",\n official: \"United States of America\",\n nativeName: {\n eng: {\n official: \"United States of America\",\n common: \"United States\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"201\",\n \"202\",\n \"203\",\n \"205\",\n \"206\",\n \"207\",\n \"208\",\n \"209\",\n \"210\",\n \"212\",\n \"213\",\n \"214\",\n \"215\",\n \"216\",\n \"217\",\n \"218\",\n \"219\",\n \"220\",\n \"224\",\n \"225\",\n \"227\",\n \"228\",\n \"229\",\n \"231\",\n \"234\",\n \"239\",\n \"240\",\n \"248\",\n \"251\",\n \"252\",\n \"253\",\n \"254\",\n \"256\",\n \"260\",\n \"262\",\n \"267\",\n \"269\",\n \"270\",\n \"272\",\n \"274\",\n \"276\",\n \"281\",\n \"283\",\n \"301\",\n \"302\",\n \"303\",\n \"304\",\n \"305\",\n \"307\",\n \"308\",\n \"309\",\n \"310\",\n \"312\",\n \"313\",\n \"314\",\n \"315\",\n \"316\",\n \"317\",\n \"318\",\n \"319\",\n \"320\",\n \"321\",\n \"323\",\n \"325\",\n \"327\",\n \"330\",\n \"331\",\n \"334\",\n \"336\",\n \"337\",\n \"339\",\n \"346\",\n \"347\",\n \"351\",\n \"352\",\n \"360\",\n \"361\",\n \"364\",\n \"380\",\n \"385\",\n \"386\",\n \"401\",\n \"402\",\n \"404\",\n \"405\",\n \"406\",\n \"407\",\n \"408\",\n \"409\",\n \"410\",\n \"412\",\n \"413\",\n \"414\",\n \"415\",\n \"417\",\n \"419\",\n \"423\",\n \"424\",\n \"425\",\n \"430\",\n \"432\",\n \"434\",\n \"435\",\n \"440\",\n \"442\",\n \"443\",\n \"447\",\n \"458\",\n \"463\",\n \"464\",\n \"469\",\n \"470\",\n \"475\",\n \"478\",\n \"479\",\n \"480\",\n \"484\",\n \"501\",\n \"502\",\n \"503\",\n \"504\",\n \"505\",\n \"507\",\n \"508\",\n \"509\",\n \"510\",\n \"512\",\n \"513\",\n \"515\",\n \"516\",\n \"517\",\n \"518\",\n \"520\",\n \"530\",\n \"531\",\n \"534\",\n \"539\",\n \"540\",\n \"541\",\n \"551\",\n \"559\",\n \"561\",\n \"562\",\n \"563\",\n \"564\",\n \"567\",\n \"570\",\n \"571\",\n \"573\",\n \"574\",\n \"575\",\n \"580\",\n \"585\",\n \"586\",\n \"601\",\n \"602\",\n \"603\",\n \"605\",\n \"606\",\n \"607\",\n \"608\",\n \"609\",\n \"610\",\n \"612\",\n \"614\",\n \"615\",\n \"616\",\n \"617\",\n \"618\",\n \"619\",\n \"620\",\n \"623\",\n \"626\",\n \"628\",\n \"629\",\n \"630\",\n \"631\",\n \"636\",\n \"641\",\n \"646\",\n \"650\",\n \"651\",\n \"657\",\n \"660\",\n \"661\",\n \"662\",\n \"667\",\n \"669\",\n \"678\",\n \"681\",\n \"682\",\n \"701\",\n \"702\",\n \"703\",\n \"704\",\n \"706\",\n \"707\",\n \"708\",\n \"712\",\n \"713\",\n \"714\",\n \"715\",\n \"716\",\n \"717\",\n \"718\",\n \"719\",\n \"720\",\n \"724\",\n \"725\",\n \"727\",\n \"730\",\n \"731\",\n \"732\",\n \"734\",\n \"737\",\n \"740\",\n \"743\",\n \"747\",\n \"754\",\n \"757\",\n \"760\",\n \"762\",\n \"763\",\n \"765\",\n \"769\",\n \"770\",\n \"772\",\n \"773\",\n \"774\",\n \"775\",\n \"779\",\n \"781\",\n \"785\",\n \"786\",\n \"801\",\n \"802\",\n \"803\",\n \"804\",\n \"805\",\n \"806\",\n \"808\",\n \"810\",\n \"812\",\n \"813\",\n \"814\",\n \"815\",\n \"816\",\n \"817\",\n \"818\",\n \"828\",\n \"830\",\n \"831\",\n \"832\",\n \"843\",\n \"845\",\n \"847\",\n \"848\",\n \"850\",\n \"854\",\n \"856\",\n \"857\",\n \"858\",\n \"859\",\n \"860\",\n \"862\",\n \"863\",\n \"864\",\n \"865\",\n \"870\",\n \"872\",\n \"878\",\n \"901\",\n \"903\",\n \"904\",\n \"906\",\n \"907\",\n \"908\",\n \"909\",\n \"910\",\n \"912\",\n \"913\",\n \"914\",\n \"915\",\n \"916\",\n \"917\",\n \"918\",\n \"919\",\n \"920\",\n \"925\",\n \"928\",\n \"929\",\n \"930\",\n \"931\",\n \"934\",\n \"936\",\n \"937\",\n \"938\",\n \"940\",\n \"941\",\n \"947\",\n \"949\",\n \"951\",\n \"952\",\n \"954\",\n \"956\",\n \"959\",\n \"970\",\n \"971\",\n \"972\",\n \"973\",\n \"975\",\n \"978\",\n \"979\",\n \"980\",\n \"984\",\n \"985\",\n \"989\"\n ]\n }\n },\n {\n name: {\n common: \"Switzerland\",\n official: \"Swiss Confederation\",\n nativeName: {\n fra: {\n official: \"Confédération suisse\",\n common: \"Suisse\"\n },\n gsw: {\n official: \"Schweizerische Eidgenossenschaft\",\n common: \"Schweiz\"\n },\n ita: {\n official: \"Confederazione Svizzera\",\n common: \"Svizzera\"\n },\n roh: {\n official: \"Confederaziun svizra\",\n common: \"Svizra\"\n }\n }\n },\n idd: {\n root: \"+4\",\n suffixes: [\n \"1\"\n ]\n }\n },\n {\n name: {\n common: \"Falkland Islands\",\n official: \"Falkland Islands\",\n nativeName: {\n eng: {\n official: \"Falkland Islands\",\n common: \"Falkland Islands\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"00\"\n ]\n }\n },\n {\n name: {\n common: \"Cocos (Keeling) Islands\",\n official: \"Territory of the Cocos (Keeling) Islands\",\n nativeName: {\n eng: {\n official: \"Territory of the Cocos (Keeling) Islands\",\n common: \"Cocos (Keeling) Islands\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"1\"\n ]\n }\n },\n {\n name: {\n common: \"Gabon\",\n official: \"Gabonese Republic\",\n nativeName: {\n fra: {\n official: \"République gabonaise\",\n common: \"Gabon\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"41\"\n ]\n }\n },\n {\n name: {\n common: \"Dominica\",\n official: \"Commonwealth of Dominica\",\n nativeName: {\n eng: {\n official: \"Commonwealth of Dominica\",\n common: \"Dominica\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"767\"\n ]\n }\n },\n {\n name: {\n common: \"Canada\",\n official: \"Canada\",\n nativeName: {\n eng: {\n official: \"Canada\",\n common: \"Canada\"\n },\n fra: {\n official: \"Canada\",\n common: \"Canada\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"\"\n ]\n }\n },\n {\n name: {\n common: \"Trinidad and Tobago\",\n official: \"Republic of Trinidad and Tobago\",\n nativeName: {\n eng: {\n official: \"Republic of Trinidad and Tobago\",\n common: \"Trinidad and Tobago\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"868\"\n ]\n }\n },\n {\n name: {\n common: \"Puerto Rico\",\n official: \"Commonwealth of Puerto Rico\",\n nativeName: {\n eng: {\n official: \"Commonwealth of Puerto Rico\",\n common: \"Puerto Rico\"\n },\n spa: {\n official: \"Estado Libre Asociado de Puerto Rico\",\n common: \"Puerto Rico\"\n }\n }\n },\n idd: {\n root: \"+1\",\n suffixes: [\n \"787\",\n \"939\"\n ]\n }\n },\n {\n name: {\n common: \"Singapore\",\n official: \"Republic of Singapore\",\n nativeName: {\n eng: {\n official: \"Republic of Singapore\",\n common: \"Singapore\"\n },\n zho: {\n official: \"新加坡共和国\",\n common: \"新加坡\"\n },\n msa: {\n official: \"Republik Singapura\",\n common: \"Singapura\"\n },\n tam: {\n official: \"சிங்கப்பூர் குடியரசு\",\n common: \"சிங்கப்பூர்\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"5\"\n ]\n }\n },\n {\n name: {\n common: \"Hungary\",\n official: \"Hungary\",\n nativeName: {\n hun: {\n official: \"Magyarország\",\n common: \"Magyarország\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"6\"\n ]\n }\n },\n {\n name: {\n common: \"Costa Rica\",\n official: \"Republic of Costa Rica\",\n nativeName: {\n spa: {\n official: \"República de Costa Rica\",\n common: \"Costa Rica\"\n }\n }\n },\n idd: {\n root: \"+5\",\n suffixes: [\n \"06\"\n ]\n }\n },\n {\n name: {\n common: \"Israel\",\n official: \"State of Israel\",\n nativeName: {\n ara: {\n official: \"دولة إسرائيل\",\n common: \"إسرائيل\"\n },\n heb: {\n official: \"מדינת ישראל\",\n common: \"ישראל\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"72\"\n ]\n }\n },\n {\n name: {\n common: \"Bulgaria\",\n official: \"Republic of Bulgaria\",\n nativeName: {\n bul: {\n official: \"Република България\",\n common: \"България\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"59\"\n ]\n }\n },\n {\n name: {\n common: \"Azerbaijan\",\n official: \"Republic of Azerbaijan\",\n nativeName: {\n aze: {\n official: \"Azərbaycan Respublikası\",\n common: \"Azərbaycan\"\n }\n }\n },\n idd: {\n root: \"+9\",\n suffixes: [\n \"94\"\n ]\n }\n },\n {\n name: {\n common: \"Timor-Leste\",\n official: \"Democratic Republic of Timor-Leste\",\n nativeName: {\n por: {\n official: \"República Democrática de Timor-Leste\",\n common: \"Timor-Leste\"\n },\n tet: {\n official: \"Repúblika Demokrátika Timór-Leste\",\n common: \"Timór-Leste\"\n }\n }\n },\n idd: {\n root: \"+6\",\n suffixes: [\n \"70\"\n ]\n }\n },\n {\n name: {\n common: \"Croatia\",\n official: \"Republic of Croatia\",\n nativeName: {\n hrv: {\n official: \"Republika Hrvatska\",\n common: \"Hrvatska\"\n }\n }\n },\n idd: {\n root: \"+3\",\n suffixes: [\n \"85\"\n ]\n }\n },\n {\n name: {\n common: \"Ivory Coast\",\n official: \"Republic of Côte d'Ivoire\",\n nativeName: {\n fra: {\n official: \"République de Côte d'Ivoire\",\n common: \"Côte d'Ivoire\"\n }\n }\n },\n idd: {\n root: \"+2\",\n suffixes: [\n \"25\"\n ]\n }\n }\n];","export const RestEndpoint = {\n sendMobileToken: '/api/v1/communications/sendMobileToken',\n getMobileValidationMethods: '/api/v1/communications/getMobileValidationMethods',\n authenticateUser: '/api/v1/authentication/authenticateUser',\n publicRsa: '/api/v1/authentication/getPublicKeyRsa',\n getAllUsers: '/api/v1/authentication/getAllUsers',\n changeBu: '/api/v1/authentication/changeBu',\n getCrowdfundingCompanyDetails: '/api/v1/crowdfunding-details/getCrowdfundingCompanyDetails',\n getAllCrowdfundingCategories: '/api/v1/crowdfunding/getCrowdfundingCategoriesList',\n getAllCrowdfundingBanking: '/api/v1/crowdfunding-banking/getAll',\n updateDocuments: '/api/v1/authentication/updateDocuments',\n UpdateMyGenericKYCDocuments: '/api/v1/authentication/UpdateMyGenericKYCDocuments',\n createComment: '/api/v1/crowdfunding/comments',\n getCrowdfundings: '/api/v1/crowdfunding/getCrowdfundingList',\n getCrowdfunding: '/api/v1/crowdfunding/getCrowdfunding',\n updateUserAcceptedTerms: '/api/v1/crowdfunding/updateUserAcceptedTerms',\n createCrowdfundingCheckoutOrder: '/api/v1/crowdfunding/createCrowdfundingCheckoutOrder',\n performPaymentWithCrypto: '/api/v1/crowdfunding/performPaymentWithCrypto',\n getTransactionReceiptById: '/api/v1/bank-accounts/getTransactionById',\n getAllUserOders: '/api/v1/crowdfunding/getAllUserOders',\n createLoanRequests: '/api/v1/authentication/createLoanRequests',\n getAllLoanRequests: '/api/v1/authentication/getAllLoanRequests',\n sendBenefitsEmail: '/api/v1/authentication/sendBenefitsEmail',\n getMyDocuments: '/api/v1/authentication/getMyDocuments',\n getMyKYCDocumentsStatus: '/api/v1/authentication/getMyKYCDocumentsStatus',\n deleteFriends: '/api/v1/friends/friend/',\n createFriends: '/api/v1/friends/createFriends',\n mainWalletBalance: 'api/v1/financial/mainWalletBalance',\n getMinToBuy: '/api/v1/collections/getMinToBuy',\n getSumUsedByCollection: '/api/v1/collections/getSumUsedByCollection',\n getAllEniatoBanners: '/api/v1/banners/getAllEniatoBanners',\n getAllCrowdfundingBanners: '/api/v1/banners/getAllCrowdfundingBanners',\n getAllMidasBanners: '/api/v1/banners/getAllMidasWebBanners',\n getAllExchangeBanners: '/api/v1/banners/getAllExchangeBanners',\n getAllPaymentQueuesTimelinesView: '/api/v1/assets/getAllPaymentQueuesTimelinesView',\n getDistributionsByAssetId: '/api/v1/financial-internal/getDistributionsByAssetId',\n getCountForAssets: '/api/v1/balance/getDepositsForNFTs',\n updateFriend: '/api/v1/friends/updateFriend',\n getConfigForIN1888: '/api/v1/config-in1888/readAll',\n sendContactEmail: '/api/v1/authentication/sendContactEmail',\n updateFavorite: '/api/v1/products-favorites/updateFavorite',\n countFavorites: '/api/v1/products-favorites/countFavorites',\n createFavorite: '/api/v1/products-favorites/createtoFavorite',\n getEniatoConfig: '/api/v1/eniato-config/readAll',\n getStore: '/api/v1/stores/getStore',\n getCollections : '/api/v1/collections/getAllCollections',\n getCollectionStatistics : 'api/v1/collections/getCollectionStatistics',\n getAllCollectionsStatistics : 'api/v1/collections/getAllCollectionsStatistics',\n createWatch: '/api/v1/products-favorites/createWatch',\n createUser: '/api/v1/authentication/createuser',\n getBTCWallet: '/api/v1/authentication/getBTCWallet',\n resendConfirmationCode: '/api/v1/authentication/resendConfirmationCode',\n sendMFACode: '/api/v1/authentication/sendMFACode',\n getDecimalPlaces: '/api/v1/fiatCurrency/getDecimalPlaces',\n destroySession: '/api/v1/authentication/destroySession',\n files: '/api/v1/files',\n friends: '/api/v1/friends/getAllFriends',\n getMyCommunity: '/api/v1/authentication/getMyCommunity',\n lostpassword: '/api/v1/authentication/lostpassword',\n getImageStorageParameters: '/api/v1/images/getImageStorageParameters',\n translatableTexts: '/api/v1/translate/getTranslatableTexts',\n changelostpassword: '/api/v1/authentication/changelostpassword',\n isAuthenticated: '/api/v1/authentication/isAuthenticated',\n verifyDocument: '/api/v1/authentication/validateDocument',\n changeNewsLetter: '/api/v1/authentication/changeNewsLetter',\n getAllProducts: '/api/v1/products/getAllProducts',\n searchProducts: '/api/v1/products/searchProducts',\n verifyMFAStatus: '/api/v1/authentication/verifymfastatus',\n startMFAProcess: '/api/v1/authentication/startmfaprocess',\n finalizeMFAProcess: '/api/v1/authentication/finalizemfaprocess',\n getMinAmountToTransfer: '/api/v1/financial/getMinAmountToTransfer',\n balance: '/api/v1/financial/plataformbalance',\n allQuotations: '/api/v1/authentication/allQuotations',\n verify: '/api/v1/financial/verify',\n transfer: '/api/v1/financial/transfer',\n createUserStake: '/api/v1/staking/createUserStake',\n createSignRequest: '/api/v1/staking/createSignRequest',\n cancelUserStake: '/api/v1/staking/cancelUserStake',\n getAllOrders: '/api/v1/orders/user',\n getOrder: '/api/v1/orders/order/',\n changeOrderStatus: '/api/v1/orders/updateInformation/',\n CheckClearLedgerPaymentStatus: '/api/v1/orders/CheckClearLedgerPaymentStatus/',\n CheckCelcoinIntegrationPaymentStatus: '/api/v1/orders/CheckCelcoinIntegrationPaymentStatus/',\n checkPixPaymentStatus: '/api/v1/orders/checkPixPaymentStatus/',\n createProduct: '/api/v1/products/createProduct',\n updateProducts: '/api/v1/products/updateProducts',\n getProduct: '/api/v1/products/getProduct',\n deleteProduct: '/api/v1/products/product/',\n getAllCategories: '/api/v1/categories/getAllCategories',\n getAllEventsCategories: '/api/v1/events-categories/getAllCategories',\n createCategory: '/api/v1/categories/createCategory',\n updateCategories: '/api/v1/categories/updateCategories',\n deleteCategory: '/api/v1/categories/category/',\n deleteCollections: '/api/v1/collections/collection/',\n getAllParameters: '/api/v1/parameters/getAllParameters',\n getUserAddress: '/api/v1/location/getAll',\n createUserAddress: '/api/v1/location/createUserAddress',\n createUserAdditional: '/api/v1/user-additional/createUserAdditional',\n getAllUserAdditional: '/api/v1/user-additional/getAll',\n updateUserAddress: '/api/v1/location/updateUserAddress',\n getParameter: '/api/v1/parameters/getParameter',\n deleteParameter: '/api/v1/parameters/parameter/',\n shoppingCarts: '/api/v1/shopping-carts/',\n shoppingCartsEvents: '/api/v1/events-shopping-carts/',\n quotations: '/api/v1/authentication/quotations',\n quotationsHistory: '/api/v1/authentication/readRateHistory',\n fastPrice: '/api/v1/swap/price',\n performSwap: '/api/v1/swap',\n getAllSwapPairs: '/api/v1/tokens/getAllSwapPairs',\n getAllSwapCriptoToken: '/api/v1/tokens/getAllSwapCriptoToken',\n createParameter: '/api/v1/parameters/createParameter',\n updateParameters: '/api/v1/parameters/updateParameters',\n createCheckout: '/api/v1/checkout',\n createExternalCheckout: '/api/v1/checkout/external',\n updateUserBasicInfos: '/api/v1/authentication/updateBasicInfos',\n // Eniato assets\n markets: '/api/market/v1/getMarket',\n getAssets: '/api/v1/assets/getAssets',\n getNetworks : '/api/v1/networks/getNetworks',\n getDetails: '/api/v1/assets/getAsset',\n getAsset: '/api/v1/eniato-assets/getAsset',\n getCollection: '/api/v1/collections/getCollection',\n getUserTransactions: '/api/history/v1',\n createMarket: '/api/market/v1/createMarket',\n createAsset: '/api/v1/assets/createAsset',\n createCollections: '/api/v1/collections/createCollection',\n updateCollections: '/api/v1/collections/updateCollections',\n editAsset: '/api/v1/assets/updateAsset',\n resellAsset: '/api/v1/assets/resellAsset',\n changeDistributionType: '/api/v1/assets/changeDistributionType',\n createAuction: '/api/v1/assets/createAuction',\n createBid: '/api/v1/assets/createBid',\n acceptHigherBid: '/api/v1/assets/acceptHigherBid',\n finishAuction: '/api/v1/assets/finishAuction',\n cancelAuction: '/api/v1/assets/finishAuction',\n cancelMyBid: '/api/v1/assets/cancelMyBid',\n getUserDeposits: '/api/v1/balance/getUserDeposits',\n journal: '/api/v1/financial-internal/general-journey',\n createCorporateEscrow: '/api/v1/corporate-escrow/create',\n getCorporateEscrows: '/api/v1/corporate-escrow/getAll',\n getCorporateEscrow: '/api/v1/corporate-escrow/getById',\n deleteEscrow: '/api/v1/corporate-escrow/deleteEscrow',\n updateCorporateEscrow: '/api/v1/corporate-escrow/updateCorporateEscrow',\n getMyTransactionsReport: '/api/v1/financial-internal/get-my-transactions-report',\n getUserStakes: '/api/v1/staking/getUserStakes',\n getMyTransactionHistory: '/api/v1/financial-internal/my-transaction-history-admin',\n getAllowedStartDateTransactionsReport: '/api/v1/financial-internal/getAllowedStartDateTransactionsReport',\n getStakingConfig: '/api/v1/staking/getStakingConfig',\n checkDocumentStatus: '/api/v1/staking/checkDocumentStatus',\n createDepositRequest: '/api/v1/balance/createDepositRequest',\n getUserWithdrawal: '/api/v1/balance/getUserWithdrawal',\n getAllWithdrawalRequest: '/api/v1/balance/getAllWithdrawalRequest',\n getUserWithdrawalFavorites: '/api/v1/balance/getUserWithdrawalFavorites',\n getListOfBanks: '/api/v1/balance/getListOfBanks',\n createWithdrawRequest: '/api/v1/balance/createWithdrawRequest',\n updateWithdrawRequest: '/api/v1/balance/updateWithdrawRequest',\n getCategories: '/api/v1/eniato-market/categories',\n getBanners: '/api/v1/eniato-market/banners',\n getEniatoBalance: '/api/v1/eniato-market/balance',\n sendNFTs: '/api/v1/eniato-market/sendNFTs',\n buyNFT: '/api/v1/eniato-market/buyNFT',\n splitNFTs: '/api/v1/eniato-market/splitNFTs',\n buyPackage: '/api/v1/eniato-market/buyPackage',\n createPackage: '/api/v1/packages/createNFTPackageConfig',\n getDetailsPackage: '/api/v1/packages/getPackage',\n updateDetailsPackage: '/api/v1/packages/updateNFTPackageConfig',\n getPackages: '/api/v1/packages/getPackages',\n getPackageTypes: '/api/v1/packages/getPackageTypes',\n getAllMidasWebBanners: '/api/v1/banners/getAllMidasWebBanners',\n getFiatCurrency: '/api/v1/fiatCurrency/getEniatoFiatCurrency',\n getCryptoCurrencies: '/api/v1/cryptocurrencies',\n getMyOrders: '/api/v1/order-book/getUserOrder',\n getAllUnitOrder: '/api/v1/order-book/getAllUnitOrder',\n getKrakenOrderBook: '/api/v1/order-book/getKrakenOrderBook',\n getKrakenTrades: '/api/v1/order-book/getKrakenTrades',\n addOrder: '/api/v1/order-book/addOrder',\n cancelOrder: '/api/v1/order-book/cancelOrder',\n getDataForExchange: '/api/v1/authentication/getDataForExchange',\n getAllHistory: '/api/v1/authentication/getAllHistory',\n getUserByWallet: '/api/v1/authentication/getUserByWallet',\n getUserByEmailWallet: '/api/v1/authentication/getUserByEmailWallet', \n createUserPayroll: '/api/v1/company-charges/create',\n updateUserPayroll: '/api/v1/company-charges/update',\n getUserListPayroll: '/api/v1/company-charges',\n getBRLAKYCStatus: '/api/v1/brla/kycStatus',\n createPFLevel1: '/api/v1/brla/pf/level1',\n createPJLevel1: '/api/v1/brla/pj/level1',\n createPJLevel2: '/api/v1/brla/pj/level2',\n quote: '/api/v1/brla/quote',\n ConvertUSDToPixBRLA: '/api/v1/brla/ConvertUSDToPixBRLA',\n pixToTokenBRLA: '/api/v1/brla/pixToTokenBRLA',\n tokenToPixBRLA: '/api/v1/brla/tokenToPixBRLA',\n createPFLevel2: '/api/v1/brla/pf/level2',\n sendDocBRLA: '/api/v1/brla/pf/doc',\n validateUsername: '/api/v1/authentication/validateUsername',\n getUserNotificationsSettings: '/api/v1/authentication/getUserNotificationsSettings',\n updateUserNotificationsSettings: '/api/v1/authentication/updateUserNotificationsSettings',\n getUserLimits: '/api/v1/authentication/getUserLimits',\n baseReplaceURL: '/replaceDocumentUrl/',\n CreateCharge: '/api/v1/bills/CreateCharge',\n CheckCharge: '/api/v1/bills/CheckCharge',\n getChargePDF: '/api/v1/bills/getChargePDF',\n\n getContractById: '/api/v1/contracts/getContractById',\n getContractsByCustomerId: '/api/v1/contracts/getContractsByCustomerId',\n updateContractByCustomer: '/api/v1/contracts/updateContractByCustomer',\n realizeManualPayment: '/api/v1/contracts/realizeManualPayment',\n\n deleteUserPayroll: 'api/v1/company-charges/delete',\n // Kairos\n getAllKairosBanners: '/api/v1/banners/getAllKairosBanners',\n getEventsBanners: '/api/v1/banners/getEventsBanners',\n getKairosConfig: '/api/v1/kairos-config/readAll',\n getShippingData: '/api/v1/products/getShippingData',\n readLocation: '/api/v1/location/getAll',\n getAllRequests: '/api/v1/letter-credit/getAllUserRequests',\n createRequest : '/api/v1/letter-credit/createRequest',\n updateRequest: '/api/v1/letter-credit/updateRequest',\n getRequest: '/api/v1/letter-credit/getRequest',\n assignToMe: '/api/v1/letter-credit/assignToMe',\n createDocument: '/api/v1/letter-credit/createDocument',\n deleteDocument: '/api/v1/letter-credit/document',\n // Eniato assets\n GetPlatformTaxes: '/api/v1/financial-internal/GetPlatformTaxes',\n CalculateUserTaxes: '/api/v1/financial-internal/CalculateUserTaxes',\n //Read feature status\n getFeatureStatus: '/api/v1/features/getFeatureStatus',\n getAllFeatureStatus: '/api/v1/features/getAllFeatureStatus',\n\n //Read external links\n getExternalLinks: '/api/v1/external-links/readAll',\n getContactDetails: '/api/v1/external-links/getContactDetails',\n getTransferDetails: '/api/v1/external-links/getTransferDetails',\n getDigitalBankingConfigs: '/api/v1/external-links/getDigitalBankingConfigs',\n getDigitalBankingFeatureAvailability: '/api/v1/external-links/getDigitalBankingFeatureAvailability',\n //NFT Staking Config\n getAllStakingCampaigns: '/api/v1/nft-staking/getAllStakingCampaigns',\n getAllAssetsForStakingCampaign: '/api/v1/nft-staking/getAllAssetsForStakingCampaign',\n getStakingCampaignDetails: '/api/v1/nft-staking/getStakingCampaignDetails',\n createStaking: '/api/v1/nft-staking/createStaking',\n removeFromStaking: '/api/v1/nft-staking/removeFromStaking',\n getSummary: '/api/v1/nft-staking/getSummary',\n getMyStakedNFTs: '/api/v1/nft-staking/getMyStakedNFTs',\n getAllNFTsAvailableForStaking: '/api/v1/nft-staking/getAllNFTsAvailableForStaking',\n getSummarizedStakingApplication: '/api/v1/nft-staking/getSummarizedStakingApplication',\n getMetamaskParameters: '/api/v1/metamask/getMetamaskParameters',\n //Permissions\n checkPermission: '/api/v1/access-control/checkPermission',\n getEniatoHeaderLinks: '/api/v1/ux-configs/getEniatoHeaderLinks',\n getOrderOfHomeSections: '/api/v1/ux-configs/getOrderOfHomeSections',\n createToken: '/api/v1/tokens/createToken',\n updateTokens: '/api/v1/tokens/updateTokens',\n getToken: '/api/v1/tokens/getToken',\n deleteToken: '/api/v1/tokens/token/',\n getAllTokens: '/api/v1/tokens/getAllTokens',\n searchTokens: '/api/v1/tokens/searchTokens',\n getPaymentConfigs: '/api/v1/payment-configs/getPaymentsConfigurations',\n nextWihdrawal: '/api/v1/tokens/nextWihdrawal',\n remainingTokenAmount: '/api/v1/tokens/remainingTokenAmount',\n withdrawTokens: '/api/v1/tokens/withdrawTokens',\n createEscrow: '/api/v1/escrows/create',\n createInvoice: '/api/v1/invoices/create',\n updateEscrow: '/api/v1/escrows/update',\n updateInvoice: '/api/v1/invoices/update',\n\n getEscrows: '/api/v1/escrows/getEscrows',\n getInvoices: '/api/v1/invoices/getInvoices',\n getExternalDeposits: '/api/v1/external-deposits',\n getUserStakingPermissions: '/api/v1/access-control/getUserStakingPermissions',\n /**\n * Banking\n */\n banking: {\n getAllDigitalBankingBanners: '/api/v1/banners/getAllDigitalBankingBanners',\n account: {\n create: '/api/v1/bank-accounts/create',\n getBalance: '/api/v1/bank-accounts/balance',\n getHistory: '/api/v1/bank-accounts/history',\n generateInternalTransferRequest: '/api/v1/bank-accounts/generateInternalTransferRequest',\n generateExternalTransferRequest: '/api/v1/bank-accounts/generateExternalTransferRequest',\n validatePassword: '/api/v1/bank-accounts/validatePassword',\n changePassword: '/api/v1/bank-accounts/changePassword',\n resendCode: '/api/v1/bank-accounts/resendCode',\n getAccountInfoNaturalPerson: '/api/v1/bank-accounts/getAccountInfoNaturalPerson',\n getAccountInfoLegalPerson: '/api/v1/bank-accounts/getAccountInfoLegalPerson',\n updateAccountInfoLegalPerson: '/api/v1/bank-accounts/updateAccountInfoLegalPerson',\n },\n bills: {\n getBillData: '/api/v1/bills/checkBill',\n payBill: '/api/v1/bills/payBill',\n },\n pix: {\n getPixKeys: '/api/v1/pix/getKeys',\n createPixKey: '/api/v1/pix/create',\n excludePixKey: '/api/v1/pix/exclude',\n createStaticQRCode: '/api/v1/pix/createStaticQRCode',\n getStaticQRCode: '/api/v1/pix/getStaticQRCode',\n getAccountInfoByPixKey: '/api/v1/pix/getAccountInfoByPixKey',\n transfer: '/api/v1/pix/transfer',\n getQRCodeDataByEmv: '/api/v1/pix/getQRCodeDataByEmv',\n },\n },\n updateTokenFavorite: '/api/v1/tokens/updateFavorite',\n createTokenFavorite: '/api/v1/tokens/createFavorite',\n\n getAllProductsEvents: '/api/v1/products-events/getAllEvents',\n searchProductsEvents: '/api/v1/products-events/searchEvents',\n getProductEvent: '/api/v1/products-events/getEvent',\n // chat\n createChat: '/api/v1/chats',\n getListChats: '/api/v1/chats/listCorrespondents',\n getListFullChat: '/api/v1/chats/listFullChat', \n getListLastUnreadChatMessages: '/api/v1/chats/listLastUnreadChatMessages',\n chats: '/api/v1/chats/',\n flagReadInChat: '/flagRead',\n updateMessageInChat: '/api/v1/chats/updateMessage',\n deleteMessageInChat: '/api/v1/chats/deleteMessage',\n getListGroupByUserId: '/api/v1/groups/listGroupByUserId',\n createChatGroup: '/api/v1/groups',\n getChatGroupById: '/api/v1/groups/',\n updateChatGroup: '/api/v1/groups/',\n deleteChatGroup: '/api/v1/groups/',\n\n // Reward\n redeemReward: '/api/v1/reward/redeemReward',\n\n getGeneralTax: \"/api/v1/assets/getGeneralTax\",\n externalDeposit: \"/api/v1/external-deposits\",\n getLimitTransaction: 'api/v1/financial-internal/getLimitTransaction',\n getHashTransaction: 'api/v1/financial-internal/getHashTransaction'\n};","import { ResetModel } from './reset.model';\nimport { LoginEncrypted } from './encrypt.base';\n\nexport class VerifyUserEncrypted extends LoginEncrypted\n{\n public newPassword?: string;\n public secretcode: string;\n\n constructor(resetModel: ResetModel, rsaKey: string)\n {\n super(resetModel.email, resetModel.newPassword, resetModel.email, undefined, rsaKey );\n this.newPassword = this.encrypt(resetModel.newPassword);\n this.secretcode = resetModel.secretCode;\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatListModule } from '@angular/material/list';\nimport { MatOptionModule, MatRippleModule } from '@angular/material/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ],\n exports: [\n MatFormFieldModule,\n MatDialogModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule,\n MatBadgeModule,\n MatButtonToggleModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatSidenavModule,\n MatSliderModule,\n MatSortModule,\n MatOptionModule,\n MatToolbarModule,\n MatTableModule,\n MatListModule,\n MatCheckboxModule,\n MatCardModule,\n MatPaginatorModule,\n MatTooltipModule,\n MatSelectModule,\n MatSlideToggleModule,\n MatRadioModule,\n MatTabsModule,\n MatSnackBarModule,\n MatAutocompleteModule,\n MatBottomSheetModule,\n MatRippleModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n MatChipsModule,\n A11yModule,\n ClipboardModule,\n DragDropModule,\n PortalModule,\n ScrollingModule,\n CdkTableModule,\n CdkTreeModule,\n OverlayModule\n ]\n})\nexport class MaterialModule { }","import { Component } from '@angular/core';\nimport { Event, NavigationStart, Router } from '@angular/router';\nimport { FintechAccountStatus } from '../models/BankingAccount';\nimport { FeatureNames } from '../models/feature-names.enum';\nimport { MultiplatFormEnum } from '../models/multplatform.enum';\nimport { UserIdentifierEnum } from '../models/user-identifier.enum';\nimport { AccountService } from '../services/account/account.services';\nimport { ConfigReaderService } from '../services/util/config.reader.service';\nimport { FeaturesStatusService } from '../services/util/features-status.service';\n\n@Component({\n selector: 'app-bottom-navigation',\n templateUrl: './bottom-navigation.component.html',\n styleUrls: ['./bottom-navigation.component.scss']\n})\nexport class BottomNavigationComponent {\n\n public explorerLink: string = '';\n public showTransactions: boolean = true;\n public currentPlatform: MultiplatFormEnum = MultiplatFormEnum.WALLET;\n public urls: Array = [];\n public digitalBankingEnabled: boolean = false;\n public showHeaderBuy: boolean = false;\n public marketplaceEnabled: boolean = true;\n public tokenizationEnabled: boolean = false;\n public showBottom: boolean = false;\n public chatEnabled: boolean = false;\n public isMultiplatform: boolean = false;\n public platform: typeof MultiplatFormEnum = MultiplatFormEnum;\n public eventsEnabled: boolean = false;\n public walletEnabled: boolean = false;\n public loading: boolean = true;\n public hasMfa: boolean = true;\n public crowdfundingEnabled: boolean = false;\n public quantityButtons: number = 0;\n\n constructor(\n private readonly configService: ConfigReaderService,\n private readonly router: Router,\n private readonly featureStatusService: FeaturesStatusService,\n private readonly accountService: AccountService\n ) {\n\n this.router.events.subscribe((event: Event) => {\n if (event instanceof NavigationStart) {\n this.urls.push(event.url);\n this.getCurrentPlatform(event.url);\n }\n });\n }\n\n public ngOnInit(): void {\n\n this.configService.getAllExternalLinks().subscribe(links => {\n this.explorerLink = links.contact || '';\n });\n\n\n this.accountService.getLoggedUserDetails().subscribe(user => {\n if(user?.documentType === UserIdentifierEnum.External || user?.bankingAccount?.fintechStatus !== FintechAccountStatus.APPROVED) {\n this.showTransactions = false;\n }\n });\n\n\n let hasEnabled = 0;\n this.featureStatusService.getFeatureStatus(FeatureNames.DIGITAL_BANKING, true).subscribe(status => {\n this.digitalBankingEnabled = status;\n\n if(this.digitalBankingEnabled) {\n hasEnabled = hasEnabled + 1;\n }\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.MIDAS_MARKETPLACE).subscribe(status => {\n this.marketplaceEnabled = status;\n\n if(this.marketplaceEnabled) {\n hasEnabled = hasEnabled + 1;\n }\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.MIDAS_TOKENIZATION).subscribe(status => {\n this.tokenizationEnabled = status;\n\n if(this.tokenizationEnabled) {\n hasEnabled = hasEnabled + 1;\n }\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.CROWDFUNDING, true).subscribe(crowdfundingEnabled => {\n this.crowdfundingEnabled = crowdfundingEnabled;\n\n if(this.crowdfundingEnabled) {\n hasEnabled = hasEnabled + 1;\n }\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.WALLET).subscribe(status => {\n this.walletEnabled = status;\n\n if(this.walletEnabled) {\n hasEnabled = hasEnabled + 1;\n }\n });\n\n this.featureStatusService.getFeatureStatus(FeatureNames.CHAT).subscribe(status => {\n this.chatEnabled = status;\n\n if(this.chatEnabled) {\n hasEnabled = hasEnabled + 1;\n }\n });\n\n if(hasEnabled > 1) {\n this.quantityButtons = hasEnabled;\n this.showBottom = true;\n }\n\n setTimeout(() => {\n this.loading = false;\n }, 10000);\n }\n\n public goToExplorer(): void {\n window.open(this.explorerLink);\n }\n\n public getCurrentPlatform(url: string): void {\n if (url.includes('/digital-banking')) {\n this.currentPlatform = MultiplatFormEnum.BANKING;\n } else if (url.includes('crowdfunding')) {\n this.currentPlatform = MultiplatFormEnum.CROWDFUNDING;\n } else if (url.includes('/exchange')) {\n this.currentPlatform = MultiplatFormEnum.EXCHANGE;\n } else if (url.includes('/marketplace')) {\n this.currentPlatform = MultiplatFormEnum.MARKETPLACE;\n } else if (url.includes('/tokenization')){\n this.currentPlatform = MultiplatFormEnum.TOKENIZATION;\n } else {\n this.currentPlatform = MultiplatFormEnum.WALLET;\n }\n }\n}\n","
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { LocalStorageService } from \"angular-web-storage\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { IMetaMaskParameters } from \"../../models/IMetaMaskParameters\";\n\n@Injectable()\nexport class MetamaskService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly storage: LocalStorageService\n ) { }\n\n public getMetaMaskData(): Observable {\n\n return this.http.get(RestEndpoint.getMetamaskParameters, {})\n .pipe(\n map((data: IMetaMaskParameters) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n}","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { Provider } from '@angular/core';\nimport { CapacitorHttpInterceptor } from './capacitor.http.interceptor';\n\nexport const CapacitorHttpProvider: Provider = {\n provide: HTTP_INTERCEPTORS,\n useClass: CapacitorHttpInterceptor,\n multi: true\n};","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport BigNumber from 'bignumber.js';\nimport { IFiatCurrency } from '../../models/IFiatCurrency';\nimport { AccountService } from '../account/account.services';\nimport { CurrencyMaskConfig, CurrencyMaskInputMode } from \"ngx-currency\";\nimport { DecimalPipe } from '@angular/common';\n\ninterface BigNumberFormat {\n prefix?: string,\n decimalSeparator: string,\n groupSeparator: string,\n groupSize?: number,\n secondaryGroupSize?: number,\n fractionGroupSeparator?: string,\n fractionGroupSize?: number,\n suffix?: string,\n}\n@Injectable({\n providedIn: 'root'\n})\nexport class ValueConverterService {\n\n public isInEnglish: boolean = false;\n public customFormat: BigNumberFormat = undefined;\n public decimalSeparator: string = ',';\n public groupSeparator: string = '.'; // Thousand divider, billiards, etc...\n public fiatCurrency: IFiatCurrency = undefined;\n\n constructor(\n private readonly translate: TranslateService,\n private readonly accountService: AccountService,\n private readonly decimalPipe: DecimalPipe,\n ) {\n this.fiatCurrency = this.accountService.getFiatCurrency();\n\n const userLanguage: string = this.translate.getBrowserLang();\n this.isInEnglish = userLanguage?.includes('en');\n this.decimalSeparator = this.isInEnglish ? '.' : ',';\n this.groupSeparator = this.isInEnglish ? ',' : '.';\n this.customFormat = {\n decimalSeparator: this.decimalSeparator,\n groupSeparator: this.groupSeparator,\n groupSize: 3\n };\n BigNumber.config({ FORMAT: this.customFormat });\n }\n\n // Used in inputs with ngx-currency (currencyMask)\n public getOptionsForCurrencyMask(decimalPlaces: number = 2, hidePrefix: boolean = false, customPrefix: string = ''): CurrencyMaskConfig {\n const customCurrencyMaskConfig: CurrencyMaskConfig = {\n align: 'left',\n nullable: true,\n prefix: hidePrefix ? '' : customPrefix || `${this.fiatCurrency.symbol} `,\n suffix: '',\n inputMode: CurrencyMaskInputMode.FINANCIAL,\n allowNegative: false,\n allowZero: true,\n decimal: this.decimalSeparator,\n thousands: this.groupSeparator,\n precision: decimalPlaces,\n };\n return customCurrencyMaskConfig;\n }\n\n /**\n * Formats the given value in the device's default language (English or Portuguese).\n * @param value The value to be converted.\n * @param decimalPlaces Number of decimal places. Default is 2.\n * @returns Formatted value in string. E.g: 1154064 will return 11.540,64 (pt-br) or 11,540.64 (en).\n */\n public toStringFormat(\n value: number | BigNumber | string = 0,\n decimalPlaces: number = 2,\n ): string {\n if (!value) {\n return new BigNumber(0).toFormat(decimalPlaces);\n }\n if (typeof value === 'string') {\n let newVal = value.replace(/\\D/g, '');\n let decimalPlace: string = '';\n let integerValue: string = '';\n if(newVal.length > decimalPlaces) {\n decimalPlace = newVal.slice(newVal.length - decimalPlaces, newVal.length);\n integerValue = newVal.slice(0, newVal.length - decimalPlaces);\n } else {\n decimalPlace = newVal;\n integerValue = '0';\n }\n let tmpDecimalPlace: BigNumber = new BigNumber(decimalPlace).dividedBy(10 ** decimalPlaces);\n const valueToReturn: BigNumber = new BigNumber(integerValue).plus(tmpDecimalPlace);\n return new BigNumber(valueToReturn).toFormat(decimalPlaces);\n } else {\n return new BigNumber(value).toFormat(decimalPlaces);\n }\n }\n\n /**\n * Reverses the formatting used in the toStringFormat method.\n * @param value The formatted value in string (based on user language).\n * @returns The value in BigNumber without formatting. E.g: 11.540,64 (pt-br) or 11,540.64 (en) will return new BigNumber(11540.64)\n */\n public fromStringFormatToBigNumber(value: string, decimalPlaces: number = 6): BigNumber {\n if (!value) {\n return new BigNumber(0);\n }\n let newVal = value.replace(/\\D/g, '');\n let decimalPlace: string = '';\n let integerValue: string = '';\n if(newVal.length > decimalPlaces) {\n decimalPlace = newVal.slice(newVal.length - decimalPlaces, newVal.length);\n integerValue = newVal.slice(0, newVal.length - decimalPlaces);\n } else {\n decimalPlace = newVal;\n integerValue = '0';\n }\n let tmpDecimalPlace: BigNumber = new BigNumber(decimalPlace).dividedBy(10 ** decimalPlaces);\n const valueToReturn: BigNumber = new BigNumber(integerValue).plus(tmpDecimalPlace);\n return new BigNumber(valueToReturn);\n }\n\n /**\n * This method calculate how many days are left for expiration based on current date.\n * @param expirationDate It's the expiration date\n *\n * @returns Returns the remaining days relative to today.\n */\n public getDifferenceInDays(expirationDate: Date): string {\n const expiration = expirationDate.getTime();\n const today = new Date().getTime();\n const leftDay = (expiration - today) / (24*3600000); // in days\n const newDate = new Date(leftDay)\n return leftDay.toFixed(0) || \"0\";\n }\n\n /**\n * This method calculate how many hours are left for expiration based on current date.\n * @param expirationDate It's the expiration date\n *\n * @returns Returns the remaining days relative to the current time.\n */\n public getDifferenceInHours(expirationDate: Date): string {\n const expiration = expirationDate.getTime();\n const today = new Date().getTime();\n const leftHours = (expiration - today) / 3600000; // total in hours\n const onlyHours = leftHours % 24;\n return onlyHours.toFixed(0) || \"0\";\n }\n\n /**\n * Method created to handle the monetary amount formatted by mask-currency.directive\n *\n * @param value string value handled by mask-currency.directive\n * format expected: $ 5.423,99\n * @returns String provided converted in BigNumber: 5423,99\n */\n public handlingMonetaryAmount(value: string): BigNumber{\n let convertedValue = new BigNumber(0);\n if (value){\n //Remove non-digits, for instance: 5423,99 becames 542399\n let newVal: string = value.replace(/\\D/g, '');\n\n let cents: string;\n let tempCents: BigNumber;\n let integerValue: string = '0';\n //For a monetary amount, latest 2 digits will always be the cents\n if (newVal.length <= 2){\n cents = newVal;\n }else {\n //Split the cents from integers\n //for instance, given the known example 542399\n //cents became 99 and integerValue becames 5423\n cents = newVal.slice(newVal.length - 2, newVal.length);\n integerValue = newVal.slice(0, newVal.length - 2);\n }\n //Divide by 100 to transform in decimal, the example 99 becamse to 0,99\n tempCents = new BigNumber(cents).dividedBy(100);\n //Add again to integerValue, which becames 5423,99 formated as BigNumber\n convertedValue = new BigNumber(integerValue).plus(tempCents);\n }\n return convertedValue;\n }\n\n /**\n * Method created to handle the monetary amount formatted by mask-currency.directive\n *\n * @param value string value handled by mask-currency.directive\n * format expected: $ 5.423,990201\n * @returns String provided converted in BigNumber: 5423,990201\n */\n public handlingTokenAmount(value: string): BigNumber{\n let convertedValue = new BigNumber(0);\n if (value){\n //Remove non-digits, for instance: 5423,990201 becames 5423990201\n let newVal: string = value.replace(/\\D/g, '');\n\n let cents: string;\n let tempCents: BigNumber;\n let integerValue: string = '0';\n //Split the cents from integers\n //for instance, given the known example 5423990201\n //cents became 990201 and integerValue becames 5423\n cents = newVal.slice(newVal.length - 6, newVal.length);\n integerValue = newVal.slice(0, newVal.length - 6)\n\n //Divide by 1000000 to transform in decimal, the example 990201 becamse to 0,990201\n tempCents = new BigNumber(cents).dividedBy(1000000);\n //Add again to integerValue, which becames 5423,990201 formated as BigNumber\n convertedValue = new BigNumber(integerValue).plus(tempCents);\n }\n return convertedValue;\n }\n\n /**\n * Method created to handle the monetary amount formatted by mask-currency.directive\n * This method accepts only 1 decimal place\n *\n * @param value string value handled by mask-currency.directive\n * format expected: 75,0 (without the % symbol)\n * @returns String provided converted in BigNumber: 75\n */\n public handlingPercentualAmount(value: string): BigNumber{\n let convertedValue = new BigNumber(0);\n if (value && value.length > 0){\n let newVal: string = value.replace(/\\D/g, '');\n\n if(newVal.length > 0) {\n\n let decimalPlace: string;\n let tempDecimalPlace: BigNumber;\n let integerValue: string = '0';\n //In case there is only 1 digit, it means the decimal place\n if (newVal.length === 1){\n integerValue = '0';\n decimalPlace = newVal;\n }else if(newVal.length === 2){\n integerValue = newVal.substring(0,1);\n decimalPlace = newVal.substring(1,2);\n }else if(newVal.length === 3){\n integerValue = newVal.substring(0,2);\n decimalPlace = newVal.substring(2,3);\n //In case the user typed 100 or a number bigger than 100\n //It is expected to string to be 100.0, hence, more than 3 characters\n } else{\n integerValue = '100';\n decimalPlace = '0';\n }\n if (decimalPlace){\n tempDecimalPlace = new BigNumber(decimalPlace).dividedBy(10);\n }\n convertedValue = new BigNumber(integerValue).plus(tempDecimalPlace);\n }\n\n }\n\n return convertedValue;\n }\n\n /**\n * This method converts some monetary value into monetary value token value.\n * @param tokenPrice the token value in relation to the currency type to be formatted. Ex: 1 token = R$ 1,50 => tokenPrice = new BigNumber(1.50).\n * @param amountMoney the monetary amount, without symbol. Ex: R$123,45 => 123,45.\n * @returns value in tokens formatted '1.2-2'.\n */\n public convertCurrencyToTokens(tokenPrice: BigNumber, amountMoney: BigNumber | number | string): string {\n let amountInBig: BigNumber;\n if (typeof amountMoney === 'number' ) {\n amountInBig = new BigNumber(amountMoney);\n } else if (typeof amountMoney === 'string') {\n amountInBig = new BigNumber(parseFloat(amountMoney.replace(',','.')));\n } else {\n amountInBig = amountMoney || new BigNumber(0);\n }\n const tokenAmountInBig = amountInBig.dividedBy(tokenPrice);\n return this.decimalPipe.transform(tokenAmountInBig.toNumber() || 0, '1.6-6');\n }\n\n //Method to format the input monetary data\n //Given a input data 523400, such method will format to 5.234,00\n public formatMonetaryInput(originalValue: string, withCurrency$: boolean = true): string {\n //Remove all non-digit characters\n let newVal = originalValue.replace(/\\D/g, '');\n if (newVal[0] === '0'){\n let i = 0;\n for(; i < newVal.length && newVal[i] === '0'; i++){\n //Do nothing indeed, just go to latest 0 in the string in order to remove it afterwards\n //for instance, given a string 0012, it must to go to index 2, indicating that from\n //index 0 to index 1 it must to be removed\n }\n newVal = newVal.substring(i, newVal.length);\n }\n\n if (newVal.length === 0) {\n newVal = '';\n } else if (newVal.length <= 1) {\n //Very first digit is a cent,\n //for instance, if the user typed 5, it becames 0,05\n newVal = newVal.replace(/^(\\d{1})/, `0${this.decimalSeparator}0$1`);\n // newVal = newVal.replace(/^(\\d{1})/, '0,0$1');\n } else if (newVal.length <= 2) {\n //Second digit is a cent,\n //for instance, if after the 5 the user types 2, it becames 0,52\n newVal = newVal.replace(/^(\\d{2})/, '0,$1');\n } else if (newVal.length <= 3) {\n //Then in case the user types a 3, it becames 5,23\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,2})/, `$1${this.decimalSeparator}$2`);\n } else if (newVal.length <= 4) {\n newVal = newVal.replace(/^(\\d{0,2})(\\d{0,2})/, `$1${this.decimalSeparator}$2`);\n } else if (newVal.length <= 5) {\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,2})/, `$1${this.decimalSeparator}$2`);\n } else if (newVal.length <= 6) {\n //Deal with thousands: 5.234,00\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,3})(\\d{0,2})/, `$1${this.groupSeparator}$2${this.decimalSeparator}$3`);\n } else if (newVal.length <= 7) {\n newVal = newVal.replace(/^(\\d{0,2})(\\d{0,3})(\\d{0,2})/, `$1${this.groupSeparator}$2${this.decimalSeparator}$3`);\n } else if (newVal.length <= 8) {\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,2})/, `$1${this.groupSeparator}$2${this.decimalSeparator}$3`);\n } else if (newVal.length <= 9) {\n //Deal with millions: 5.234.001,58\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,3})(\\d{0,3})(\\d{0,2})/, `$1${this.groupSeparator}$2${this.groupSeparator}$3${this.decimalSeparator}$4`);\n } else if (newVal.length <= 10) {\n newVal = newVal.replace(/^(\\d{0,2})(\\d{0,3})(\\d{0,3})(\\d{0,2})/, `$1${this.groupSeparator}$2${this.groupSeparator}$3${this.decimalSeparator}$4`);\n } else if (newVal.length <= 11) {\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,3})(\\d{0,2})/, `$1${this.groupSeparator}$2${this.groupSeparator}$3${this.decimalSeparator}$4`);\n } else {\n //10 places before comma + 2 places for cents are the max value handled.\n newVal = newVal.substring(0, 12);\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,3})(\\d{0,3})(\\d{0,3})(\\d{0,2})/, `$1${this.groupSeparator}$2${this.groupSeparator}$3${this.groupSeparator}$4${this.decimalSeparator}$5`);\n }\n if (newVal){\n return `${withCurrency$ ? '$' : ''}` + newVal;\n }\n return ;\n }\n\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { ValueConverterService } from 'src/app/shared/services/util/value-converter.service';\n\n@Directive({\n selector: '[appMaskDecimalNumber]'\n})\nexport class MaskDecimalNumberDirective {\n\n constructor(\n private el: ElementRef,\n public readonly valueConverterService: ValueConverterService,\n ) { }\n\n @HostListener('input', ['$event'])\n public inputChange(event: any): void {\n this.onInputChange(event.target.value);\n }\n\n /**\n * It formats a given number into a decimal number with 2 decimal places. E.g. 7815000 returns 78.150,00\n * @param originalValue \n */\n public onInputChange(originalValue: string) {\n let newVal = this.valueConverterService.formatMonetaryInput(originalValue, false);\n if (newVal){\n this.el.nativeElement.value = newVal;\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormatStringService {\n\n constructor() { }\n\n /**\n * Convert a text to limit the maximum number of characters, putting ellipsis in the middle to indicate that there is more text\n * @param string The text to be masked\n * @param maxLength Maximum number of characters in the string that can appear\n * @returns \n */\n public getEllipsisInTheMiddle(string: string, maxLength: number = 6) {\n if (!string || maxLength < 1 || string.length <= maxLength) {\n return string;\n }\n\n if (maxLength === 1) {\n return string.substring(0, 1) + '...';\n }\n \n var middlePoint = Math.ceil(string.length / 2);\n var quantityToHide = string.length - maxLength;\n var leftString = Math.ceil(quantityToHide / 2);\n var rightString = quantityToHide - leftString;\n return `${string.substring(0, middlePoint - leftString)}...${string.substring(middlePoint + rightString)}`;\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../../constants/rest-endpoint.constants\";\nimport { RequestDocument } from \"../../../models/DocumentList\";\nimport { Requests } from \"../../../models/Requests\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LetterOfCreditService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getRequests(): Observable> {\n return this.http.get(RestEndpoint.getAllRequests, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getRequest(letterIdentifier: string): Observable {\n return this.http.get(RestEndpoint.getRequest, {\n params: {\n letterIdentifier\n }\n })\n .pipe(\n map((data: Requests) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getLettersByNumber(id: string): Observable {\n return;\n }\n\n public createNewRequest(creditLetter: Requests): Observable {\n return this.http.post(`${RestEndpoint.createRequest}`, creditLetter)\n .pipe(\n map((data: any) => data.id)\n );\n }\n\n public updateLetter(updatedLetter: Requests): Observable {\n return this.http.put(`${RestEndpoint.updateRequest}`, updatedLetter)\n .pipe(\n map((data: any) => data)\n );\n }\n\n public assignToMe(updatedLetter: Requests): Observable {\n return this.http.put(`${RestEndpoint.assignToMe}`, updatedLetter)\n .pipe(\n map((data: any) => data.id)\n );\n }\n\n public createDocument(requestDocument: RequestDocument): Observable {\n return this.http.post(`${RestEndpoint.createDocument}`, requestDocument)\n .pipe(\n map((data: any) => data.id)\n );\n }\n\n public deleteDocument(documentId: string): Observable {\n return this.http.delete(`${RestEndpoint.deleteDocument}/${documentId}`)\n .pipe(\n map((data: any) => data.id)\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { RewardService } from '../services/reward/reward.services';\nimport { TranslationConstants } from '../services/util/translation.constants';\nimport { SnackBarTheme } from '../models/snackbar-theme.enum';\nimport { SnackbarService } from '../services/util/snackbar.service';\nimport { NFTPackageBought } from '../models/INFTPackage';\n\n@Component({\n selector: 'app-redeem-reward-modal',\n templateUrl: './redeem-reward-modal.component.html',\n styleUrls: ['./redeem-reward-modal.component.scss']\n})\nexport class RedeemRewardModalComponent implements OnInit {\n public loading: boolean = false;\n public rewardCode: string = '';\n public nftSuccessClose: boolean = true;\n public nftPackageResponse: NFTPackageBought = new NFTPackageBought();\n\n constructor(\n private readonly dialogRef: MatDialogRef,\n private readonly rewardService: RewardService,\n private readonly snackbarService: SnackbarService,\n private readonly translationConstants: TranslationConstants\n ) { }\n\n public ngOnInit(): void {\n this.dialogRef.addPanelClass(['custom-modal', 'custom-background']);\n }\n\n public close(): void {\n this.dialogRef.close();\n }\n\n public redeemReward(): void {\n this.loading = true;\n this.rewardService.redeemReward(this.rewardCode).subscribe(resp => {\n this.snackbarService.openSnackBar(this.translationConstants.translate('redeemRewardModal.snackbar.rewardSuccessfullyRedeemed'), SnackBarTheme.success, 4000);\n\n this.openNftPackageSuccess({\n package_info: Object.assign({\n short_name: (resp as any)?.name\n }),\n nfts: [(resp as any)]\n });\n\n this.loading = false;\n }, error => {\n let snackbarMessage: string = '';\n\n if (error.error?.message?.includes('Reward not found')) {\n snackbarMessage = this.translationConstants.translate('redeemRewardModal.snackbar.rewardNotFound');\n } else if (error.error?.message?.includes('Reward already redeemed')) {\n snackbarMessage = this.translationConstants.translate('redeemRewardModal.snackbar.rewardAlreadyRedeemed');\n } else if (error.error?.message?.includes('Reward disabled')) {\n snackbarMessage = this.translationConstants.translate('redeemRewardModal.snackbar.rewardDisabled');\n } else if (error.error?.message?.includes('Redemption period expired')) {\n snackbarMessage = this.translationConstants.translate('redeemRewardModal.snackbar.redemptionPeriodExpired');\n } else {\n snackbarMessage = this.translationConstants.translate('redeemRewardModal.snackbar.failedToRedeemReward');\n }\n\n this.snackbarService.openSnackBar(snackbarMessage, SnackBarTheme.error, 4000);\n this.loading = false;\n });\n }\n\n public closeNftSuccess(event: boolean): void {\n if (event) {\n this.nftSuccessClose = true;\n this.close();\n }\n }\n\n public openNftPackageSuccess(packageBought: NFTPackageBought): void {\n this.nftPackageResponse = packageBought;\n this.nftSuccessClose = false;\n }\n}\n","
\n
\n

{{ 'redeemRewardModal.title' | translate }}

\n close\n
\n\n
\n \n \n
\n\n
\n \n
\n \n
\n\n\n\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { ShoppingCartItem } from '../../../models/shopping-cart-item.model';\nimport BigNumber from 'bignumber.js';\nimport { ShoppingCart } from '../../../models/shopping-cart.model';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { ShoppingCartAdapter } from '../adapters/shopping-cart.adapter';\nimport { RestEndpoint } from '../../../../constants/rest-endpoint.constants';\nimport { PlatformBalance } from '../../../models/wallet.balance';\n\n/**\n * Shopping WiBX cart service\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ShoppingCartService {\n private shoppingCarts: Array = [];\n private readonly cachedShoppingCartsByEnteprise: Map;\n private readonly ZERO: BigNumber = new BigNumber(0);\n\n constructor(\n private readonly http: HttpClient,\n private readonly shoppingCartAdapter: ShoppingCartAdapter\n ) {\n this.cachedShoppingCartsByEnteprise = new Map();\n }\n\n /**\n * Gets the shopping carts of the current user session.\n */\n public getShoppingCarts(cached: boolean = true): Observable> {\n if (cached && this.shoppingCarts.length > 0) {\n return of(this.shoppingCarts);\n }\n\n return this.http.get>(RestEndpoint.shoppingCarts)\n .pipe(\n map((data: Array) => data.map((item: any) => {\n return this.shoppingCartAdapter.adapt(item);\n })),\n tap((shoppingCartsFounded: Array) => this.shoppingCarts = shoppingCartsFounded),\n tap((shoppingCartsFounded: Array) => {\n shoppingCartsFounded.forEach((shoppingCart: ShoppingCart) => {\n this.cachedShoppingCartsByEnteprise.set(shoppingCart.storeId.trim(), shoppingCart);\n });\n })\n );\n }\n\n /**\n * Gets the shopping cart total amount of the given enterprise.\n *\n * This total amount includes the discount if it exists.\n *\n * @param storeId the interprise identifier.\n */\n public getTotalByEnterprise(storeId: string): BigNumber {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId.trim());\n\n if (shoppingCart && shoppingCart.items.length > 0) {\n let total: BigNumber = shoppingCart.items\n .map((cartItem: ShoppingCartItem) => new BigNumber(cartItem.item.price).multipliedBy(cartItem.quantity))\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n\n return total;\n }\n\n return this.ZERO;\n }\n\n\n /**\n * Gets the shopping cart total amount of the given enterprise considering the wibx Percentage.\n *\n * This total amount includes the discount if it exists.\n *\n * @param storeId the interprise identifier.\n */\n public getTotalWithPercentageByEnterprise(storeId: string): BigNumber {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId.trim());\n\n if (shoppingCart && shoppingCart.items.length > 0) {\n let total: BigNumber = shoppingCart.items\n .map((cartItem: ShoppingCartItem) => {\n return new BigNumber(cartItem.item.price).multipliedBy(cartItem.quantity);\n\n })\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n\n return total;\n }\n\n return this.ZERO;\n }\n\n /**\n * Gets the shopping cart subtotal amount of the given enterprise.\n *\n * @param storeId the interprise identifier.\n */\n public getSubTotalByEnterprise(storeId: string): BigNumber {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId.trim());\n\n if (shoppingCart && shoppingCart.items.length > 0) {\n const total: BigNumber = shoppingCart.items\n .map((cartItem: ShoppingCartItem) => new BigNumber(cartItem.item.price)\n .multipliedBy(cartItem.quantity))\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n return total;\n }\n\n return this.ZERO;\n }\n\n /**\n * Gets the total of items of a shopping cart of the give enterprise.\n *\n * @param storeId the enterprise id.\n */\n public getTotalOfItemsByEnterprise(storeId: string): BigNumber {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId);\n\n if (shoppingCart && shoppingCart.items.length > 0) {\n return shoppingCart.items\n .map((cartItem: ShoppingCartItem) => {\n\n return cartItem.quantity;\n })\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n }\n\n return this.ZERO;\n }\n\n /**\n * Gets the total of items of a shopping cart\n */\n public getTotalOfItems(): BigNumber {\n let quantityTotal: BigNumber = this.ZERO;\n\n for (const shoppingCart of this.cachedShoppingCartsByEnteprise.values()) {\n const cartQuantityTotal = shoppingCart.items.map((cartItem: ShoppingCartItem) => {\n return cartItem.quantity;\n })\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n\n quantityTotal = quantityTotal.plus(cartQuantityTotal);\n }\n\n return quantityTotal;\n }\n\n /**\n * Gets the shopping cart by enterprise id.\n *\n * @param storeId the enterprise id.\n */\n public getShoppingCartByEnterprise(storeId: string): ShoppingCart {\n return this.cachedShoppingCartsByEnteprise.get(storeId?.trim());\n }\n\n /**\n * Removes the shopping cart item of the give enterprise.\n *\n * @param storeId the enterprise identifier.\n * @param shoppingCartItem the shopping cart item to be removed.\n */\n public removeShoppingCartItemByEnterprise(storeId: string, shoppingCartItem: ShoppingCartItem): Observable {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId.trim());\n return this.removeShoppingCartItem(shoppingCart, shoppingCartItem);\n }\n\n /**\n * Add a shopping cart item.\n *\n * The quantity of the shopping cart item will be increased.\n *\n * @param shoppingCart the shopping cart tha the item belongs to.\n * @param shoppingCartItem the shopping cart item.\n */\n public addShoppingCartItem(shoppingCart: ShoppingCart, shoppingCartItem: ShoppingCartItem): Observable {\n return this.http.post(`${RestEndpoint.shoppingCarts}`, {\n storeId: shoppingCart.storeId,\n itemId: shoppingCartItem.item.id,\n product_name: shoppingCartItem.item.name,\n quantity: shoppingCartItem.quantity || 1\n })\n .pipe(\n map((data: any) => data.id)\n );\n }\n\n public quotations(currency: string): Observable {\n let unitOfMoney = currency;\n return this.http.get(RestEndpoint.quotations, { params: { currency, unitOfMoney } })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((error) => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n public balance(unitOfMoney): Observable {\n return this.http.get(RestEndpoint.balance, {\n params: {\n unitOfMoney\n }\n })\n .pipe(\n map((data: PlatformBalance[]) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n /**\n * Removes a shopping cart item.\n *\n * The quantity of the shopping cart item will be decreased.\n *\n * @param shoppingCart the shopping cart tha the item belongs to.\n * @param shoppingCartItem the shopping cart item.\n */\n public removeShoppingCartItem(shoppingCart: ShoppingCart, shoppingCartItem: ShoppingCartItem, quantity?: number): Observable {\n return this.http.put(`${RestEndpoint.shoppingCarts}${shoppingCart.id}/item/${shoppingCartItem.item.id}`, {\n shoppingCartId: shoppingCart.id,\n itemId: shoppingCartItem.item.id,\n product_name: shoppingCartItem.item.name,\n quantity: quantity ? quantity : 1\n })\n .pipe();\n }\n\n\n public clearCachedShoppingCarts(enterprise?: string): void {\n if (enterprise) {\n this.cachedShoppingCartsByEnteprise.delete(enterprise);\n } else {\n this.cachedShoppingCartsByEnteprise.clear();\n }\n }\n\n\n\n public allBalances(): Observable {\n return this.http.get(RestEndpoint.balance, {\n })\n .pipe(\n map((data: PlatformBalance[]) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n}\n","export class BankingAccount \n{\n public id?: string;\n public bankStatus?: BaaSAccountStatus;\n public fintechStatus?: FintechAccountStatus;\n public accountId?: string;\n public branch?: string;\n public account?: string;\n public documentNumber?: string;\n public onBoardingId?: string;\n public clientCode?: string;\n public requestDate?: Date;\n public fintechApprovalDisapprovalDate?: Date;\n public disapprovalReason?: string;\n public suspensionReason?: string;\n public suspensionDate?: Date;\n public bankCode?: string;\n\n /*virtual fields, provided during runtime only*/\n public bankName?: string;\n public balance?: number;\n}\n\nexport enum BaaSAccountStatus {\n //once the account is requested\n PROCESSING = 'processing',\n //once the account is approved on BaaS\n CONFIRMED = 'confirmed',\n ERROR = 'error',\n //in case of blockings requested by Fintech\n BLOQUEADO = 'BLOQUEADO',\n //ready for use\n ATIVO = 'ATIVO',\n}\n\nexport enum FintechAccountStatus {\n PROCESSING = 'processing',\n APPROVED = 'approved',\n DISAPPROVED = 'disapproved',\n SUSPENDED = 'suspended'\n}\n\nexport enum BankingAccountFeatures {\n //bill payments\n BILL = 'bill',\n //external transfer\n TED = 'ted'\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MaterialModule } from '../material/material.module';\nimport { HeaderComponent } from './header/header.component';\nimport { TranslatePipe } from '../directives/translate.directive';\nimport { DragScrollModule } from 'ngx-drag-scroll';\nimport { FormsModule } from '@angular/forms';\nimport { NgxShimmerLoadingModule } from 'ngx-shimmer-loading';\nimport { FooterComponent } from './footer/footer.component';\nimport { BottomNavigationComponent } from '../bottom-navigation/bottom-navigation.component';\nimport { CardListComponent } from './card-list/card-list.component';\n\n@NgModule({\n declarations: [\n HeaderComponent,\n FooterComponent,\n CardListComponent,\n TranslatePipe,\n BottomNavigationComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n TranslateModule,\n DragScrollModule,\n MaterialModule,\n FormsModule,\n NgxShimmerLoadingModule\n ],\n exports: [\n TranslateModule,\n HeaderComponent,\n CardListComponent,\n FooterComponent,\n BottomNavigationComponent,\n TranslatePipe,\n FormsModule\n ]\n})\nexport class LayoutModule { }","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { LocalStorageService } from \"angular-web-storage\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { IEniatoHeaderLink } from \"../../models/IEniatoHeaderLink\";\nimport { IEniatoHomeSectionData } from \"../../models/IEniatoHomeSectionData.model\";\nimport { LocalStorageKeys } from \"../../utils/local.storage.keys\";\n\n@Injectable()\nexport class UXConfigsService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly storage: LocalStorageService\n ) { }\n\n public getEniatoHeaderLinks(forceLoad: boolean = false): Observable> {\n if (!forceLoad && this.storage.get(LocalStorageKeys.ENIATO_HEADER_LINKS)){\n return of(this.storage.get(LocalStorageKeys.ENIATO_HEADER_LINKS));\n }\n\n return this.http.get(RestEndpoint.getEniatoHeaderLinks)\n .pipe(\n map((data: Array) => {\n this.storage.set(LocalStorageKeys.ENIATO_HEADER_LINKS, data);\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getOrderOfHomeSections(): Observable> {\n return this.http.get(RestEndpoint.getOrderOfHomeSections)\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n}","//These strings will be used to compare the name configured in the Vault, hence,\n//It must be the very same name as configured over there.\nexport enum FeatureNames {\n TOKEN_HANDLING = 'TOKEN_HANDLING',\n REGISTRATION_KYC = 'REGISTRATION_KYC',\n NFT_RESALE = 'NFT_RESALE',\n METAMASK = 'METAMASK',\n SEND_NFT = 'SEND_NFT',\n BLOCK_CROWDFUNDING_WITHOUT_APPROVAL = 'BLOCK_CROWDFUNDING_WITHOUT_APPROVAL',\n PAYMENT_WITH_PIX = 'PAYMENT_WITH_PIX',\n PAYMENT_WITH_CIELO = \"PAYMENT_WITH_CIELO\",\n LOANS = 'LOANS',\n PIX_CREDIT = 'PIX_CREDIT',\n CELCOIN_DIGITAL_BANKING = 'CELCOIN',\n WITHDRAWAL_HANDLING = 'WITHDRAWAL_HANDLING',\n NFT_PACKAGES = 'NFT_PACKAGES',\n DEPOSITS_HANDLING = 'DEPOSITS_HANDLING',\n DISPLAY_TOKENS = 'DISPLAY_TOKENS',\n COIN_PAYMENTS = 'COIN_PAYMENTS',\n NFT_EXTERNAL_PURCHASE = 'NFT_EXTERNAL_PURCHASE',\n COIN_DEPOSITS = 'COIN_DEPOSITS',\n STAKING_PERMISSION='STAKING_PERMISSION',\n STAKING_SIGNMENT='STAKING_SIGNMENT',\n PAG_SEGURO = 'PAG_SEGURO',\n FRIENDS= 'FRIENDS',\n ID_WALL_SDK = 'ID_WALL_SDK',\n CLEAR_LEDGER = 'CLEAR_LEDGER',\n BRASIL_CASH = 'BRASIL_CASH',\n TRANSFERA = 'TRANSFERA',\n PAY42 = 'PAY42',\n CROWDFUNDING = 'CROWDFUNDING',\n CVM_FOOTER = 'CVM_FOOTER',\n USER_KYC='USER_KYC',\n FIAT_PAYMENTS='FIAT_PAYMENTS',\n BRLA='BRLA',\n CELCOIN_INTEGRATION = 'CELCOIN_INTEGRATION',\n STAKING_NFT = 'STAKING_NFT',\n DISTRIBUTE_ON_NFTS = 'DISTRIBUTE_ON_NFTS',\n ONE_SIGNAL = 'ONE_SIGNAL',\n AUCTION_NFT = 'AUCTION_NFT',\n NFT_VIDEO = 'NFT_VIDEO',\n BUY_TOKEN = 'BUY_TOKEN',\n FIAT_DEPOSITS = 'FIAT_DEPOSITS',\n COIN_CHART = 'COIN_CHART',\n TOKEN_WITHDRAWAL = 'TOKEN_WITHDRAWAL',\n ESCROW = 'ESCROW',\n VESTING_BLOCKCHAIN = 'VESTING_BLOCKCHAIN',\n NETELLER_PAYMENT = 'NETELLER_PAYMENT',\n WALLET = 'WALLET', \n EXTERNAL_DEPOSIT = 'EXTERNAL_DEPOSIT',\n PAYMENT_LOCATIONS_CONTROL = 'PAYMENT_LOCATIONS_CONTROL',\n DIGITAL_BANKING = 'DIGITAL_BANKING',\n EXCHANGE = 'EXCHANGE',\n IN1888_REPORT = 'IN1888_REPORT',\n MIDAS_MARKETPLACE = 'MIDAS_MARKETPLACE',\n MIDAS_EVENTS = 'MIDAS_EVENTS',\n MIDAS_HOME_NFTS = 'MIDAS_HOME_NFTS',\n MIDAS_STAKING = 'MIDAS_STAKING',\n MIDAS_TOKENIZATION = 'MIDAS_TOKENIZATION',\n LETTER_OF_CREDIT = 'LETTER_OF_CREDIT',\n SPECIAL_PRICES='SPECIAL_PRICES',\n COIN_PAYMENTS_KAIROS = 'COIN_PAYMENTS_KAIROS',\n DIGITAL_BANKING_KAIROS = 'DIGITAL_BANKING_KAIROS',\n CHAT = 'CHAT',\n PAYMENT_QUEUE = 'PAYMENT_QUEUE',\n BRASIL_BITCOIN = 'BITCOIN_BRASIL',\n SWAP = 'SWAP',\n COMMUNITY_CYCLE = 'COMMUNITY_CYCLE',\n ESCROW_HOME = 'ESCROW_HOME',\n TWILIO = \"TWILIO\"\n}","import { Component, OnInit, HostListener } from '@angular/core';\nimport { IExternalLinks } from '../../../shared/models/IExternalLinks';\nimport { ConfigReaderService } from '../../../shared/services/util/config.reader.service';\nimport { UtilService } from '../../../shared/services/util/util.service';\nimport { forkJoin } from 'rxjs';\nimport { SimpleContactModalComponent } from '../../../shared/simple-contact-modal/simple-contact-modal.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { EContactChannels, IContactDetails } from '../../../shared/models/IContactDetails';\nimport { environment } from 'src/environments/environment';\nimport { FeaturesStatusService } from '../../services/util/features-status.service';\nimport { FeatureNames } from '../../models/feature-names.enum';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n private externalLinks: IExternalLinks = undefined;\n private contactDetails: IContactDetails = undefined;\n public enableContactButton: boolean = false;\n public socialMedias: Array = [];\n public displayHiphen: boolean = true;\n public companyName: string;\n public isCrowdfundingEnabled: boolean = false;\n\n constructor(\n public dialog: MatDialog,\n private readonly myConfigReader: ConfigReaderService,\n private readonly featureStatusService: FeaturesStatusService,\n private readonly router: Router\n ) { }\n\n public ngOnInit(): void {\n forkJoin([\n this.myConfigReader.getAllExternalLinks(),\n this.myConfigReader.getContactDetails(),\n this.featureStatusService.getFeatureStatus(FeatureNames.CVM_FOOTER)\n ]).subscribe(async ([externalLinks, contactDetails, isCrowdfundingEnabled]) => {\n this.externalLinks = externalLinks;\n this.socialMedias = Object.keys(this.externalLinks?.socialMidias) || [];\n this.contactDetails = new IContactDetails(contactDetails);\n this.enableContactButton = this.contactDetails.enableContactButton();\n this.isCrowdfundingEnabled = isCrowdfundingEnabled;\n });\n this.companyName = environment.projectName;\n }\n\n public ngAfterViewInit(): void {\n this.checkDisplayHiphen();\n }\n\n @HostListener('window:resize', ['$event'])\n private checkDisplayHiphen() {\n const firstRightsLineHeight: number = document.getElementById('firstRightsLine').offsetHeight;\n this.displayHiphen = firstRightsLineHeight === 55;\n }\n\n public goToUrl(url: string): void {\n UtilService.goToUrl(url, this.externalLinks, this.router);\n }\n\n public goToHome(): void {\n window.open('/home');\n }\n\n public openContactChannel(): void {\n const channel: EContactChannels = this.contactDetails.channelToUse();\n if (EContactChannels.EMAIL === channel){\n this.dialog.open( SimpleContactModalComponent, {\n panelClass: 'customDialog',\n data: {\n contactDetails: this.contactDetails\n }\n } );\n }else if (EContactChannels.CHAT === channel){\n window.open(this.contactDetails.tawkTo);\n }\n }\n\n public goToCvm(): void {\n window.open('https://www.gov.br/cvm/pt-br', '_blank');\n }\n}\n","
\n
\n
\n \"logo\"\n \n
\n\n
\n {{ 'footer.aboutUs' | translate }}\n {{ 'footer.privacyPolicy' | translate }}\n\n {{ 'footer.terms' | translate }}\n {{ 'footer.material' | translate }}\n {{ 'footer.code' | translate }}\n\n {{ 'footer.contact' | translate }}\n
\n
\n
\n

{{ companyName }} {{ (displayHiphen ? '-' : '') }} 

\n

{{ ('footer.allRights' | translate) }}

\n
\n
\n","import { Injectable } from '@angular/core';\nimport BigNumber from 'bignumber.js';\nimport { FinalizedStakingApplication, NFTStakingApplication, NFTStakingConfig, UNIT_OF_TIME } from '../../models/INFTStaking';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NftConversionService {\n\n constructor (\n\n ) { }\n\n /**\n * Verify the quantity of time and the unit of time to return a word to translate.\n * @param stakedConfig The campaign that will be verified.\n * @returns The word to concatenate to the translate path.\n */\n public checkPeriod(stakedConfig: FinalizedStakingApplication): string {\n if (stakedConfig?.unit_of_time === UNIT_OF_TIME.D && stakedConfig?.staking_length === 1) {\n return 'day';\n } else if (stakedConfig?.unit_of_time === UNIT_OF_TIME.D && stakedConfig?.staking_length > 1) {\n return 'days';\n } else if (stakedConfig?.unit_of_time === UNIT_OF_TIME.M && stakedConfig?.staking_length === 1) {\n return 'month';\n } else if (stakedConfig?.unit_of_time === UNIT_OF_TIME.M && stakedConfig?.staking_length > 1) {\n return 'months';\n }\n }\n\n /**\n * Calculates the days remaining to the end of the campaign to redeem the reward, using\n * the current day and the end day of the campaign. Disregards hours, minutes and seconds.\n * @param applicationConfig Campaign application information.\n * @returns Returns the number of days remaining until the reward is redeemed.\n */\n public calculateRemainingPeriod(applicationConfig: NFTStakingApplication): number {\n const today: Date = new Date();\n const endDay: Date = new Date(applicationConfig?.end_date);\n today.setHours(0,0,0,0);\n endDay.setHours(0,0,0,0);\n const difference: BigNumber = new BigNumber(endDay.getTime() - today.getTime());\n return Number(difference.dividedBy(new BigNumber(1000 * 60 * 60 * 24)));\n }\n\n /**\n * Verify the quantity of the NFT to return a word to translate.\n * @param quantity quantity of NFT\n * @returns The word to concatenate to the translate path.\n */\n public checkQuantity(quantity: number): string {\n if (quantity === 1) {\n return 'nft';\n } else {\n return 'nfts';\n }\n }\n\n /**\n * Checks the number of days until the day of the reward redemption from the current day of viewing the campaign.\n * @param campaignDetails The campaign that will be verified.\n * @returns The date the user will receive the campaign reward.\n */\n public checkRemaingTime(campaignDetails: NFTStakingConfig): Date {\n const today: Date = new Date();\n today.setHours(0,0,0,0);\n\n const period: number = campaignDetails?.staking_length;\n\n if (campaignDetails?.unit_of_time === UNIT_OF_TIME.D) {\n today.setDate(today.getDate() + period);\n } else {\n today.setDate(today.getDate() + period * 30);\n }\n\n return today;\n }\n\n public calculateProgressPercentage(percentage: number): number {\n const result: BigNumber = new BigNumber(percentage).multipliedBy(new BigNumber(100));\n return Number((result).toFixed(2));\n }\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class ReloadUserData {\n\n public reloadUserData: BehaviorSubject = new BehaviorSubject(true);\n public shouldreloadUserData$: Observable = this.reloadUserData.asObservable();\n\n constructor(\n\n ) {\n }\n\n}","import BigNumber from 'bignumber.js';\nimport { Assets } from './IAssets.model';\nimport { Photo } from './photo.model';\n\nexport class NFTPackageToBuy {\n public package_id: string;\n public buyer_id: string;\n}\n\nexport class NFTPackageBought {\n public package_info: NFTPackage;\n public nfts: Assets[]\n}\n\nexport enum PACKAGE_TYPE{\n BRONZE=\"BRONZE\",\n SILVER=\"SILVER\",\n GOLD=\"GOLD\",\n DIMOND=\"DIMOND\",\n PLATINUM=\"PLATINUM\"\n}\n\nexport class NFTPackageCreate{\n public short_name: string;\n public description: string;\n public url: string; // package_image\n public quantity: number;\n public package_size: number;\n public packages: Array<{\n package_type: PACKAGE_TYPE,\n quantity: number,\n }>;\n public category?: string;\n public enabled: boolean;\n}\n\nexport class NFTPackage{\n public id: string;\n public short_name: string;\n public description: string;\n public url: string; // package_image\n public quantity: number;\n public photos?: Array;\n public category?: string;\n public collection?: string;\n public collection_id?: string;\n public category_id?: string;\n public categoryAux?: any;\n public price?: BigNumber;\n public enabled: boolean = true;\n public acceptBnb?: boolean;\n public bnbPrice?: BigNumber;\n public acceptCoin?: boolean;\n public coinPrice?: BigNumber;\n public bothMandatory?: boolean;\n public package_size: number;\n public payment_types?: any;\n public wallets_commission: Array<{id: string, commission: number}> = [];\n public taxType?: string;\n public transactionTax?: number;\n public packages: Array<{\n package_type: PACKAGE_TYPE,\n quantity: number,\n }> = [];\n\n constructor (object?: NFTPackage){\n if (object){\n Object.assign(this, object);\n }\n }\n\n}\n\n\nexport class NFTSearch{\n public id: string;\n public short_name: string;\n public description: string;\n public package_size: number;\n public url: string;\n public enabled: boolean;\n public package_type: PACKAGE_TYPE;\n public quantity: number;\n}\n\nexport class NFTPackageValidate{\n public package_type: PACKAGE_TYPE;\n public package_size: number;\n public quantity: number;\n}","/* tslint:disable */\n/**\n * Determines if two objects or two values are equivalent.\n *\n * Two objects or values are considered equivalent if at least one of the following is true:\n *\n * * Both objects or values pass `===` comparison.\n * * Both objects or values are of the same type and all of their properties are equal by\n * comparing them with `equals`.\n *\n * @param o1 Object or value to compare.\n * @param o2 Object or value to compare.\n * @returns true if arguments are equal.\n */\nexport function equals(o1: any, o2: any): boolean {\n if (o1 === o2) return true;\n if (o1 === null || o2 === null) return false;\n if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN\n let t1 = typeof o1, t2 = typeof o2, length: number, key: any, keySet: any;\n if (t1 == t2 && t1 == 'object') {\n if (Array.isArray(o1)) {\n if (!Array.isArray(o2)) return false;\n if ((length = o1.length) == o2.length) {\n for (key = 0; key < length; key++) {\n if (!equals(o1[key], o2[key])) return false;\n }\n return true;\n }\n } else {\n if (Array.isArray(o2)) {\n return false;\n }\n keySet = Object.create(null);\n for (key in o1) {\n if (!equals(o1[key], o2[key])) {\n return false;\n }\n keySet[key] = true;\n }\n for (key in o2) {\n if (!(key in keySet) && typeof o2[key] !== 'undefined') {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n }\n /* tslint:enable */\n \n export function isDefined(value: any): boolean {\n return typeof value !== 'undefined' && value !== null;\n }\n \n export function isObject(item: any): boolean {\n return (item && typeof item === 'object' && !Array.isArray(item));\n }\n \n export function mergeDeep(target: any, source: any): any {\n let output = Object.assign({}, target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((key: any) => {\n if (isObject(source[key])) {\n if (!(key in target)) {\n Object.assign(output, {[key]: source[key]});\n } else {\n output[key] = mergeDeep(target[key], source[key]);\n }\n } else {\n Object.assign(output, {[key]: source[key]});\n }\n });\n }\n return output;\n }","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../../constants/rest-endpoint.constants\";\nimport { LocalStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from \"../../../utils/local.storage.keys\";\nimport { ShippingResponse } from \"../../../models/states\";\nimport { BigNumber } from 'bignumber.js';\nimport { ProductsBackend } from \"../../../models/products.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PricesService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly storage: LocalStorageService,\n ) { }\n\n public getShippingData(forceLoad: boolean = false): Observable {\n if (!forceLoad && this.storage.get(LocalStorageKeys.SHIPPING_DATA)){\n return of(this.storage.get(LocalStorageKeys.SHIPPING_DATA));\n }\n\n return this.http.get(RestEndpoint.getShippingData)\n .pipe(\n map((data: ShippingResponse) => {\n this.storage.set(LocalStorageKeys.SHIPPING_DATA, data);\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public calculatePrice(uf: string, city: string, product: ProductsBackend, quantity: number, shippingData: ShippingResponse): BigNumber {\n\n let shippingAmount: BigNumber;\n let shippingSafeAmount: BigNumber;\n let shippingSafeAmountType: string;\n\n /**\n * The first priority is to consider the city\n */\n if(shippingData.cities?.length > 0) {\n const cityData = shippingData.cities.find(dt => dt.name?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") === city?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\"));\n shippingAmount = cityData?.shipping_amount;\n shippingSafeAmount = cityData?.shipping_safe_amount;\n shippingSafeAmountType = cityData?.shipping_safe_amount_type;\n }\n\n /**\n * Lets consider the state so\n */\n if(!shippingAmount || !shippingSafeAmount || !shippingSafeAmountType) {\n const state = shippingData.states.find(dt => dt.name?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") === uf?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\"));\n if(!shippingAmount) {\n shippingAmount = state?.shipping_amount;\n }\n\n /**\n * In case the safe shipping amount is not defined, we must also collect the safe amount type and vice versa\n */\n if(!shippingSafeAmount || !shippingSafeAmountType) {\n shippingSafeAmount = state?.shipping_safe_amount;\n shippingSafeAmountType = state?.shipping_safe_amount_type;\n }\n }\n\n /**\n * Lets start by calculate the price multiplying the quantity by the price\n */\n const productPrice: BigNumber = new BigNumber(product.price).multipliedBy(quantity);\n\n /**\n * Lets now calculate the shipping\n */\n const shippingFinalAmount: BigNumber = new BigNumber(shippingAmount) || new BigNumber(0);\n\n /**\n * Now we must consider the safe amount\n */\n const shippingSafetyAmount: BigNumber = this.calculateShippingSafetyAmount(shippingSafeAmount || product.bdmPrice?.safetyCharges, shippingAmount, shippingSafeAmountType);\n\n /**\n * We will sum the first 3 items\n */\n const sumMainAmount: BigNumber = new BigNumber(productPrice).plus(shippingFinalAmount).plus(shippingSafetyAmount);\n\n /**\n * Lets start to use the percentages\n */\n const admChargesAmount: BigNumber = sumMainAmount.multipliedBy(product.bdmPrice.administrativeCharges).dividedBy(100);\n\n const reservationChargesAmount: BigNumber = sumMainAmount.multipliedBy(product.bdmPrice.reservationCharges).dividedBy(100);\n\n const marginChargesAmount: BigNumber = sumMainAmount.multipliedBy(product.bdmPrice.marginCharges).dividedBy(100);\n\n const fundsChargesAmount: BigNumber = sumMainAmount.multipliedBy(product.bdmPrice.fundsCharges).dividedBy(100);\n\n /**\n * To finish the price calculation, we must calculate the BDM percentage\n */\n const auxAmount: BigNumber = sumMainAmount.plus(admChargesAmount).plus(reservationChargesAmount).plus(marginChargesAmount).plus(fundsChargesAmount);\n\n const bdmChargesAmount: BigNumber = auxAmount.multipliedBy(product.bdmPrice.bdmCharges).dividedBy(100);\n\n /**\n * This is the price calculation\n */\n return auxAmount.plus(bdmChargesAmount);\n }\n\n private calculateShippingSafetyAmount(shippingSafetyAmount: BigNumber, shippingAmount: BigNumber, shippingSafetyAmountType: string): BigNumber {\n if(new BigNumber(shippingSafetyAmount).isZero() || new BigNumber(shippingSafetyAmount).isNaN()) {\n return new BigNumber(0);\n }\n\n if(shippingSafetyAmountType === 'P') {\n if(new BigNumber(shippingAmount).isZero() || new BigNumber(shippingAmount).isNaN()) {\n throw new Error('Impossible to calculate the shipping safety amount');\n }\n return new BigNumber(shippingAmount).multipliedBy(shippingSafetyAmount).dividedBy(100);\n } else {\n return new BigNumber(shippingSafetyAmount);\n }\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Assets } from \"../../models/IAssets.model\";\nimport { TranslationConstants } from \"./translation.constants\";\n\n@Injectable()\nexport class CalculateRemainingAuctionTimeService {\n\n constructor(\n private readonly translationConstants: TranslationConstants\n ) { }\n\n public calculateRemainingAuctionTime(asset: Assets): string {\n if (!asset?.auction?.deadline) {\n return '';\n }\n \n const CURRENT_MOMENT: Date = new Date();\n const ASSET_DEADLINE: Date = this.returnFixedDate(asset.auction.deadline.toString());\n const TIME_DIFFERENCE: number = ASSET_DEADLINE.getTime() - CURRENT_MOMENT.getTime();\n \n let dayText: string = '';\n let hourText: string = '';\n \n if (TIME_DIFFERENCE > 0) {\n const totalMinutes = Math.floor(TIME_DIFFERENCE / 60000);\n const totalHours = Math.floor(totalMinutes / 60);\n const days = Math.floor(totalHours / 24);\n const hours = totalHours % 24;\n \n if (days > 1) {\n dayText = this.translationConstants.translate('myAssets.auction.days');\n } else {\n dayText = this.translationConstants.translate('myAssets.auction.day');\n }\n \n if (hours > 1) {\n hourText = this.translationConstants.translate('myAssets.auction.hours');\n } else {\n hourText = this.translationConstants.translate('myAssets.auction.hour');\n }\n \n const addConj: string = this.translationConstants.translate('myAssets.auction.and');\n \n return `${days} ${dayText} ${addConj} ${hours} ${hourText}`;\n } else {\n return this.translationConstants.translate('myAssets.auction.timeExpired');\n }\n }\n\n /**\n * Receive a date like \"2024-06-01T00:00:00.000Z\"\n * Return a new Date without Timezone.\n * @param date \n */\n private returnFixedDate(date: string): Date {\n const DATE_WITHOUT_TIMEZONE = date.split('T')[0]; // \"2024-06-01T00:00:00.000Z\" into \"2024-06-01\"\n const DATE_ARRAY_STRING: string[] = DATE_WITHOUT_TIMEZONE.split('-'); // \"2024-06-01\" into [\"2024\", \"06\", \"01\"]\n const formatedDate: Date = new Date();\n formatedDate.setDate(Number(DATE_ARRAY_STRING[2])); // Set date with the index 2, \"01\"\n formatedDate.setMonth(Number(DATE_ARRAY_STRING[1]) - 1); // Set month with the index 1, \"06\", but the month starts with 0, so remove 1 from the month.\n formatedDate.setFullYear(Number(DATE_ARRAY_STRING[0])); // Set date with the index 0, \"2024\"\n formatedDate.setHours(0, 0, 0, 0);\n\n return formatedDate;\n }\n}","import { Injectable } from '@angular/core';\nimport { IEniatoHomeSectionEnum } from '../../models/IEniatoHomeSection.enum';\nimport { IEniatoHomeSectionData } from '../../models/IEniatoHomeSectionData.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HomeService {\n // It is changed after app component finishes loading the service to fetch new section list\n public loaded: boolean = false;\n\n // Default order of sections in case it is not provided by customer\n public sectionList: Array = [\n { section: IEniatoHomeSectionEnum.INTRODUCTION, order: 1, showSection: true },\n { section: IEniatoHomeSectionEnum.CARD_CONTENT, order: 2, showSection: true }, // Search bar and Cards\n { section: IEniatoHomeSectionEnum.CATEGORIES, order: 3, showSection: true }, // Categories\n { section: IEniatoHomeSectionEnum.CAROUSEL_BANNERS, order: 4, showSection: true } // Banners\n ];\n\n constructor() { }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { ViaCEPResponse } from '../../models/via.cep.response.model';\nimport { LanguagesEnum } from '../../models/languages.enum';\nimport { AccountService } from '../account/account.services';\n\n/**\n * Axia CEP service\n */\n@Injectable()\nexport class CepService {\n\n public selectedLanguage: LanguagesEnum = undefined;\n\n constructor(\n private readonly http: HttpClient,\n private readonly accountService: AccountService,\n ) { \n this.selectedLanguage = this.accountService.getUserLanguage();\n }\n\n public findCep(zipcode: string): Observable {\n const validateCep: RegExp = /^[0-9]{8}$/;\n const zipcodeDigits: string = zipcode.replace(/\\D/g, '');\n if (!validateCep.test(zipcodeDigits)) {\n throw new Error('Zipcode not valid');\n }\n\n return this.http.get(`https://viacep.com.br/ws/${zipcodeDigits}/json`, {})\n .pipe(\n map((data: ViaCEPResponse) => {\n data.pais = \"Brasil\";\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getUFs(): Observable> {\n return this.http.get('https://servicodados.ibge.gov.br/api/v1/localidades/estados?orderBy=nome')\n .pipe(\n map((data: Array<{sigla: string}>) => {\n return data.map(item => item.sigla);\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getCountries(): Observable> { //TODO check this api consult\n const userCountryName: string = this.selectedLanguage === LanguagesEnum.PORTUGUESE ? 'Brasil' : 'United States';\n\n return this.http.get>('https://restcountries.com/v3.1/all').pipe(\n map((countriesData) => {\n const countries: { name: string }[] = countriesData.map(item => {\n return {\n name: this.selectedLanguage === LanguagesEnum.PORTUGUESE ? item?.translations?.por?.common : item?.name?.common\n };\n });\n\n // Find the user's country.\n const userCountry: { name: string } = countries.find(country => country?.name === userCountryName);\n if (userCountry) {\n // Remove user's country from original list.\n const countryIndex: number = countries.indexOf(userCountry);\n countries.splice(countryIndex, 1);\n\n // Sort the remaining list alphabetically.\n countries.sort((a, b) => a.name.localeCompare(b.name));\n\n // Insert the user's country at the top of the list.\n countries.unshift(userCountry);\n }\n return countries.map(country => country?.name);\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public findCountry(): Observable {\n return this.http.get(`https://ipinfo.io/json`, {})\n .pipe(\n map((data: any) => {\n if(data) {\n return data?.country;\n }\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport BigNumber from 'bignumber.js';\nimport { Assets } from 'src/app/shared/models/IAssets.model';\nimport { IFiatCurrency } from 'src/app/shared/models/IFiatCurrency';\nimport { SnackBarTheme } from 'src/app/shared/models/snackbar-theme.enum';\nimport { AccountService } from 'src/app/shared/services/account/account.services';\nimport { AssetsService } from 'src/app/shared/services/account/asset.services';\nimport { OnkeypressService } from 'src/app/shared/services/util/onkeypress.service';\nimport { TranslationConstants } from 'src/app/shared/services/util/translation.constants';\nimport { ValueConverterService } from 'src/app/shared/services/util/value-converter.service';\nimport { SnackbarComponent } from 'src/app/shared/snackbar/snackbar.component';\n\n@Component({\n selector: 'app-modal-resell',\n templateUrl: './modal-resell.component.html',\n styleUrls: ['./modal-resell.component.scss']\n})\nexport class ModalResellComponent implements OnInit {\n\n public loading: boolean;\n public asset: Assets;\n public resaleValue: string;\n public only_for_customer?: string = undefined;\n public isEditing: boolean = false;\n public fiatCurrency: IFiatCurrency = new IFiatCurrency();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {asset: Assets, isEditing: boolean},\n private readonly dialogRef: MatDialogRef,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly accountService: AccountService,\n private readonly assetsService: AssetsService,\n private readonly translationConstants: TranslationConstants,\n private readonly keypressService: OnkeypressService,\n public readonly valueConverterService: ValueConverterService\n ) { }\n\n public ngOnInit(): void {\n this.initData();\n }\n\n public getMainPhoto(asset: Assets): string {\n return this.assetsService.getAssetMainPhoto(asset);\n }\n\n public initData(): void {\n if (this.data) {\n this.fiatCurrency = this.accountService.getFiatCurrency();\n this.asset = new Assets(this.data.asset);\n this.resaleValue = this.valueConverterService.formatMonetaryInput(new BigNumber(this.asset.getCorrectPrice()).toFixed(2), false);\n this.isEditing = this.data.isEditing;\n }\n }\n\n public closeModal(): void {\n this.dialogRef.close();\n }\n\n public closeResell(): void {\n this.performTransaction(new BigNumber(0), 'myAssets.modalResell.snackbar.resaleClosed', 'myAssets.modalResell.snackbar.resaleClosedError');\n }\n\n public resellAsset(): void {\n const valueToResell: BigNumber = this.valueConverterService.handlingMonetaryAmount(this.resaleValue);\n this.performTransaction(valueToResell, 'myAssets.modalResell.snackbar.nftOnResale', 'myAssets.modalResell.snackbar.nftOnResaleError');\n }\n\n public saveChange(): void {\n const valueToResell = this.valueConverterService.handlingMonetaryAmount(this.resaleValue);\n this.performTransaction(valueToResell, 'myAssets.modalResell.snackbar.successChanged', 'myAssets.modalResell.snackbar.changeError');\n }\n\n public performTransaction(valueToResell: BigNumber, sucessMessage: string, errorMessage: string){\n this.assetsService.resellAsset({nftId: this.asset.nftId, resellValue: valueToResell, only_for_customer: this.only_for_customer}).subscribe(success => {\n if (success){\n this.snackbarComponent.openSnackBar(this.translationConstants.translate(sucessMessage), SnackBarTheme.success, 4000);\n }else{\n this.snackbarComponent.openSnackBar(this.translationConstants.translate(errorMessage), SnackBarTheme.success, 4000);\n }\n }, error => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate(errorMessage), SnackBarTheme.error, 4000);\n }).add(() => {\n this.dialogRef.close(true);\n });\n }\n\n public onKeyPressEvent(event: any): void {\n this.keypressService.onlyAllowNumbers(event, false, 20);\n }\n\n public checkValue(): boolean {\n const value = this.valueConverterService.handlingMonetaryAmount(this.resaleValue);\n if (value.isGreaterThan(0)) {\n return false;\n } else {\n return true;\n }\n }\n}\n","
\n
\n

{{ 'myAssets.modalResell.title' | translate }}

\n close\n
\n\n
\n \n
\n

{{ asset?.name }}

\n

{{ 'myAssets.id' | translate }} {{ asset?.blockchainId }}

\n
\n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n \n
","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Assets } from 'src/app/shared/models/IAssets.model';\nimport { FeatureNames } from '../models/feature-names.enum';\nimport { FeaturesStatusService } from '../services/util/features-status.service';\n\n@Component({\n selector: 'app-nft-package-success',\n templateUrl: './nft-package-success.component.html',\n styleUrls: ['./nft-package-success.component.scss']\n})\nexport class NftPackageSuccessComponent implements OnInit, OnDestroy {\n\n public packageSize: number;\n @Input() public nfts: Array;\n @Input() public packageName: string = '';\n @Output() public closeAnimation: EventEmitter = new EventEmitter;\n\n public nftContainer: any;\n public showVideo: boolean = false;\n public videoName: string = 'assets/NFTPackage/buyingEffect.mp4';\n public DELAY_ENABLE_HOVER_CARD: number = 14500; // milliseconds\n public enableHoverCard: boolean = false;\n public loading: boolean = false;\n\n constructor(\n private readonly router: Router,\n private readonly configService: FeaturesStatusService,\n private readonly renderer: Renderer2\n ) { }\n\n public ngOnInit(): void {\n this.loading = true;\n this.configService.getFeatureStatus(FeatureNames.NFT_VIDEO).subscribe( showVideo => {\n this.showVideo = showVideo;\n }).add(() => {\n this.loading = false;\n })\n\n this.packageSize = this.nfts?.length || 2;\n document.querySelector('html')?.classList.add('hide-scroll');\n\n setTimeout(() => {\n this.renderer.addClass(document.body, 'no-header-footer');\n }, 2000)\n \n // Enable hover effect when all animations are stopped\n setTimeout(() => this.enableHoverCard = true, this.DELAY_ENABLE_HOVER_CARD);\n }\n\n public ngOnDestroy(): void {\n document.querySelector('html')?.classList.remove('hide-scroll');\n this.renderer.removeClass(document.body, 'no-header-footer');\n }\n\n public closeNftPackageSuccess(): void {\n setTimeout(() => {\n this.router.navigate(['/tokenization/my-assets']);\n this.closeAnimation.emit(true)\n }, 100);\n }\n\n public setCurrentTime(time: number): void {\n if (time > 7) {\n this.showVideo = false;\n } else {\n this.showVideo = true;\n }\n }\n}\n","
\n \n
\n\n
\n
\n

\n {{ 'paymentModal.nftSuccess.youBought' | translate }}\n

\n close\n
\n \n
\n \n
.
\n
\n
\n\n
\n
\n \n
\n
\n {{ nft?.name }}\n
\n
\n
\n
\n
\n
.
\n
\n
\n
\n","import { Router } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { HttpParams } from '@angular/common/http';\nimport { IAnyExternalLinks, IExternalLinks } from '../../models/IExternalLinks';\nimport { ProductMedia } from '../../models/product-media.model';\nimport { MediaType } from '../../models/media-type.enum';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class UtilService\n{\n constructor(\n private router: Router,\n ) { }\n\n public static getHttpParamsFromObject(object: any): HttpParams\n {\n let params = new HttpParams();\n for (const key of Object.keys(object))\n {\n if (object[key])\n {\n params = params.set(key, object[key]);\n }\n }\n return params;\n }\n\n /**\n * This service will validate if the route is compatible with the mode, otherwise it will be redirected to its default path!\n * @param mode View mode (create, edit and view).\n * @param redirectRoute Route will be redirected if the mode is indifferent.\n */\n public validateRouteMode(mode: string, redirectRoute: string): void {\n if (mode !== 'create' && mode !== 'edit' && mode !== 'view') {\n this.router.navigate([redirectRoute]);\n }\n }\n\n public static goToUrl(url: string, externalLinks: IExternalLinks, router: Router): void {\n const levels: string[] = url?.split('/');\n let source: IAnyExternalLinks = externalLinks;\n for (let i = 0; i < levels.length; i++){\n source = source[levels[i]];\n }\n if (typeof source === 'string'){\n if(source[0] === '/'){\n router.navigate([source]);\n } else {\n window.open(source);\n }\n }\n }\n\n public static checkConfiguration(url: string, externalLinks: IExternalLinks): boolean {\n if(!externalLinks) {\n return false;\n }\n const levels: string[] = url?.split('/');\n let source: IAnyExternalLinks = externalLinks;\n for (let i = 0; i < levels.length; i++){\n source = source[levels[i]];\n }\n if (typeof source === 'string'){\n return true;\n } else {\n return false;\n }\n }\n\n public static readABIFile(): any{\n const abi = require(`../../../../assets/files/abi.json`);\n return abi;\n }\n\n /**\n * Returns the image that will be displayed on the product card.\n * @param medias the product media array where the main image will be found.\n * @returns A string containing the url of the image.\n */\n public static getExhibitionMediaData(medias: Array): string {\n const image: string = this.getMainProductImage(medias);\n if (image) {\n return image;\n } else {\n return this.getVideoImage(medias);\n }\n }\n\n /**\n * Returns the main image of the product.\n * @param medias the product media array where the main image will be found.\n * @returns A string containing the url of the image.\n */\n private static getMainProductImage(medias: Array): string {\n const image: ProductMedia = medias?.find(item => item?.type === MediaType.IMAGE && item?.midia_url !== undefined && Number(item?.order) === 0);\n if (image) {\n return image?.midia_url;\n }\n }\n\n /**\n * Returns the product video image.\n * @param medias the product media array where the main image will be found.\n * @returns A string containing the url of the image.\n */\n private static getVideoImage(medias: Array): string {\n const video: ProductMedia = medias?.find(item => item?.type === MediaType.VIDEO && item?.midia_url !== undefined);\n if(video) {\n var output = video.midia_url.substr(video.midia_url.indexOf(\"=\") + 1);\n\n return `http://img.youtube.com/vi/${output}/default.jpg`\n }\n return undefined;\n }\n\n public downloadFileFromUrl(url: string, filename: string ='chat-img'): void {\n const downloadLink = document.createElement('a');\n downloadLink.href = url;\n downloadLink.download = filename;\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n }\n\n public downloadFileFromObject(file: File, filename?: string): void {\n const downloadLink = document.createElement('a');\n const blob = new Blob([file], { type: file.type });\n\n downloadLink.href = window.URL.createObjectURL(blob);\n downloadLink.download = filename || file.name;\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { ProductSearch } from \"../../models/product-search.model\";\nimport { Product } from \"../../models/product.model\";\nimport { ProductsBackend } from \"../../models/products.model\";\n\n\nimport {BehaviorSubject} from 'rxjs/BehaviorSubject';\nimport { Router } from '@angular/router';\nimport { AccountService } from '../account/account.services';\nimport { LocalStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from \"../../utils/local.storage.keys\";\nimport { IKairosBanners } from \"../../models/IKairosBanners.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductsService {\n\n public _settingsSource = new BehaviorSubject(0);\n public favoriteCounted$ = this._settingsSource.asObservable();\n\n constructor(\n private readonly http: HttpClient,\n private readonly router: Router,\n private readonly accountService: AccountService,\n private readonly storage: LocalStorageService,\n ) { }\n\n public getProducts(): Observable> {\n return this.http.get(RestEndpoint.getAllProducts, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public searchProduct(filter: ProductSearch): Observable> {\n return this.http.post(RestEndpoint.searchProducts, filter)\n .pipe(\n map((data: Array) => {\n const convertedList: Array = [];\n if(data?.length > 0) {\n for(let dt of data) {\n convertedList.push(new ProductsBackend(dt));\n }\n }\n return convertedList;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getProductById(productIdentifier: string): Observable {\n return this.http.get(RestEndpoint.getProduct, { params: { productIdentifier } })\n .pipe(\n map((data: ProductsBackend) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public deleteProduct(id: string): Observable {\n const url = RestEndpoint.deleteProduct + id;\n return this.http.delete(url)\n .pipe(\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n\n public saveProduct(newParameter: ProductsBackend): Observable {\n return this.http.put(RestEndpoint.updateProducts, newParameter)\n .pipe(\n map((updated: boolean) => {\n return updated;\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createProduct(product: ProductsBackend): Observable {\n return this.http.post(RestEndpoint.createProduct, product)\n .pipe(\n map((templateId: string) => {\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n /**\n * @param productId The product tha will be change the favorite\n * @param addFavorite If you are going to add the favorite\n * @param redirectUrl Route to go after logging in (if user was not logged in)\n * @returns Returns if the operation was successful\n */\n public toggleFavoriteProduct(productId: string, addFavorite?: boolean, redirectUrl?: string): Observable {\n let toggleFavoriteSuccess: boolean = false;\n return this.http.post( RestEndpoint.isAuthenticated, { })\n .pipe(\n map((authenticated: any) => {\n if ( !authenticated || !authenticated.isAuthenticated)\n {\n const favoriteProductSaved: string = this.storage.get(LocalStorageKeys.FAVORITE_PRODUCT_ID);\n // To prevent looping redirecting to login, in case the user gives up logging in.\n if (!favoriteProductSaved) {\n this.router.navigate(['/account/login'], {\n queryParams: {\n redirectUrl: redirectUrl,\n }\n });\n this.storage.set(LocalStorageKeys.FAVORITE_PRODUCT_ID, productId);\n } else {\n this.storage.remove(LocalStorageKeys.FAVORITE_PRODUCT_ID);\n toggleFavoriteSuccess = false;\n }\n toggleFavoriteSuccess = false;\n\n return toggleFavoriteSuccess;\n } else {\n if (addFavorite) {\n this.createFavorites(productId).subscribe();\n } else {\n this.deleteFavorites(productId).subscribe();\n }\n toggleFavoriteSuccess = true;\n this.storage.remove(LocalStorageKeys.FAVORITE_PRODUCT_ID);\n return toggleFavoriteSuccess;\n }\n })\n );\n }\n\n public deleteFavorites(productId: string): Observable {\n return this.http.post(RestEndpoint.updateFavorite, { productId: productId })\n .pipe(\n map((templateId: string) => {\n this.countFavorites().subscribe();\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public getProductIdFromStorage(): string {\n return this.storage.get(LocalStorageKeys.FAVORITE_PRODUCT_ID);\n }\n\n public createFavorites(productId: string): Observable {\n return this.http.post(RestEndpoint.createFavorite, { productId: productId })\n .pipe(\n map((templateId: string) => {\n this.countFavorites().subscribe();\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createWatch(productId: string, email: string): Observable {\n return this.http.post(RestEndpoint.createWatch, { productId: productId, email: email })\n .pipe(\n map((templateId: string) => {\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public getBanners(): Observable> {\n return this.http.get(RestEndpoint.getAllKairosBanners, {})\n .pipe(\n map((data: any) => {\n this._settingsSource.next(data);\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public countFavorites(): Observable {\n return this.http.get(RestEndpoint.countFavorites, {})\n .pipe(\n map((data: any) => {\n this._settingsSource.next(data);\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public async getBrands(brand: string): Promise {\n try {\n const response: any = await this.http.get('https://parallelum.com.br/fipe/api/v1/carros/marcas').toPromise();\n if (response) {\n for(let data of response) {\n if(data[\"nome\"].toLowerCase() === brand.toLowerCase()) {\n return data[\"codigo\"]\n }\n }\n }\n } catch (err) { }\n }\n\n public async getModel(brand: string, model: string): Promise {\n try {\n const response: any = await this.http.get(`https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}/modelos`).toPromise();\n if (response) {\n for(let data of response[\"modelos\"]) {\n if(data[\"nome\"].toLowerCase() === model.toLowerCase()) {\n return data[\"codigo\"]\n }\n }\n }\n } catch (err) { }\n }\n\n public async getCarCode(brand: string, model: string, year: string): Promise {\n try {\n const response: any = await this.http.get(`https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}/modelos/${model}/anos`).toPromise();\n if (response) {\n for(let data of response) {\n if(data[\"nome\"].toLowerCase().includes(String(year).toLowerCase())) {\n return data[\"codigo\"]\n }\n }\n }\n } catch (err) { }\n }\n\n public async getPrice(brand: string, model: string, code: string): Promise {\n try {\n const response: any = await this.http.get(`https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}/modelos/${model}/anos/${code}`).toPromise();\n if (response) {\n return response[\"Valor\"];\n }\n } catch (err) { }\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Assets } from 'src/app/shared/models/IAssets.model';\nimport { IFiatCurrency } from 'src/app/shared/models/IFiatCurrency';\nimport { SnackBarTheme } from 'src/app/shared/models/snackbar-theme.enum';\nimport { AccountService } from 'src/app/shared/services/account/account.services';\nimport { AssetsService } from 'src/app/shared/services/account/asset.services';\nimport { OnkeypressService } from 'src/app/shared/services/util/onkeypress.service';\nimport { TranslationConstants } from 'src/app/shared/services/util/translation.constants';\nimport { ValueConverterService } from 'src/app/shared/services/util/value-converter.service';\nimport { SnackbarComponent } from 'src/app/shared/snackbar/snackbar.component';\n\n@Component({\n selector: 'app-modal-auction',\n templateUrl: './modal-auction.component.html',\n styleUrls: ['./modal-auction.component.scss']\n})\nexport class ModalAuctionComponent implements OnInit {\n\n public loading: boolean = false;\n public asset: Assets;\n public minimumPrice: string = '';\n public deadLine: Date = new Date(new Date().setDate(new Date().getDate() + 1)); // Tomorrow.\n public fiatCurrency: IFiatCurrency = new IFiatCurrency();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: { asset: Assets },\n private readonly dialogRef: MatDialogRef,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly accountService: AccountService,\n private readonly assetsService: AssetsService,\n private readonly keypressService: OnkeypressService,\n public readonly valueConverterService: ValueConverterService,\n private readonly translationConstants: TranslationConstants\n ) { }\n\n public ngOnInit(): void {\n this.initData();\n }\n\n public initData(): void {\n if (this.data?.asset) {\n this.fiatCurrency = this.accountService.getFiatCurrency();\n this.asset = new Assets(this.data.asset);\n } else {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modalAuction.snackbar.error'), SnackBarTheme.success, 4000);\n this.closeModal();\n }\n }\n\n public getMainPhoto(asset: Assets): string {\n return this.assetsService.getAssetMainPhoto(asset);\n }\n\n public closeModal(): void {\n this.dialogRef.close();\n }\n\n public performTransaction(): void {\n this.loading = true;\n\n this.deadLine.setHours(0, 0, 0, 0); // To use the initial time of the day.\n\n this.assetsService.createAuction(this.asset.nftId, this.valueConverterService.handlingMonetaryAmount(this.minimumPrice), this.deadLine).subscribe(success => {\n if (success) {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modalAuction.snackbar.success'), SnackBarTheme.success, 4000);\n } else {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modalAuction.snackbar.error'), SnackBarTheme.success, 4000);\n }\n }, error => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('myAssets.modalAuction.snackbar.error'), SnackBarTheme.error, 4000);\n }).add(() => {\n this.loading = false;\n this.dialogRef.close(true);\n });\n }\n\n public onKeyPressEvent(event: any): void {\n this.keypressService.onlyAllowNumbers(event, false, 20);\n }\n\n public checkValue(): boolean {\n const value = this.valueConverterService.handlingMonetaryAmount(this.minimumPrice);\n if (value.isGreaterThan(0) && this.deadLine) {\n return false;\n } else {\n return true;\n }\n }\n\n public dateFilter = (date: Date | null): boolean => {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n return date ? date > today : false;\n }\n}\n","
\n
\n

{{ 'myAssets.modalAuction.title' | translate }}

\n close\n
\n \n
\n \n
\n

{{ asset?.name }}

\n

{{ 'myAssets.id' | translate }} {{ asset?.blockchainId }}

\n
\n
\n\n \n
\n \n
\n\n \n
\n \n \n calendar_month\n \n \n
\n\n
\n \n \n
\n \n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { environment } from 'src/environments/environment';\nimport { AuthGuardService } from './guards/auth-guard.service';\nimport { FeatureGuardService } from './guards/feature-guard.service';\nimport { FeatureNames } from './shared/models/feature-names.enum';\n\nconst routes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: environment.mainRoute\n },\n {\n path: 'account',\n loadChildren: () =>\n import('./account/account.module').then((m) => m.AccountModule),\n },\n {\n path: 'terms',\n loadChildren: () =>\n import('./terms/terms.module').then((m) => m.TermsModule),\n },\n {\n path: 'privacy',\n loadChildren: () =>\n import('./privacy/privacy.module').then((m) => m.PrivacyModule),\n },\n {\n path: 'faq',\n loadChildren: () =>\n import('./faq/faq.module').then((m) => m.FaqModule),\n },\n {\n path: 'terms',\n loadChildren: () =>\n import('./terms/terms.module').then((m) => m.TermsModule),\n },\n {\n path: 'token-home',\n loadChildren: () =>\n import('./token-home/token-home.module').then((m) => m.HomeModule),\n canActivate: [AuthGuardService],\n },\n {\n path: 'navigation',\n loadChildren: () =>\n import('./internal-navigation/internal-navigation.module').then((m) => m.InternalNavigationModule),\n canActivate: [AuthGuardService],\n },\n {\n path: 'digital-banking',\n loadChildren: () =>\n import('./digital-banking/digital-banking.module').then((m) => m.DigitalBankingModule),\n canActivate: [FeatureGuardService],\n data: { featureRequired: FeatureNames.DIGITAL_BANKING }\n },\n {\n path: 'home',\n loadChildren: () =>\n import('./home/home.module').then((m) => m.HomeModule)\n },\n {\n path: '2fa',\n loadChildren: () =>\n import('./2fa/2fa.module').then((m) => m.MFAModule)\n },\n {\n path: 'exchange',\n loadChildren: () =>\n import('./exchange/exchange.module').then((m) => m.ExchangeModule)\n },\n {\n path: 'marketplace',\n loadChildren: () =>\n import('./marketplace/marketplace.module').then((m) => m.MarketplaceModule),\n canActivate: [AuthGuardService],\n data: { featureRequired: FeatureNames.MIDAS_MARKETPLACE }\n },\n {\n path: 'complete-your-registration',\n loadChildren: () =>\n import('./complete-your-registration/complete-your-registration.module').then((m) => m.CompleteYourRegistrationModule),\n canActivate: [AuthGuardService],\n },\n {\n path: 'tokenization',\n loadChildren: () =>\n import('./tokenization/tokenization.module').then((m) => m.TokenizationModule),\n data: { featureRequired: FeatureNames.MIDAS_MARKETPLACE }\n },\n {\n path: 'chat',\n loadChildren: () =>\n import('./chat/chat.module').then((m) => m.ChatModule),\n // canActivate: [AuthGuardService], // TODO\n // data: {featureRequired: FeatureNames.CHAT}\n },\n {\n path: 'profile',\n loadChildren: () =>\n import('./profile/profile.module').then((m) => m.ProfileModule),\n canActivate: [AuthGuardService],\n },\n {\n path: 'contracts',\n loadChildren: () =>\n import('./contracts/contracts.module').then((m) => m.ContractsModule),\n canActivate: [AuthGuardService],\n },\n {\n path: 'notifications',\n loadChildren: () =>\n import('./notifications/notifications.module').then((m) => m.NotificationsModule),\n canActivate: [AuthGuardService],\n },\n {\n path: 'limits',\n loadChildren: () =>\n import('./limits/limits.module').then((m) => m.LimitsModule),\n canActivate: [AuthGuardService],\n },\n {\n path: 'swap',\n loadChildren: () =>\n import('./swap/swap.module').then((m) => m.SwapModule),\n canActivate: [AuthGuardService],\n data: { featureRequired: FeatureNames.SWAP }\n },\n {\n path: 'external-deposit',\n loadChildren: () =>\n import('./external-deposit/external-deposit.module').then((m) => m.ExternalDepositModule)\n },\n {\n path: '**',\n redirectTo: 'home'\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }","export enum MediaType {\n IMAGE='image',\n VIDEO='video'\n}","import { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { map, catchError } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RewardService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public redeemReward(rewardCode: string): Observable {\n return this.http.post(RestEndpoint.redeemReward, {rewardCode})\n .pipe(\n map((resp: any) => {\n return resp;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n}\n","import { ErrorHandlerService } from './error.handler.service';\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { Image } from '../../models/image.model';\n\n/**\n * Axia Image service\n */\n@Injectable()\nexport class ImageService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly errorHandler: ErrorHandlerService\n )\n { }\n\n /**\n * Upload an image\n * @param image Image to be uploaded to s3\n */\n public uploadImage(image: Image): Observable {\n const header: HttpHeaders = new HttpHeaders({ });\n return this.http.post(RestEndpoint.files, image, {headers: header})\n .pipe(\n catchError((err) => { return this.errorHandler.validate(err); })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigReaderService } from './config.reader.service';\n\ninterface Scripts\n{\n name: string;\n src: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScriptService\n{\n private readonly scripts: any = {};\n\n constructor(\n private readonly myConfigReaderService: ConfigReaderService\n )\n {\n let scriptStore: Array = [];\n\n this.myConfigReaderService.getPaymentScripts().subscribe(data => {\n scriptStore = [\n {name: 'paypal', src: data.paypal},\n {name: 'pagseguro', src: data.pagseguro}\n ];\n });\n\n scriptStore.forEach((script: Scripts) => {\n this.scripts[script.name] = {\n loaded: false,\n src: script.src\n };\n });\n }\n\n public load(...scripts: Array): Promise>\n {\n const promises: Array> = [];\n scripts.forEach((script) => promises.push(this.loadScript(script)));\n return Promise.all(promises);\n }\n\n public loadScript(name: string): Promise\n {\n return new Promise((resolve, reject) => {\n\n if (this.scripts[name].loaded)\n {\n resolve({script: name, loaded: true, status: 'Already Loaded'});\n }\n else\n {\n const script: HTMLScriptElement = document.createElement('script');\n script.type = 'text/javascript';\n script.src = this.scripts[name].src;\n\n script.onload = () => {\n this.scripts[name].loaded = true;\n resolve({script: name, loaded: true, status: 'Loaded'});\n };\n\n script.onerror = (error: any) => resolve({script: name, loaded: false, status: 'Loaded'});\n document.getElementsByTagName('head')[0].appendChild(script);\n }\n });\n }\n}\n","import { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map, catchError } from 'rxjs/operators';\nimport { AvailableNFTsReport, FinalizedStakingApplication, NFTStakingApplication, NFTStakingConfig, NFTStakingPool, NFTStakingPoolSearch, NFTStakingSummary, StakedNFT } from '../../models/INFTStaking';\nimport { SessionStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from '../../utils/local.storage.keys';\n\n@Injectable()\nexport class NFTStakingService {\n\n constructor(\n private readonly sessionStorage: SessionStorageService,\n private readonly http: HttpClient\n ) {\n }\n\n public getAllStakingCampaigns(assetId?: string, byUser?: boolean): Observable {\n let params: HttpParams = new HttpParams();\n if (assetId){\n params = params.set('assetId', assetId);\n }\n if (byUser){\n params = params.set('byUser', String(byUser));\n }\n\n return this.http.get(RestEndpoint.getAllStakingCampaigns, { params: params })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getStakingCampaignDetails(config_id: string): Observable{\n let params: HttpParams = new HttpParams();\n params = params.set('configId', config_id);\n\n return this.http.get(RestEndpoint.getStakingCampaignDetails, { params: params })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getAllAssetsForStakingCampaign(searchCriteria?: NFTStakingPoolSearch): Observable {\n\n let params: HttpParams = new HttpParams();\n params = params.set('configId', searchCriteria.config_id);\n return this.http.get(RestEndpoint.getAllAssetsForStakingCampaign, { params: params })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public createStaking(nft_id: string, config_id: string): Observable {\n return this.http.post(RestEndpoint.createStaking,\n {'nft_id': nft_id, 'config_id': config_id}\n )\n .pipe(\n map((userData: NFTStakingApplication) => {\n return userData;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public removeFromStaking(application_id: string): Observable {\n return this.http.put(RestEndpoint.removeFromStaking,\n {'application_id': application_id}\n )\n .pipe(\n map((data: boolean) => {\n return data;\n }),\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getSummary(): Observable {\n return this.http.get(RestEndpoint.getSummary).\n pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getMyStakedNFTs(forceLoad: boolean = false): Observable {\n const stakedListSaved: string = this.sessionStorage.get(LocalStorageKeys.MY_STAKED_NFTS);\n if (stakedListSaved && !forceLoad) {\n return of(JSON.parse(stakedListSaved) as StakedNFT[]);\n } else {\n return this.http.get(RestEndpoint.getMyStakedNFTs).\n pipe(\n map((data: StakedNFT[]) => {\n // Store the staked NFTs to avoid much calls to backend (used for staked details modals)\n this.setMyStakedNFTsOnStorage(data);\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n }\n\n // Store the staked NFTs to avoid much calls to backend\n public setMyStakedNFTsOnStorage(stakedList: StakedNFT[]): void {\n const dataObj: string = JSON.stringify(stakedList || []);\n this.sessionStorage.set(LocalStorageKeys.MY_STAKED_NFTS, dataObj);\n }\n\n public getMyStakedNFTDetails(nftId: string): Observable {\n const stakedListSaved: string = this.sessionStorage.get(LocalStorageKeys.MY_STAKED_NFTS);\n const stakedListObj: Array = stakedListSaved ? JSON.parse(stakedListSaved) : undefined;\n if (stakedListObj) {\n return of(stakedListObj.find(data => data?.application?.nft_id === nftId));\n } else {\n this.getMyStakedNFTs(true).subscribe(stakedList => {\n return of(stakedList.find(data => data?.application?.nft_id === nftId));\n });\n }\n }\n\n public getAllNFTsAvailableForStaking(): Observable {\n return this.http.get(RestEndpoint.getAllNFTsAvailableForStaking).\n pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getSummarizedStakingApplication(applicationId: string): Observable {\n let params: HttpParams = new HttpParams();\n params = params.set('applicationId', applicationId);\n\n return this.http.get(RestEndpoint.getSummarizedStakingApplication, { params: params }).\n pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n\n }\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\n\n enableProdMode();\n platformBrowserDynamic()\n .bootstrapModule(AppModule)\n .then(success => console.log(`Bootstrap success`))\n .catch(err => console.error(err));\n\n","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 = \"zn8P\";"],"sourceRoot":"webpack:///"}