UNPKG

copay-crown

Version:

A Secure Crown Wallet

503 lines (479 loc) 19.3 kB
import { DecimalPipe } from '@angular/common'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { ErrorHandler, NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { File } from '@ionic-native/file'; import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular'; /* Native modules */ import { AndroidFingerprintAuth } from '@ionic-native/android-fingerprint-auth'; import { Clipboard } from '@ionic-native/clipboard'; import { FCM } from '@ionic-native/fcm'; import { QRScanner } from '@ionic-native/qr-scanner'; import { SocialSharing } from '@ionic-native/social-sharing'; import { SplashScreen } from '@ionic-native/splash-screen'; import { StatusBar } from '@ionic-native/status-bar'; import { Toast } from '@ionic-native/toast'; import { TouchID } from '@ionic-native/touch-id'; /* Modules */ import { TranslatePoHttpLoader } from '@biesbjerg/ngx-translate-po-http-loader'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { Level, NgLoggerModule } from '@nsalaun/ng-logger'; import { MomentModule } from 'angular2-moment'; import { NgxQRCodeModule } from 'ngx-qrcode2'; /* Copay App */ import { CopayApp } from './app.component'; /* Pages */ import { AddPage } from '../pages/add/add'; import { CopayersPage } from '../pages/add/copayers/copayers'; import { CreateWalletPage } from '../pages/add/create-wallet/create-wallet'; import { ImportWalletPage } from '../pages/add/import-wallet/import-wallet'; import { JoinWalletPage } from '../pages/add/join-wallet/join-wallet'; import { BackupGamePage } from '../pages/backup/backup-game/backup-game'; import { BackupWarningPage } from '../pages/backup/backup-warning/backup-warning'; import { FeedbackCompletePage } from '../pages/feedback/feedback-complete/feedback-complete'; import { FeedbackPage } from '../pages/feedback/feedback/feedback'; import { SendFeedbackPage } from '../pages/feedback/send-feedback/send-feedback'; import { FinishModalPage } from '../pages/finish/finish'; import { IncomingDataMenuPage } from '../pages/incoming-data-menu/incoming-data-menu'; import { BackupRequestPage } from '../pages/onboarding/backup-request/backup-request'; import { CollectEmailPage } from '../pages/onboarding/collect-email/collect-email'; import { DisclaimerPage } from '../pages/onboarding/disclaimer/disclaimer'; import { OnboardingPage } from '../pages/onboarding/onboarding'; import { TourPage } from '../pages/onboarding/tour/tour'; import { PaperWalletPage } from '../pages/paper-wallet/paper-wallet'; import { PayProPage } from '../pages/paypro/paypro'; import { FeeWarningPage } from '../pages/send/fee-warning/fee-warning'; import { BitcoinCashPage } from '../pages/settings/bitcoin-cash/bitcoin-cash'; import { TabsPage } from '../pages/tabs/tabs'; import { TxDetailsPage } from '../pages/tx-details/tx-details'; import { TxpDetailsPage } from '../pages/txp-details/txp-details'; import { WalletBalancePage } from '../pages/wallet-details/wallet-balance/wallet-balance'; import { WalletDetailsPage } from '../pages/wallet-details/wallet-details'; // Integrations: Amazon import { AmazonPage } from '../pages/integrations/amazon/amazon'; import { AmazonCardDetailsPage } from '../pages/integrations/amazon/amazon-card-details/amazon-card-details'; import { BuyAmazonPage } from '../pages/integrations/amazon/buy-amazon/buy-amazon'; // Integrations: Coinbase import { BuyCoinbasePage } from '../pages/integrations/coinbase/buy-coinbase/buy-coinbase'; import { CoinbasePage } from '../pages/integrations/coinbase/coinbase'; import { CoinbaseSettingsPage } from '../pages/integrations/coinbase/coinbase-settings/coinbase-settings'; import { CoinbaseTxDetailsPage } from '../pages/integrations/coinbase/coinbase-tx-details/coinbase-tx-details'; import { SellCoinbasePage } from '../pages/integrations/coinbase/sell-coinbase/sell-coinbase'; // Integrations: Glidera import { BuyGlideraPage } from '../pages/integrations/glidera/buy-glidera/buy-glidera'; import { GlideraPage } from '../pages/integrations/glidera/glidera'; import { GlideraSettingsPage } from '../pages/integrations/glidera/glidera-settings/glidera-settings'; import { GlideraTxDetailsPage } from '../pages/integrations/glidera/glidera-tx-details/glidera-tx-details'; import { SellGlideraPage } from '../pages/integrations/glidera/sell-glidera/sell-glidera'; // Integrations: Mercado Libre import { BuyMercadoLibrePage } from '../pages/integrations/mercado-libre/buy-mercado-libre/buy-mercado-libre'; import { MercadoLibrePage } from '../pages/integrations/mercado-libre/mercado-libre'; import { MercadoLibreCardDetailsPage } from '../pages/integrations/mercado-libre/mercado-libre-card-details/mercado-libre-card-details'; // Integrations: ShapeShift import { ShapeshiftPage } from '../pages/integrations/shapeshift/shapeshift'; import { ShapeshiftConfirmPage } from '../pages/integrations/shapeshift/shapeshift-confirm/shapeshift-confirm'; import { ShapeshiftDetailsPage } from '../pages/integrations/shapeshift/shapeshift-details/shapeshift-details'; import { ShapeshiftShiftPage } from '../pages/integrations/shapeshift/shapeshift-shift/shapeshift-shift'; // Integrations: BitPayCard import { BitPayCardPage } from '../pages/integrations/bitpay-card/bitpay-card'; import { BitPayCardIntroPage } from '../pages/integrations/bitpay-card/bitpay-card-intro/bitpay-card-intro'; import { BitPayCardTopUpPage } from '../pages/integrations/bitpay-card/bitpay-card-topup/bitpay-card-topup'; import { BitPaySettingsPage } from '../pages/integrations/bitpay-card/bitpay-settings/bitpay-settings'; /*Includes */ import { CardItemPage } from '../pages/includes/card-item/card-item'; import { FeedbackCardPage } from '../pages/includes/feedback-card/feedback-card'; import { GravatarPage } from '../pages/includes/gravatar/gravatar'; import { TxpPage } from '../pages/includes/txp/txp'; import { WalletActivityPage } from '../pages/includes/wallet-activity/wallet-activity'; import { WalletItemPage } from '../pages/includes/wallet-item/wallet-item'; import { WalletSelectorPage } from '../pages/includes/wallet-selector/wallet-selector'; /* Tabs */ import { HomePage } from '../pages/home/home'; import { ReceivePage } from '../pages/receive/receive'; import { ScanPage } from '../pages/scan/scan'; import { SendPage } from '../pages/send/send'; import { SettingsPage } from '../pages/settings/settings'; /* Home */ import { ActivityPage } from '../pages/home/activity/activity'; import { ProposalsPage } from '../pages/home/proposals/proposals'; /* Settings */ import { FingerprintModalPage } from '../pages/fingerprint/fingerprint'; import { PinModalPage } from '../pages/pin/pin'; import { AboutPage } from '../pages/settings/about/about'; import { SessionLogPage } from '../pages/settings/about/session-log/session-log'; import { TermsOfUsePage } from '../pages/settings/about/terms-of-use/terms-of-use'; import { AddressbookAddPage } from '../pages/settings/addressbook/add/add'; import { AddressbookPage } from '../pages/settings/addressbook/addressbook'; import { AddressbookViewPage } from '../pages/settings/addressbook/view/view'; import { AdvancedPage } from '../pages/settings/advanced/advanced'; import { AltCurrencyPage } from '../pages/settings/alt-currency/alt-currency'; import { EnabledServicesPage } from '../pages/settings/enabled-services/enabled-services'; import { FeePolicyPage } from '../pages/settings/fee-policy/fee-policy'; import { LanguagePage } from '../pages/settings/language/language'; import { LockPage } from '../pages/settings/lock/lock'; import { NotificationsPage } from '../pages/settings/notifications/notifications'; /* Wallet Settings */ import { WalletColorPage } from '../pages/settings/wallet-settings/wallet-color/wallet-color'; import { WalletNamePage } from '../pages/settings/wallet-settings/wallet-name/wallet-name'; import { WalletSettingsPage } from '../pages/settings/wallet-settings/wallet-settings'; /* Wallet Advanced Settings */ import { AllAddressesPage } from '../pages/settings/wallet-settings/wallet-settings-advanced/wallet-addresses/all-addresses/all-addresses'; import { WalletAddressesPage } from '../pages/settings/wallet-settings/wallet-settings-advanced/wallet-addresses/wallet-addresses'; import { WalletDeletePage } from '../pages/settings/wallet-settings/wallet-settings-advanced/wallet-delete/wallet-delete'; import { WalletExportPage } from '../pages/settings/wallet-settings/wallet-settings-advanced/wallet-export/wallet-export'; import { WalletExtendedPrivateKeyPage } from '../pages/settings/wallet-settings/wallet-settings-advanced/wallet-information/wallet-extended-private-key/wallet-extended-private-key'; import { WalletInformationPage } from '../pages/settings/wallet-settings/wallet-settings-advanced/wallet-information/wallet-information'; import { WalletServiceUrlPage } from '../pages/settings/wallet-settings/wallet-settings-advanced/wallet-service-url/wallet-service-url'; import { WalletSettingsAdvancedPage } from '../pages/settings/wallet-settings/wallet-settings-advanced/wallet-settings-advanced'; import { WalletTransactionHistoryPage } from '../pages/settings/wallet-settings/wallet-settings-advanced/wallet-transaction-history/wallet-transaction-history'; /* Send */ import { AmountPage } from '../pages/send/amount/amount'; import { ChooseFeeLevelPage } from '../pages/send/choose-fee-level/choose-fee-level'; import { ConfirmPage } from '../pages/send/confirm/confirm'; /* Receive */ import { CustomAmountPage } from '../pages/receive/custom-amount/custom-amount'; /* Pipes */ import { FiatToUnitPipe } from '../pipes/fiatToUnit'; import { KeysPipe } from '../pipes/keys'; import { OrderByPipe } from '../pipes/order-by'; import { SatToFiatPipe } from '../pipes/satToFiat'; import { SatToUnitPipe } from '../pipes/satToUnit'; /* Providers */ import { AddressBookProvider } from '../providers/address-book/address-book'; import { AddressProvider } from '../providers/address/address'; import { AmazonProvider } from '../providers/amazon/amazon'; import { AppIdentityProvider } from '../providers/app-identity/app-identity'; import { AppProvider } from '../providers/app/app'; import { BackupProvider } from '../providers/backup/backup'; import { BitPayAccountProvider } from '../providers/bitpay-account/bitpay-account'; import { BitPayCardProvider } from '../providers/bitpay-card/bitpay-card'; import { BitPayProvider } from '../providers/bitpay/bitpay'; import { BwcErrorProvider } from '../providers/bwc-error/bwc-error'; import { BwcProvider } from '../providers/bwc/bwc'; import { CoinbaseProvider } from '../providers/coinbase/coinbase'; import { ConfigProvider } from '../providers/config/config'; import { DerivationPathHelperProvider } from '../providers/derivation-path-helper/derivation-path-helper'; import { EmailNotificationsProvider } from '../providers/email-notifications/email-notifications'; import { ExternalLinkProvider } from '../providers/external-link/external-link'; import { FeeProvider } from '../providers/fee/fee'; import { FeedbackProvider } from '../providers/feedback/feedback'; import { FilterProvider } from '../providers/filter/filter'; import { GlideraProvider } from '../providers/glidera/glidera'; import { HomeIntegrationsProvider } from '../providers/home-integrations/home-integrations'; import { IncomingDataProvider } from '../providers/incoming-data/incoming-data'; import { LanguageProvider } from '../providers/language/language'; import { Logger } from '../providers/logger/logger'; import { MercadoLibreProvider } from '../providers/mercado-libre/mercado-libre'; import { NodeWebkitProvider } from '../providers/node-webkit/node-webkit'; import { OnGoingProcessProvider } from '../providers/on-going-process/on-going-process'; import { PayproProvider } from '../providers/paypro/paypro'; import { PersistenceProvider } from '../providers/persistence/persistence'; import { PlatformProvider } from '../providers/platform/platform'; import { PopupProvider } from '../providers/popup/popup'; import { ProfileProvider } from '../providers/profile/profile'; import { PushNotificationsProvider } from '../providers/push-notifications/push-notifications'; import { RateProvider } from '../providers/rate/rate'; import { ReleaseProvider } from '../providers/release/release'; import { ScanProvider } from '../providers/scan/scan'; import { ShapeshiftProvider } from '../providers/shapeshift/shapeshift'; import { TimeProvider } from '../providers/time/time'; import { TouchIdProvider } from '../providers/touchid/touchid'; import { TxConfirmNotificationProvider } from '../providers/tx-confirm-notification/tx-confirm-notification'; import { TxFormatProvider } from '../providers/tx-format/tx-format'; import { WalletProvider } from '../providers/wallet/wallet'; /* Directives */ import { CopyToClipboard } from '../directives/copy-to-clipboard/copy-to-clipboard'; import { LongPress } from '../directives/long-press/long-press'; import { NoLowFee } from '../directives/no-low-fee/no-low-fee' export function createTranslateLoader(http: HttpClient) { return new TranslatePoHttpLoader(http, 'assets/i18n', '.po'); } @NgModule({ declarations: [ /* Pages */ ActivityPage, AddPage, AmazonCardDetailsPage, AmazonPage, AmountPage, AddressbookPage, AddressbookAddPage, AddressbookViewPage, AboutPage, AdvancedPage, AllAddressesPage, AltCurrencyPage, BackupRequestPage, BitcoinCashPage, BitPayCardIntroPage, BitPayCardPage, BitPaySettingsPage, BitPayCardTopUpPage, BuyAmazonPage, BuyCoinbasePage, BuyGlideraPage, BuyMercadoLibrePage, ChooseFeeLevelPage, CreateWalletPage, CoinbasePage, CoinbaseTxDetailsPage, CopayersPage, EnabledServicesPage, FeedbackCardPage, FeedbackPage, FeedbackCompletePage, IncomingDataMenuPage, ImportWalletPage, JoinWalletPage, BackupWarningPage, BackupGamePage, ConfirmPage, CustomAmountPage, CopayApp, DisclaimerPage, CollectEmailPage, FeeWarningPage, GlideraPage, GravatarPage, FingerprintModalPage, HomePage, LanguagePage, LockPage, MercadoLibrePage, OnboardingPage, PaperWalletPage, PayProPage, GlideraTxDetailsPage, PinModalPage, ProposalsPage, ReceivePage, ScanPage, SendPage, SettingsPage, SellCoinbasePage, SellGlideraPage, GlideraSettingsPage, CoinbaseSettingsPage, ShapeshiftConfirmPage, ShapeshiftDetailsPage, ShapeshiftPage, ShapeshiftShiftPage, TermsOfUsePage, MercadoLibreCardDetailsPage, NotificationsPage, FeePolicyPage, SessionLogPage, SendFeedbackPage, FinishModalPage, TourPage, TabsPage, TxpDetailsPage, TxDetailsPage, TxpPage, WalletSettingsPage, WalletSettingsAdvancedPage, WalletNamePage, WalletColorPage, WalletInformationPage, WalletAddressesPage, WalletExportPage, WalletServiceUrlPage, WalletTransactionHistoryPage, WalletDeletePage, WalletExtendedPrivateKeyPage, WalletDetailsPage, WalletBalancePage, WalletItemPage, WalletActivityPage, WalletSelectorPage, CardItemPage, /* Directives */ CopyToClipboard, LongPress, NoLowFee, /* Pipes */ SatToUnitPipe, SatToFiatPipe, FiatToUnitPipe, KeysPipe, OrderByPipe ], imports: [ IonicModule.forRoot(CopayApp, { tabsHideOnSubPages: true, tabsPlacement: 'bottom' }), BrowserModule, HttpClientModule, NgLoggerModule.forRoot(Level.LOG), MomentModule, NgxQRCodeModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: createTranslateLoader, deps: [HttpClient] } }), ], bootstrap: [IonicApp], entryComponents: [ /* Pages */ ActivityPage, AddPage, AmazonCardDetailsPage, AmazonPage, AmountPage, AddressbookPage, AddressbookAddPage, AddressbookViewPage, AboutPage, AdvancedPage, AllAddressesPage, AltCurrencyPage, BackupRequestPage, BitcoinCashPage, BitPayCardIntroPage, BitPayCardPage, BitPaySettingsPage, BitPayCardTopUpPage, BuyAmazonPage, BuyCoinbasePage, BuyGlideraPage, BuyMercadoLibrePage, ChooseFeeLevelPage, CreateWalletPage, CoinbasePage, CoinbaseTxDetailsPage, CopayersPage, EnabledServicesPage, FeedbackCardPage, FeedbackPage, FeedbackCompletePage, IncomingDataMenuPage, ImportWalletPage, JoinWalletPage, BackupWarningPage, BackupGamePage, ConfirmPage, CustomAmountPage, CopayApp, DisclaimerPage, CollectEmailPage, FeeWarningPage, GlideraPage, GravatarPage, FingerprintModalPage, HomePage, LanguagePage, LockPage, MercadoLibrePage, OnboardingPage, PaperWalletPage, PayProPage, GlideraTxDetailsPage, PinModalPage, ProposalsPage, ReceivePage, ScanPage, SendPage, SettingsPage, SellCoinbasePage, SellGlideraPage, GlideraSettingsPage, CoinbaseSettingsPage, ShapeshiftConfirmPage, ShapeshiftDetailsPage, ShapeshiftPage, ShapeshiftShiftPage, TermsOfUsePage, MercadoLibreCardDetailsPage, NotificationsPage, FeePolicyPage, SessionLogPage, SendFeedbackPage, FinishModalPage, TourPage, TabsPage, TxpDetailsPage, TxDetailsPage, TxpPage, WalletSettingsPage, WalletSettingsAdvancedPage, WalletNamePage, WalletColorPage, WalletInformationPage, WalletAddressesPage, WalletExportPage, WalletServiceUrlPage, WalletTransactionHistoryPage, WalletDeletePage, WalletExtendedPrivateKeyPage, WalletDetailsPage, WalletBalancePage, WalletItemPage, WalletActivityPage, WalletSelectorPage, CardItemPage ], providers: [ AddressProvider, AddressBookProvider, AndroidFingerprintAuth, AppProvider, AppIdentityProvider, AmazonProvider, BackupProvider, BitPayProvider, BitPayCardProvider, BitPayAccountProvider, BwcProvider, BwcErrorProvider, ConfigProvider, CoinbaseProvider, Clipboard, DerivationPathHelperProvider, ExternalLinkProvider, FeedbackProvider, FCM, HomeIntegrationsProvider, FeeProvider, GlideraProvider, IncomingDataProvider, LanguageProvider, Logger, MercadoLibreProvider, NodeWebkitProvider, OnGoingProcessProvider, PayproProvider, PlatformProvider, ProfileProvider, PopupProvider, QRScanner, PushNotificationsProvider, RateProvider, ReleaseProvider, ShapeshiftProvider, StatusBar, SplashScreen, ScanProvider, SocialSharing, Toast, TouchID, TimeProvider, TouchIdProvider, TxConfirmNotificationProvider, FilterProvider, TxFormatProvider, WalletProvider, EmailNotificationsProvider, DecimalPipe, PersistenceProvider, File, { provide: ErrorHandler, useClass: IonicErrorHandler } ] }) export class AppModule { }