@wallfree-dev/angular-core 0.0.59-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -0
- package/esm2022/lib/airgap-angular-core.module.mjs +63 -0
- package/esm2022/lib/base/base.component.mjs +38 -0
- package/esm2022/lib/base/base.facade.mjs +37 -0
- package/esm2022/lib/capacitor-plugins/definitions.mjs +15 -0
- package/esm2022/lib/capacitor-plugins/injection-tokens.mjs +11 -0
- package/esm2022/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin-wrapper.mjs +67 -0
- package/esm2022/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin.mjs +247 -0
- package/esm2022/lib/components/account-item/account-item.component.mjs +30 -0
- package/esm2022/lib/components/account-selection/account-selection.component.mjs +61 -0
- package/esm2022/lib/components/components.module.mjs +97 -0
- package/esm2022/lib/components/currency-symbol/currency-symbol.component.mjs +45 -0
- package/esm2022/lib/components/currency-symbol/currency-symbol.facade.mjs +8 -0
- package/esm2022/lib/components/currency-symbol/currency-symbol.types.mjs +2 -0
- package/esm2022/lib/components/from-to/from-to.component.mjs +100 -0
- package/esm2022/lib/components/iac-qr/iac-qr.component.mjs +192 -0
- package/esm2022/lib/components/identicon/identicon.component.mjs +51 -0
- package/esm2022/lib/components/isolated-modules-badges/isolated-modules-badges.component.mjs +16 -0
- package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.component.mjs +43 -0
- package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.facade.mjs +7 -0
- package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.component.mjs +50 -0
- package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.facade.mjs +7 -0
- package/esm2022/lib/components/isolated-modules-onboarding/isolated-modules-onboarding.component.mjs +12 -0
- package/esm2022/lib/components/network-badge/network-badge.component.mjs +19 -0
- package/esm2022/lib/components/qr/qr.component.mjs +36 -0
- package/esm2022/lib/components/qr-settings/qr-settings.component.mjs +30 -0
- package/esm2022/lib/components/titled-address/titled-address.component.mjs +31 -0
- package/esm2022/lib/components/titled-text/titled-text.component.mjs +28 -0
- package/esm2022/lib/config/app-config.mjs +3 -0
- package/esm2022/lib/pages/isolated-modules-list/isolated-modules-list.facade.mjs +7 -0
- package/esm2022/lib/pipes/amount-converter/amount-converter.pipe.mjs +82 -0
- package/esm2022/lib/pipes/fee-converter/fee-converter.pipe.mjs +36 -0
- package/esm2022/lib/pipes/pipes.module.mjs +19 -0
- package/esm2022/lib/pipes/wallet-filter/wallet-filter.pipe.mjs +36 -0
- package/esm2022/lib/protocol/adapter/protocol-v0-adapter.mjs +880 -0
- package/esm2022/lib/protocol/isolated/base-isolated.mjs +27 -0
- package/esm2022/lib/protocol/isolated/block-explorer-isolated.mjs +32 -0
- package/esm2022/lib/protocol/isolated/protocol-offline-isolated.mjs +37 -0
- package/esm2022/lib/protocol/isolated/protocol-online-isolated.mjs +52 -0
- package/esm2022/lib/protocol/isolated/v3-serializer-companion-isolated.mjs +35 -0
- package/esm2022/lib/services/address/address.service.mjs +78 -0
- package/esm2022/lib/services/clipboard/clipboard.service.mjs +48 -0
- package/esm2022/lib/services/deeplink/deeplink.service.mjs +73 -0
- package/esm2022/lib/services/environment/base-environment.service.mjs +6 -0
- package/esm2022/lib/services/filesystem/filesystem.service.mjs +291 -0
- package/esm2022/lib/services/iac/base.iac.service.mjs +155 -0
- package/esm2022/lib/services/iac/message-handler-single.mjs +48 -0
- package/esm2022/lib/services/iac/message-handler.mjs +22 -0
- package/esm2022/lib/services/iac/qr-generator.mjs +17 -0
- package/esm2022/lib/services/image/fetcher/image-direct.fetcher.mjs +16 -0
- package/esm2022/lib/services/image/fetcher/image-proxy.fetcher.mjs +45 -0
- package/esm2022/lib/services/image/image.service.mjs +39 -0
- package/esm2022/lib/services/key-pair/key-pair.service.mjs +57 -0
- package/esm2022/lib/services/language/language.service.mjs +47 -0
- package/esm2022/lib/services/modules/base-modules.service.mjs +157 -0
- package/esm2022/lib/services/modules/controller/base-modules.controller.mjs +2 -0
- package/esm2022/lib/services/modules/controller/integral/integral-modules.controller.mjs +91 -0
- package/esm2022/lib/services/modules/controller/isolated/isolated-modules.controller.mjs +190 -0
- package/esm2022/lib/services/modules/controller/modules.controller.mjs +85 -0
- package/esm2022/lib/services/permissions/permissions.service.mjs +140 -0
- package/esm2022/lib/services/protocol/defaults.mjs +55 -0
- package/esm2022/lib/services/protocol/protocol.service.mjs +230 -0
- package/esm2022/lib/services/protocol/store/base-protocol-store.service.mjs +63 -0
- package/esm2022/lib/services/protocol/store/main/main-protocol-store.service.mjs +91 -0
- package/esm2022/lib/services/protocol/store/sub/sub-protocol-store.service.mjs +174 -0
- package/esm2022/lib/services/qr/qr-generators/bc-ur-generator.mjs +127 -0
- package/esm2022/lib/services/qr/qr-generators/metamask-generator.mjs +117 -0
- package/esm2022/lib/services/qr/qr-generators/output-descriptor-generator.mjs +49 -0
- package/esm2022/lib/services/qr/qr-generators/serializer-v2-generator.mjs +30 -0
- package/esm2022/lib/services/qr/qr-generators/serializer-v3-generator.mjs +45 -0
- package/esm2022/lib/services/qr/qr-generators/xpub-generator.mjs +38 -0
- package/esm2022/lib/services/qr/qr-handler/serializer-v2-handler.mjs +114 -0
- package/esm2022/lib/services/qr/qr-handler/serializer-v3-handler.mjs +274 -0
- package/esm2022/lib/services/qr-scanner/qr-scanner.service.mjs +61 -0
- package/esm2022/lib/services/serializer/serializer.service.mjs +181 -0
- package/esm2022/lib/services/storage/base.storage.mjs +30 -0
- package/esm2022/lib/services/storage/storage.service.mjs +33 -0
- package/esm2022/lib/services/token/token.service.mjs +52 -0
- package/esm2022/lib/services/transaction/transaction.service.mjs +67 -0
- package/esm2022/lib/services/ui-event/ui-event.service.mjs +198 -0
- package/esm2022/lib/services/ui-event-elements/ui-event-elements.service.mjs +122 -0
- package/esm2022/lib/services/uri/uri.service.mjs +51 -0
- package/esm2022/lib/translation/AirGapTranslateLoader.mjs +26 -0
- package/esm2022/lib/types/Either.mjs +2 -0
- package/esm2022/lib/types/ExternalAliasResolver.mjs +2 -0
- package/esm2022/lib/types/RuntimeMode.mjs +6 -0
- package/esm2022/lib/types/SupportedLanguage.mjs +2 -0
- package/esm2022/lib/types/Token.mjs +2 -0
- package/esm2022/lib/types/isolated-modules/IsolatedModule.mjs +2 -0
- package/esm2022/lib/types/isolated-modules/IsolatedModuleManifest.mjs +2 -0
- package/esm2022/lib/types/isolated-modules/IsolatedModuleMetadata.mjs +2 -0
- package/esm2022/lib/types/ui/UIAction.mjs +6 -0
- package/esm2022/lib/types/ui/UIResource.mjs +8 -0
- package/esm2022/lib/utils/ExposedPromise.mjs +103 -0
- package/esm2022/lib/utils/airgap-transaction.mjs +23 -0
- package/esm2022/lib/utils/array.mjs +32 -0
- package/esm2022/lib/utils/modules/isolated/isolated-modules-metadata.mjs +10 -0
- package/esm2022/lib/utils/modules/load-protocol.mjs +19 -0
- package/esm2022/lib/utils/not-initialized.mjs +7 -0
- package/esm2022/lib/utils/protocol/delegation.mjs +33 -0
- package/esm2022/lib/utils/protocol/protocol-identifier.mjs +4 -0
- package/esm2022/lib/utils/protocol/protocol-network-identifier.mjs +18 -0
- package/esm2022/lib/utils/protocol/protocol-options.mjs +114 -0
- package/esm2022/lib/utils/protocol/protocol-v0-adapter.mjs +390 -0
- package/esm2022/lib/utils/utils.mjs +80 -0
- package/esm2022/lib/utils/worker.mjs +28 -0
- package/esm2022/public-api.mjs +102 -0
- package/esm2022/wallfree-dev-angular-core.mjs +5 -0
- package/fesm2022/wallfree-dev-angular-core.mjs +6933 -0
- package/fesm2022/wallfree-dev-angular-core.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/airgap-angular-core.module.d.ts +25 -0
- package/lib/airgap-angular-core.module.d.ts.map +1 -0
- package/lib/base/base.component.d.ts +18 -0
- package/lib/base/base.component.d.ts.map +1 -0
- package/lib/base/base.facade.d.ts +16 -0
- package/lib/base/base.facade.d.ts.map +1 -0
- package/lib/capacitor-plugins/definitions.d.ts +122 -0
- package/lib/capacitor-plugins/definitions.d.ts.map +1 -0
- package/lib/capacitor-plugins/injection-tokens.d.ts +18 -0
- package/lib/capacitor-plugins/injection-tokens.d.ts.map +1 -0
- package/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin-wrapper.d.ts +20 -0
- package/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin-wrapper.d.ts.map +1 -0
- package/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin.d.ts +38 -0
- package/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin.d.ts.map +1 -0
- package/lib/components/account-item/account-item.component.d.ts +15 -0
- package/lib/components/account-item/account-item.component.d.ts.map +1 -0
- package/lib/components/account-selection/account-selection.component.d.ts +23 -0
- package/lib/components/account-selection/account-selection.component.d.ts.map +1 -0
- package/lib/components/components.module.d.ts +28 -0
- package/lib/components/components.module.d.ts.map +1 -0
- package/lib/components/currency-symbol/currency-symbol.component.d.ts +20 -0
- package/lib/components/currency-symbol/currency-symbol.component.d.ts.map +1 -0
- package/lib/components/currency-symbol/currency-symbol.facade.d.ts +16 -0
- package/lib/components/currency-symbol/currency-symbol.facade.d.ts.map +1 -0
- package/lib/components/currency-symbol/currency-symbol.types.d.ts +35 -0
- package/lib/components/currency-symbol/currency-symbol.types.d.ts.map +1 -0
- package/lib/components/from-to/from-to.component.d.ts +33 -0
- package/lib/components/from-to/from-to.component.d.ts.map +1 -0
- package/lib/components/iac-qr/iac-qr.component.d.ts +45 -0
- package/lib/components/iac-qr/iac-qr.component.d.ts.map +1 -0
- package/lib/components/identicon/identicon.component.d.ts +14 -0
- package/lib/components/identicon/identicon.component.d.ts.map +1 -0
- package/lib/components/isolated-modules-badges/isolated-modules-badges.component.d.ts +8 -0
- package/lib/components/isolated-modules-badges/isolated-modules-badges.component.d.ts.map +1 -0
- package/lib/components/isolated-modules-details/isolated-modules-details.component.d.ts +17 -0
- package/lib/components/isolated-modules-details/isolated-modules-details.component.d.ts.map +1 -0
- package/lib/components/isolated-modules-details/isolated-modules-details.facade.d.ts +17 -0
- package/lib/components/isolated-modules-details/isolated-modules-details.facade.d.ts.map +1 -0
- package/lib/components/isolated-modules-list/isolated-modules-list.component.d.ts +20 -0
- package/lib/components/isolated-modules-list/isolated-modules-list.component.d.ts.map +1 -0
- package/lib/components/isolated-modules-list/isolated-modules-list.facade.d.ts +15 -0
- package/lib/components/isolated-modules-list/isolated-modules-list.facade.d.ts.map +1 -0
- package/lib/components/isolated-modules-onboarding/isolated-modules-onboarding.component.d.ts +6 -0
- package/lib/components/isolated-modules-onboarding/isolated-modules-onboarding.component.d.ts.map +1 -0
- package/lib/components/network-badge/network-badge.component.d.ts +9 -0
- package/lib/components/network-badge/network-badge.component.d.ts.map +1 -0
- package/lib/components/qr/qr.component.d.ts +16 -0
- package/lib/components/qr/qr.component.d.ts.map +1 -0
- package/lib/components/qr-settings/qr-settings.component.d.ts +12 -0
- package/lib/components/qr-settings/qr-settings.component.d.ts.map +1 -0
- package/lib/components/titled-address/titled-address.component.d.ts +13 -0
- package/lib/components/titled-address/titled-address.component.d.ts.map +1 -0
- package/lib/components/titled-text/titled-text.component.d.ts +11 -0
- package/lib/components/titled-text/titled-text.component.d.ts.map +1 -0
- package/lib/config/app-config.d.ts +15 -0
- package/lib/config/app-config.d.ts.map +1 -0
- package/lib/pages/isolated-modules-list/isolated-modules-list.facade.d.ts +16 -0
- package/lib/pages/isolated-modules-list/isolated-modules-list.facade.d.ts.map +1 -0
- package/lib/pipes/amount-converter/amount-converter.pipe.d.ts +29 -0
- package/lib/pipes/amount-converter/amount-converter.pipe.d.ts.map +1 -0
- package/lib/pipes/fee-converter/fee-converter.pipe.d.ts +20 -0
- package/lib/pipes/fee-converter/fee-converter.pipe.d.ts.map +1 -0
- package/lib/pipes/pipes.module.d.ts +10 -0
- package/lib/pipes/pipes.module.d.ts.map +1 -0
- package/lib/pipes/wallet-filter/wallet-filter.pipe.d.ts +15 -0
- package/lib/pipes/wallet-filter/wallet-filter.pipe.d.ts.map +1 -0
- package/lib/protocol/adapter/protocol-v0-adapter.d.ts +231 -0
- package/lib/protocol/adapter/protocol-v0-adapter.d.ts.map +1 -0
- package/lib/protocol/isolated/base-isolated.d.ts +11 -0
- package/lib/protocol/isolated/base-isolated.d.ts.map +1 -0
- package/lib/protocol/isolated/block-explorer-isolated.d.ts +14 -0
- package/lib/protocol/isolated/block-explorer-isolated.d.ts.map +1 -0
- package/lib/protocol/isolated/protocol-offline-isolated.d.ts +17 -0
- package/lib/protocol/isolated/protocol-offline-isolated.d.ts.map +1 -0
- package/lib/protocol/isolated/protocol-online-isolated.d.ts +21 -0
- package/lib/protocol/isolated/protocol-online-isolated.d.ts.map +1 -0
- package/lib/protocol/isolated/v3-serializer-companion-isolated.d.ts +17 -0
- package/lib/protocol/isolated/v3-serializer-companion-isolated.d.ts.map +1 -0
- package/lib/services/address/address.service.d.ts +26 -0
- package/lib/services/address/address.service.d.ts.map +1 -0
- package/lib/services/clipboard/clipboard.service.d.ts +14 -0
- package/lib/services/clipboard/clipboard.service.d.ts.map +1 -0
- package/lib/services/deeplink/deeplink.service.d.ts +18 -0
- package/lib/services/deeplink/deeplink.service.d.ts.map +1 -0
- package/lib/services/environment/base-environment.service.d.ts +6 -0
- package/lib/services/environment/base-environment.service.d.ts.map +1 -0
- package/lib/services/filesystem/filesystem.service.d.ts +42 -0
- package/lib/services/filesystem/filesystem.service.d.ts.map +1 -0
- package/lib/services/iac/base.iac.service.d.ts +41 -0
- package/lib/services/iac/base.iac.service.d.ts.map +1 -0
- package/lib/services/iac/message-handler-single.d.ts +20 -0
- package/lib/services/iac/message-handler-single.d.ts.map +1 -0
- package/lib/services/iac/message-handler.d.ts +34 -0
- package/lib/services/iac/message-handler.d.ts.map +1 -0
- package/lib/services/iac/qr-generator.d.ts +13 -0
- package/lib/services/iac/qr-generator.d.ts.map +1 -0
- package/lib/services/image/fetcher/image-direct.fetcher.d.ts +9 -0
- package/lib/services/image/fetcher/image-direct.fetcher.d.ts.map +1 -0
- package/lib/services/image/fetcher/image-proxy.fetcher.d.ts +9 -0
- package/lib/services/image/fetcher/image-proxy.fetcher.d.ts.map +1 -0
- package/lib/services/image/image.service.d.ts +20 -0
- package/lib/services/image/image.service.d.ts.map +1 -0
- package/lib/services/key-pair/key-pair.service.d.ts +14 -0
- package/lib/services/key-pair/key-pair.service.d.ts.map +1 -0
- package/lib/services/language/language.service.d.ts +21 -0
- package/lib/services/language/language.service.d.ts.map +1 -0
- package/lib/services/modules/base-modules.service.d.ts +34 -0
- package/lib/services/modules/base-modules.service.d.ts.map +1 -0
- package/lib/services/modules/controller/base-modules.controller.d.ts +19 -0
- package/lib/services/modules/controller/base-modules.controller.d.ts.map +1 -0
- package/lib/services/modules/controller/integral/integral-modules.controller.d.ts +22 -0
- package/lib/services/modules/controller/integral/integral-modules.controller.d.ts.map +1 -0
- package/lib/services/modules/controller/isolated/isolated-modules.controller.d.ts +32 -0
- package/lib/services/modules/controller/isolated/isolated-modules.controller.d.ts.map +1 -0
- package/lib/services/modules/controller/modules.controller.d.ts +27 -0
- package/lib/services/modules/controller/modules.controller.d.ts.map +1 -0
- package/lib/services/permissions/permissions.service.d.ts +39 -0
- package/lib/services/permissions/permissions.service.d.ts.map +1 -0
- package/lib/services/protocol/defaults.d.ts +6 -0
- package/lib/services/protocol/defaults.d.ts.map +1 -0
- package/lib/services/protocol/protocol.service.d.ts +47 -0
- package/lib/services/protocol/protocol.service.d.ts.map +1 -0
- package/lib/services/protocol/store/base-protocol-store.service.d.ts +36 -0
- package/lib/services/protocol/store/base-protocol-store.service.d.ts.map +1 -0
- package/lib/services/protocol/store/main/main-protocol-store.service.d.ts +21 -0
- package/lib/services/protocol/store/main/main-protocol-store.service.d.ts.map +1 -0
- package/lib/services/protocol/store/sub/sub-protocol-store.service.d.ts +31 -0
- package/lib/services/protocol/store/sub/sub-protocol-store.service.d.ts.map +1 -0
- package/lib/services/qr/qr-generators/bc-ur-generator.d.ts +16 -0
- package/lib/services/qr/qr-generators/bc-ur-generator.d.ts.map +1 -0
- package/lib/services/qr/qr-generators/metamask-generator.d.ts +16 -0
- package/lib/services/qr/qr-generators/metamask-generator.d.ts.map +1 -0
- package/lib/services/qr/qr-generators/output-descriptor-generator.d.ts +13 -0
- package/lib/services/qr/qr-generators/output-descriptor-generator.d.ts.map +1 -0
- package/lib/services/qr/qr-generators/serializer-v2-generator.d.ts +13 -0
- package/lib/services/qr/qr-generators/serializer-v2-generator.d.ts.map +1 -0
- package/lib/services/qr/qr-generators/serializer-v3-generator.d.ts +12 -0
- package/lib/services/qr/qr-generators/serializer-v3-generator.d.ts.map +1 -0
- package/lib/services/qr/qr-generators/xpub-generator.d.ts +12 -0
- package/lib/services/qr/qr-generators/xpub-generator.d.ts.map +1 -0
- package/lib/services/qr/qr-handler/serializer-v2-handler.d.ts +20 -0
- package/lib/services/qr/qr-handler/serializer-v2-handler.d.ts.map +1 -0
- package/lib/services/qr/qr-handler/serializer-v3-handler.d.ts +23 -0
- package/lib/services/qr/qr-handler/serializer-v3-handler.d.ts.map +1 -0
- package/lib/services/qr-scanner/qr-scanner.service.d.ts +23 -0
- package/lib/services/qr-scanner/qr-scanner.service.d.ts.map +1 -0
- package/lib/services/serializer/serializer.service.d.ts +34 -0
- package/lib/services/serializer/serializer.service.d.ts.map +1 -0
- package/lib/services/storage/base.storage.d.ts +15 -0
- package/lib/services/storage/base.storage.d.ts.map +1 -0
- package/lib/services/storage/storage.service.d.ts +28 -0
- package/lib/services/storage/storage.service.d.ts.map +1 -0
- package/lib/services/token/token.service.d.ts +11 -0
- package/lib/services/token/token.service.d.ts.map +1 -0
- package/lib/services/transaction/transaction.service.d.ts +21 -0
- package/lib/services/transaction/transaction.service.d.ts.map +1 -0
- package/lib/services/ui-event/ui-event.service.d.ts +58 -0
- package/lib/services/ui-event/ui-event.service.d.ts.map +1 -0
- package/lib/services/ui-event-elements/ui-event-elements.service.d.ts +16 -0
- package/lib/services/ui-event-elements/ui-event-elements.service.d.ts.map +1 -0
- package/lib/services/uri/uri.service.d.ts +15 -0
- package/lib/services/uri/uri.service.d.ts.map +1 -0
- package/lib/translation/AirGapTranslateLoader.d.ts +15 -0
- package/lib/translation/AirGapTranslateLoader.d.ts.map +1 -0
- package/lib/types/Either.d.ts +2 -0
- package/lib/types/Either.d.ts.map +1 -0
- package/lib/types/ExternalAliasResolver.d.ts +6 -0
- package/lib/types/ExternalAliasResolver.d.ts.map +1 -0
- package/lib/types/RuntimeMode.d.ts +5 -0
- package/lib/types/RuntimeMode.d.ts.map +1 -0
- package/lib/types/SupportedLanguage.d.ts +2 -0
- package/lib/types/SupportedLanguage.d.ts.map +1 -0
- package/lib/types/Token.d.ts +9 -0
- package/lib/types/Token.d.ts.map +1 -0
- package/lib/types/isolated-modules/IsolatedModule.d.ts +28 -0
- package/lib/types/isolated-modules/IsolatedModule.d.ts.map +1 -0
- package/lib/types/isolated-modules/IsolatedModuleManifest.d.ts +24 -0
- package/lib/types/isolated-modules/IsolatedModuleManifest.d.ts.map +1 -0
- package/lib/types/isolated-modules/IsolatedModuleMetadata.d.ts +21 -0
- package/lib/types/isolated-modules/IsolatedModuleMetadata.d.ts.map +1 -0
- package/lib/types/ui/UIAction.d.ts +10 -0
- package/lib/types/ui/UIAction.d.ts.map +1 -0
- package/lib/types/ui/UIResource.d.ts +11 -0
- package/lib/types/ui/UIResource.d.ts.map +1 -0
- package/lib/utils/ExposedPromise.d.ts +40 -0
- package/lib/utils/ExposedPromise.d.ts.map +1 -0
- package/lib/utils/airgap-transaction.d.ts +4 -0
- package/lib/utils/airgap-transaction.d.ts.map +1 -0
- package/lib/utils/array.d.ts +6 -0
- package/lib/utils/array.d.ts.map +1 -0
- package/lib/utils/modules/isolated/isolated-modules-metadata.d.ts +3 -0
- package/lib/utils/modules/isolated/isolated-modules-metadata.d.ts.map +1 -0
- package/lib/utils/modules/load-protocol.d.ts +4 -0
- package/lib/utils/modules/load-protocol.d.ts.map +1 -0
- package/lib/utils/not-initialized.d.ts +2 -0
- package/lib/utils/not-initialized.d.ts.map +1 -0
- package/lib/utils/protocol/delegation.d.ts +6 -0
- package/lib/utils/protocol/delegation.d.ts.map +1 -0
- package/lib/utils/protocol/protocol-identifier.d.ts +3 -0
- package/lib/utils/protocol/protocol-identifier.d.ts.map +1 -0
- package/lib/utils/protocol/protocol-network-identifier.d.ts +8 -0
- package/lib/utils/protocol/protocol-network-identifier.d.ts.map +1 -0
- package/lib/utils/protocol/protocol-options.d.ts +6 -0
- package/lib/utils/protocol/protocol-options.d.ts.map +1 -0
- package/lib/utils/protocol/protocol-v0-adapter.d.ts +75 -0
- package/lib/utils/protocol/protocol-v0-adapter.d.ts.map +1 -0
- package/lib/utils/utils.d.ts +9 -0
- package/lib/utils/utils.d.ts.map +1 -0
- package/lib/utils/worker.d.ts +11 -0
- package/lib/utils/worker.d.ts.map +1 -0
- package/package.json +88 -0
- package/public-api.d.ts +87 -0
- package/public-api.d.ts.map +1 -0
- package/src/assets/i18n-common/de.json +112 -0
- package/src/assets/i18n-common/en.json +112 -0
- package/src/assets/i18n-common/es.json +112 -0
- package/src/assets/i18n-common/fr.json +112 -0
- package/src/assets/i18n-common/pt_BR.json +112 -0
- package/src/assets/i18n-common/ru.json +112 -0
- package/src/assets/i18n-common/zh_CN.json +112 -0
- package/src/assets/img/identicon_placeholder.png +0 -0
- package/src/assets/native/isolated_modules/isolated-modules.js-engine-android.js +34 -0
- package/src/assets/native/isolated_modules/isolated-modules.script.js +304 -0
- package/src/assets/symbols/abt.svg +1 -0
- package/src/assets/symbols/adx.svg +1 -0
- package/src/assets/symbols/ae.svg +17 -0
- package/src/assets/symbols/agi.svg +1 -0
- package/src/assets/symbols/aion.svg +1 -0
- package/src/assets/symbols/amb.svg +1 -0
- package/src/assets/symbols/ampl.svg +7 -0
- package/src/assets/symbols/ant.svg +1 -0
- package/src/assets/symbols/aoa.svg +7 -0
- package/src/assets/symbols/appc.svg +1 -0
- package/src/assets/symbols/aqua.svg +5 -0
- package/src/assets/symbols/arn.svg +1 -0
- package/src/assets/symbols/ary.svg +1 -0
- package/src/assets/symbols/ast.svg +1 -0
- package/src/assets/symbols/astr.png +0 -0
- package/src/assets/symbols/atm.svg +1 -0
- package/src/assets/symbols/atom.svg +1 -0
- package/src/assets/symbols/auto.svg +1 -0
- package/src/assets/symbols/bal.svg +7 -0
- package/src/assets/symbols/band.svg +7 -0
- package/src/assets/symbols/bat.svg +1 -0
- package/src/assets/symbols/bcbc.svg +1 -0
- package/src/assets/symbols/bcpt.svg +1 -0
- package/src/assets/symbols/bix.svg +1 -0
- package/src/assets/symbols/blz.svg +1 -0
- package/src/assets/symbols/bnb.svg +1 -0
- package/src/assets/symbols/bnt.svg +1 -0
- package/src/assets/symbols/bnty.svg +1 -0
- package/src/assets/symbols/bpt.svg +1 -0
- package/src/assets/symbols/brc.svg +7 -0
- package/src/assets/symbols/brd.svg +1 -0
- package/src/assets/symbols/btc.svg +1 -0
- package/src/assets/symbols/btctz.png +0 -0
- package/src/assets/symbols/btm.svg +1 -0
- package/src/assets/symbols/busd.svg +7 -0
- package/src/assets/symbols/bytom.svg +7 -0
- package/src/assets/symbols/cacu.svg +1 -0
- package/src/assets/symbols/cdt.svg +1 -0
- package/src/assets/symbols/cel.svg +7 -0
- package/src/assets/symbols/cennz.svg +7 -0
- package/src/assets/symbols/cfx.svg +1 -0
- package/src/assets/symbols/chsb.svg +7 -0
- package/src/assets/symbols/chz.svg +7 -0
- package/src/assets/symbols/ckbtc.png +0 -0
- package/src/assets/symbols/cmt.svg +1 -0
- package/src/assets/symbols/cnd.svg +1 -0
- package/src/assets/symbols/cob.svg +1 -0
- package/src/assets/symbols/comp.svg +7 -0
- package/src/assets/symbols/coreum.png +0 -0
- package/src/assets/symbols/cred.svg +1 -0
- package/src/assets/symbols/cro.svg +7 -0
- package/src/assets/symbols/crpt.svg +1 -0
- package/src/assets/symbols/crv.svg +7 -0
- package/src/assets/symbols/cs.svg +1 -0
- package/src/assets/symbols/ctez.svg +1 -0
- package/src/assets/symbols/ctr.svg +1 -0
- package/src/assets/symbols/ctxc.svg +1 -0
- package/src/assets/symbols/cusdc.svg +7 -0
- package/src/assets/symbols/cvc.svg +1 -0
- package/src/assets/symbols/cvt.svg +7 -0
- package/src/assets/symbols/czrx.svg +7 -0
- package/src/assets/symbols/dai.svg +7 -0
- package/src/assets/symbols/dat.svg +1 -0
- package/src/assets/symbols/data.svg +1 -0
- package/src/assets/symbols/dcn.svg +1 -0
- package/src/assets/symbols/deez.svg +1 -0
- package/src/assets/symbols/dent.svg +1 -0
- package/src/assets/symbols/dew.svg +1 -0
- package/src/assets/symbols/dgd.svg +1 -0
- package/src/assets/symbols/dia.svg +7 -0
- package/src/assets/symbols/divx.svg +7 -0
- package/src/assets/symbols/dlt.svg +1 -0
- package/src/assets/symbols/dnt.svg +1 -0
- package/src/assets/symbols/dock.svg +1 -0
- package/src/assets/symbols/doga.png +0 -0
- package/src/assets/symbols/dot.svg +14 -0
- package/src/assets/symbols/drgn.svg +1 -0
- package/src/assets/symbols/drop.svg +1 -0
- package/src/assets/symbols/dth.svg +1 -0
- package/src/assets/symbols/dtr.svg +1 -0
- package/src/assets/symbols/dx.svg +7 -0
- package/src/assets/symbols/edg.svg +1 -0
- package/src/assets/symbols/edo.svg +1 -0
- package/src/assets/symbols/elf.svg +1 -0
- package/src/assets/symbols/elix.svg +1 -0
- package/src/assets/symbols/eng.svg +1 -0
- package/src/assets/symbols/enj.svg +1 -0
- package/src/assets/symbols/entrp.svg +1 -0
- package/src/assets/symbols/eos.svg +1 -0
- package/src/assets/symbols/eth.svg +1 -0
- package/src/assets/symbols/ethtz.png +0 -0
- package/src/assets/symbols/eurc.svg +8 -0
- package/src/assets/symbols/evx.svg +1 -0
- package/src/assets/symbols/fet.svg +7 -0
- package/src/assets/symbols/frax.svg +26 -0
- package/src/assets/symbols/fsn.svg +1 -0
- package/src/assets/symbols/ftc.svg +1 -0
- package/src/assets/symbols/ftm.svg +7 -0
- package/src/assets/symbols/fuel.svg +1 -0
- package/src/assets/symbols/fun.svg +1 -0
- package/src/assets/symbols/gbx.svg +1 -0
- package/src/assets/symbols/generic-coin.svg +1 -0
- package/src/assets/symbols/glmr.svg +1 -0
- package/src/assets/symbols/gno.svg +1 -0
- package/src/assets/symbols/gnt.svg +1 -0
- package/src/assets/symbols/grs.svg +1 -0
- package/src/assets/symbols/gsc.svg +1 -0
- package/src/assets/symbols/gto.svg +1 -0
- package/src/assets/symbols/gup.svg +1 -0
- package/src/assets/symbols/gusd.svg +1 -0
- package/src/assets/symbols/gvt.svg +1 -0
- package/src/assets/symbols/gzr.svg +1 -0
- package/src/assets/symbols/hedg.svg +7 -0
- package/src/assets/symbols/hodl.svg +1 -0
- package/src/assets/symbols/hot.svg +7 -0
- package/src/assets/symbols/hpb.svg +1 -0
- package/src/assets/symbols/ht.svg +1 -0
- package/src/assets/symbols/husd.svg +7 -0
- package/src/assets/symbols/icn.svg +1 -0
- package/src/assets/symbols/icp.svg +16 -0
- package/src/assets/symbols/icx.svg +1 -0
- package/src/assets/symbols/inb.svg +7 -0
- package/src/assets/symbols/ino.svg +7 -0
- package/src/assets/symbols/ins.svg +1 -0
- package/src/assets/symbols/iost.svg +1 -0
- package/src/assets/symbols/iotx.svg +1 -0
- package/src/assets/symbols/itc.svg +1 -0
- package/src/assets/symbols/jnt.svg +1 -0
- package/src/assets/symbols/kcs.svg +7 -0
- package/src/assets/symbols/kin.svg +1 -0
- package/src/assets/symbols/knc.svg +1 -0
- package/src/assets/symbols/ksm.svg +1 -0
- package/src/assets/symbols/kusd.svg +1 -0
- package/src/assets/symbols/ldo.svg +97 -0
- package/src/assets/symbols/lend.svg +1 -0
- package/src/assets/symbols/leo.svg +7 -0
- package/src/assets/symbols/link.svg +7 -0
- package/src/assets/symbols/loom.svg +1 -0
- package/src/assets/symbols/lpt.svg +1 -0
- package/src/assets/symbols/lrc.svg +1 -0
- package/src/assets/symbols/lun.svg +1 -0
- package/src/assets/symbols/mana.svg +1 -0
- package/src/assets/symbols/matic.svg +7 -0
- package/src/assets/symbols/mcap.svg +1 -0
- package/src/assets/symbols/mco.svg +1 -0
- package/src/assets/symbols/mda.svg +1 -0
- package/src/assets/symbols/mds.svg +1 -0
- package/src/assets/symbols/mkr.svg +1 -0
- package/src/assets/symbols/mln.svg +7 -0
- package/src/assets/symbols/mnw.svg +1 -0
- package/src/assets/symbols/mod.svg +1 -0
- package/src/assets/symbols/movr.svg +10 -0
- package/src/assets/symbols/mth.svg +1 -0
- package/src/assets/symbols/mtl.svg +1 -0
- package/src/assets/symbols/mxc.svg +7 -0
- package/src/assets/symbols/nas.svg +1 -0
- package/src/assets/symbols/ncash.svg +1 -0
- package/src/assets/symbols/neu.svg +1 -0
- package/src/assets/symbols/nexo.svg +1 -0
- package/src/assets/symbols/ngc.svg +1 -0
- package/src/assets/symbols/nio.svg +1 -0
- package/src/assets/symbols/nmr.svg +7 -0
- package/src/assets/symbols/noah.svg +7 -0
- package/src/assets/symbols/npxs.svg +1 -0
- package/src/assets/symbols/nuls.svg +1 -0
- package/src/assets/symbols/nxm.svg +7 -0
- package/src/assets/symbols/oax.svg +1 -0
- package/src/assets/symbols/ocean.svg +7 -0
- package/src/assets/symbols/okb.svg +7 -0
- package/src/assets/symbols/omg.svg +1 -0
- package/src/assets/symbols/ong.svg +1 -0
- package/src/assets/symbols/op.svg +21 -0
- package/src/assets/symbols/ost.svg +1 -0
- package/src/assets/symbols/pax.svg +1 -0
- package/src/assets/symbols/paxg.svg +7 -0
- package/src/assets/symbols/pay.svg +1 -0
- package/src/assets/symbols/plenty.svg +1 -0
- package/src/assets/symbols/plr.svg +1 -0
- package/src/assets/symbols/pnk.svg +7 -0
- package/src/assets/symbols/poe.svg +1 -0
- package/src/assets/symbols/poly.svg +1 -0
- package/src/assets/symbols/powr.svg +1 -0
- package/src/assets/symbols/ppp.svg +1 -0
- package/src/assets/symbols/ppt.svg +1 -0
- package/src/assets/symbols/prl.svg +1 -0
- package/src/assets/symbols/qash.svg +1 -0
- package/src/assets/symbols/qnt.svg +7 -0
- package/src/assets/symbols/qrl.svg +1 -0
- package/src/assets/symbols/qsp.svg +1 -0
- package/src/assets/symbols/qtum.svg +1 -0
- package/src/assets/symbols/quipu.png +0 -0
- package/src/assets/symbols/r.svg +1 -0
- package/src/assets/symbols/rcn.svg +1 -0
- package/src/assets/symbols/rdn.svg +1 -0
- package/src/assets/symbols/ren.svg +7 -0
- package/src/assets/symbols/rep.svg +1 -0
- package/src/assets/symbols/repv2.svg +7 -0
- package/src/assets/symbols/req.svg +1 -0
- package/src/assets/symbols/rev.svg +7 -0
- package/src/assets/symbols/rhoc.svg +1 -0
- package/src/assets/symbols/rlc.svg +1 -0
- package/src/assets/symbols/rsr.svg +7 -0
- package/src/assets/symbols/sai.svg +7 -0
- package/src/assets/symbols/salt.svg +1 -0
- package/src/assets/symbols/san.svg +1 -0
- package/src/assets/symbols/sdn.svg +1 -0
- package/src/assets/symbols/shx.svg +32 -0
- package/src/assets/symbols/sirs.svg +1 -0
- package/src/assets/symbols/smart.svg +1 -0
- package/src/assets/symbols/sngls.svg +1 -0
- package/src/assets/symbols/snm.svg +1 -0
- package/src/assets/symbols/snt.svg +1 -0
- package/src/assets/symbols/snx.svg +7 -0
- package/src/assets/symbols/soc.svg +1 -0
- package/src/assets/symbols/sol.svg +1 -0
- package/src/assets/symbols/spank.svg +1 -0
- package/src/assets/symbols/sphtx.svg +1 -0
- package/src/assets/symbols/srm.svg +7 -0
- package/src/assets/symbols/srn.svg +1 -0
- package/src/assets/symbols/stake.svg +7 -0
- package/src/assets/symbols/stellar.png +0 -0
- package/src/assets/symbols/storj.svg +1 -0
- package/src/assets/symbols/storm.svg +1 -0
- package/src/assets/symbols/stq.svg +1 -0
- package/src/assets/symbols/stxtz.svg +18 -0
- package/src/assets/symbols/sub.svg +1 -0
- package/src/assets/symbols/sushi.svg +7 -0
- package/src/assets/symbols/sxp.svg +7 -0
- package/src/assets/symbols/sxtz.svg +6 -0
- package/src/assets/symbols/taas.svg +1 -0
- package/src/assets/symbols/tau.svg +1 -0
- package/src/assets/symbols/tbx.svg +1 -0
- package/src/assets/symbols/tel.svg +1 -0
- package/src/assets/symbols/ten.svg +1 -0
- package/src/assets/symbols/theta.svg +1 -0
- package/src/assets/symbols/tix.svg +1 -0
- package/src/assets/symbols/tkn.svg +1 -0
- package/src/assets/symbols/tnt.svg +1 -0
- package/src/assets/symbols/tomo.svg +1 -0
- package/src/assets/symbols/trac.svg +7 -0
- package/src/assets/symbols/trb.svg +7 -0
- package/src/assets/symbols/trx.svg +1 -0
- package/src/assets/symbols/tusd.svg +1 -0
- package/src/assets/symbols/tzbtc.svg +1 -0
- package/src/assets/symbols/ubt.svg +7 -0
- package/src/assets/symbols/ubtc.svg +1 -0
- package/src/assets/symbols/udefi.svg +1 -0
- package/src/assets/symbols/uma.svg +7 -0
- package/src/assets/symbols/usdc.svg +1 -0
- package/src/assets/symbols/usdt.png +0 -0
- package/src/assets/symbols/usdt.svg +1 -0
- package/src/assets/symbols/usdtz.svg +17 -0
- package/src/assets/symbols/ust.svg +1 -0
- package/src/assets/symbols/utk.svg +1 -0
- package/src/assets/symbols/uusd.svg +1 -0
- package/src/assets/symbols/uxtz.svg +1 -0
- package/src/assets/symbols/velo.svg +5 -0
- package/src/assets/symbols/ven.svg +7 -0
- package/src/assets/symbols/veri.svg +1 -0
- package/src/assets/symbols/verse.svg +1 -0
- package/src/assets/symbols/vest.svg +7 -0
- package/src/assets/symbols/vib.svg +1 -0
- package/src/assets/symbols/vibe.svg +1 -0
- package/src/assets/symbols/wabi.svg +1 -0
- package/src/assets/symbols/wax.svg +1 -0
- package/src/assets/symbols/wbtc.svg +7 -0
- package/src/assets/symbols/weth.svg +18 -0
- package/src/assets/symbols/wic.svg +7 -0
- package/src/assets/symbols/wings.svg +1 -0
- package/src/assets/symbols/wnxm.svg +7 -0
- package/src/assets/symbols/wpr.svg +1 -0
- package/src/assets/symbols/wrap.png +0 -0
- package/src/assets/symbols/wtc.svg +1 -0
- package/src/assets/symbols/wusdc.png +0 -0
- package/src/assets/symbols/xchf.svg +1 -0
- package/src/assets/symbols/xdce.svg +7 -0
- package/src/assets/symbols/xin.svg +7 -0
- package/src/assets/symbols/xpa.svg +1 -0
- package/src/assets/symbols/xpl.svg +1 -0
- package/src/assets/symbols/xtz.svg +5 -0
- package/src/assets/symbols/yfi.svg +7 -0
- package/src/assets/symbols/you.svg +1 -0
- package/src/assets/symbols/yoyow.svg +1 -0
- package/src/assets/symbols/ytez.svg +1 -0
- package/src/assets/symbols/zb.svg +7 -0
- package/src/assets/symbols/zil.svg +1 -0
- package/src/assets/symbols/zrx.svg +1 -0
- package/src/assets/workers/airgap-coin-lib.js +119 -0
- package/wallfree-dev-angular-core.d.ts.map +1 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/* eslint-disable max-lines */
|
|
2
|
+
/* eslint-disable max-classes-per-file */
|
|
3
|
+
import { WebPlugin } from '@capacitor/core';
|
|
4
|
+
import { AeternityModule } from '@wallfree-dev/aeternity';
|
|
5
|
+
import { AstarModule } from '@wallfree-dev/astar';
|
|
6
|
+
import { BitcoinModule } from '@wallfree-dev/bitcoin';
|
|
7
|
+
import { CosmosModule } from '@wallfree-dev/cosmos';
|
|
8
|
+
import { EthereumModule } from '@wallfree-dev/ethereum';
|
|
9
|
+
import { GroestlcoinModule } from '@wallfree-dev/groestlcoin';
|
|
10
|
+
import { ICPModule } from '@wallfree-dev/icp';
|
|
11
|
+
import { CoreumModule } from '@wallfree-dev/coreum';
|
|
12
|
+
import { AcurastModule } from '@wallfree-dev/acurast';
|
|
13
|
+
import { StellarModule } from '@wallfree-dev/stellar';
|
|
14
|
+
import { TronModule } from '@wallfree-dev/tron';
|
|
15
|
+
import { hasConfigurableContract, isSubProtocol } from '@wallfree-dev/module-kit';
|
|
16
|
+
import { MoonbeamModule } from '@wallfree-dev/moonbeam';
|
|
17
|
+
import { OptimismModule } from '@wallfree-dev/optimism';
|
|
18
|
+
import { PolkadotModule } from '@wallfree-dev/polkadot';
|
|
19
|
+
import { TezosModule } from '@wallfree-dev/tezos';
|
|
20
|
+
import { flattened } from '../../utils/array';
|
|
21
|
+
import { assertNever } from '../../utils/utils';
|
|
22
|
+
import { getOfflineProtocolConfiguration, getOnlineProtocolConfiguration } from '../../utils/modules/load-protocol';
|
|
23
|
+
export class IsolatedModules extends WebPlugin {
|
|
24
|
+
constructor(modules = [
|
|
25
|
+
new BitcoinModule(),
|
|
26
|
+
new EthereumModule(),
|
|
27
|
+
new TezosModule(),
|
|
28
|
+
new PolkadotModule(),
|
|
29
|
+
new CosmosModule(),
|
|
30
|
+
new AeternityModule(),
|
|
31
|
+
new GroestlcoinModule(),
|
|
32
|
+
new MoonbeamModule(),
|
|
33
|
+
new AstarModule(),
|
|
34
|
+
new ICPModule(),
|
|
35
|
+
new CoreumModule(),
|
|
36
|
+
new OptimismModule(),
|
|
37
|
+
new AcurastModule(),
|
|
38
|
+
new StellarModule(),
|
|
39
|
+
new TronModule()
|
|
40
|
+
]) {
|
|
41
|
+
super();
|
|
42
|
+
this.modules = modules;
|
|
43
|
+
this.offlineProtocols = {};
|
|
44
|
+
this.onlineProtocols = {};
|
|
45
|
+
this.blockExplorers = {};
|
|
46
|
+
this.v3SerializerCompanions = {};
|
|
47
|
+
this.moduleIndices = {};
|
|
48
|
+
}
|
|
49
|
+
async previewDynamicModule(_options) {
|
|
50
|
+
throw new Error('Dynamic isolated module preview not supported in a browser');
|
|
51
|
+
}
|
|
52
|
+
async verifyDynamicModule(_options) {
|
|
53
|
+
throw new Error('Dynamic isolated module verification not supported in a browser');
|
|
54
|
+
}
|
|
55
|
+
async registerDynamicModule(_options) {
|
|
56
|
+
throw new Error('Dynamic isolated module registration not supported in a browser');
|
|
57
|
+
}
|
|
58
|
+
async readDynamicModule(_options) {
|
|
59
|
+
throw new Error('Dynamic isolated module read not supported in a browser');
|
|
60
|
+
}
|
|
61
|
+
async removeDynamicModules(_options) {
|
|
62
|
+
throw new Error('Dynamic isolated module removal not supported in a browser');
|
|
63
|
+
}
|
|
64
|
+
async readAssetModule(_options) {
|
|
65
|
+
throw new Error('Asset isolated module read not supported in a browser');
|
|
66
|
+
}
|
|
67
|
+
async loadAllModules(options = {}) {
|
|
68
|
+
const modules = await Promise.all(this.modules.map((module, index) => this.loadModule(module, index, options.protocolType, new Set(options.ignoreProtocols ?? []))));
|
|
69
|
+
return { modules };
|
|
70
|
+
}
|
|
71
|
+
async loadModule(module, index, protocolType, ignoreProtocols) {
|
|
72
|
+
const moduleIdentifier = index.toString();
|
|
73
|
+
const v3SerializerCompanion = await module.createV3SerializerCompanion();
|
|
74
|
+
this.v3SerializerCompanions[moduleIdentifier] = v3SerializerCompanion;
|
|
75
|
+
const protocols = await Promise.all(Object.entries(module.supportedProtocols)
|
|
76
|
+
.filter(([identifier, _]) => !ignoreProtocols.has(identifier))
|
|
77
|
+
.map(([identifier, configuration]) => this.loadModuleProtocols(module, index, identifier, configuration, protocolType)));
|
|
78
|
+
return {
|
|
79
|
+
identifier: moduleIdentifier,
|
|
80
|
+
type: 'static',
|
|
81
|
+
protocols: flattened(protocols),
|
|
82
|
+
v3SchemaConfigurations: v3SerializerCompanion.schemas
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
async loadModuleProtocols(module, moduleIndex, identifier, configuration, protocolType) {
|
|
86
|
+
const offlineConfiguration = getOfflineProtocolConfiguration(configuration, protocolType);
|
|
87
|
+
const onlineConfiguration = getOnlineProtocolConfiguration(configuration, protocolType);
|
|
88
|
+
const [offlineProtocols, onlineProtocols] = await Promise.all([
|
|
89
|
+
offlineConfiguration ? this.loadOfflineProtocols(module, moduleIndex, identifier, offlineConfiguration) : Promise.resolve([]),
|
|
90
|
+
onlineConfiguration ? this.loadOnlineProtocols(module, moduleIndex, identifier, onlineConfiguration) : Promise.resolve([])
|
|
91
|
+
]);
|
|
92
|
+
return offlineProtocols.concat(onlineProtocols);
|
|
93
|
+
}
|
|
94
|
+
async loadOfflineProtocols(module, moduleIndex, identifier, _configuration) {
|
|
95
|
+
const protocol = await module.createOfflineProtocol(identifier);
|
|
96
|
+
if (protocol === undefined) {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
this.moduleIndices[identifier] = moduleIndex;
|
|
100
|
+
this.offlineProtocols[this.protocolKey(identifier)] = protocol;
|
|
101
|
+
const crypto = await protocol.getCryptoConfiguration();
|
|
102
|
+
return [await this.getIsolatedProtocolConfiguration(protocol, 'offline', undefined, undefined, crypto)];
|
|
103
|
+
}
|
|
104
|
+
async loadOnlineProtocols(module, moduleIndex, identifier, configuration) {
|
|
105
|
+
const protocols = await Promise.all(Object.entries(configuration.networks).map(async ([networkId, _]) => {
|
|
106
|
+
const [protocol, blockExplorer] = await Promise.all([
|
|
107
|
+
module.createOnlineProtocol(identifier, networkId),
|
|
108
|
+
module.createBlockExplorer(identifier, networkId)
|
|
109
|
+
]);
|
|
110
|
+
if (protocol === undefined) {
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
this.moduleIndices[identifier] = moduleIndex;
|
|
114
|
+
this.onlineProtocols[this.protocolKey(identifier, networkId)] = protocol;
|
|
115
|
+
if (blockExplorer !== undefined) {
|
|
116
|
+
this.blockExplorers[this.protocolKey(identifier, networkId)] = blockExplorer;
|
|
117
|
+
}
|
|
118
|
+
const [network, blockExplorerMetadata] = await Promise.all([
|
|
119
|
+
protocol.getNetwork(),
|
|
120
|
+
blockExplorer?.getMetadata() ?? Promise.resolve(undefined)
|
|
121
|
+
]);
|
|
122
|
+
return this.getIsolatedProtocolConfiguration(protocol, 'online', blockExplorerMetadata, network);
|
|
123
|
+
}));
|
|
124
|
+
return protocols.filter((protocol) => protocol !== undefined);
|
|
125
|
+
}
|
|
126
|
+
async getIsolatedProtocolConfiguration(protocol, mode, blockExplorerMetadata, network, crypto) {
|
|
127
|
+
const protocolMetadata = await protocol.getMetadata();
|
|
128
|
+
const configuration = {
|
|
129
|
+
mode,
|
|
130
|
+
identifier: protocolMetadata.identifier,
|
|
131
|
+
protocolMetadata,
|
|
132
|
+
blockExplorerMetadata: blockExplorerMetadata ?? null,
|
|
133
|
+
network: network ?? null,
|
|
134
|
+
methods: this.collectMethods(protocol),
|
|
135
|
+
cachedValues: {
|
|
136
|
+
getCryptoConfiguration: crypto
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
if (isSubProtocol(protocol)) {
|
|
140
|
+
const [subType, mainProtocol, contractAddress] = await Promise.all([
|
|
141
|
+
protocol.getType(),
|
|
142
|
+
protocol.mainProtocol(),
|
|
143
|
+
hasConfigurableContract(protocol) ? protocol.getContractAddress() : Promise.resolve(undefined)
|
|
144
|
+
]);
|
|
145
|
+
return {
|
|
146
|
+
...configuration,
|
|
147
|
+
type: 'sub',
|
|
148
|
+
cachedValues: Object.assign(configuration.cachedValues, {
|
|
149
|
+
getType: subType,
|
|
150
|
+
mainProtocol,
|
|
151
|
+
getContractAddress: contractAddress
|
|
152
|
+
}),
|
|
153
|
+
subType,
|
|
154
|
+
mainProtocolIdentifier: mainProtocol,
|
|
155
|
+
contractAddress: contractAddress ?? null
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
return {
|
|
160
|
+
...configuration,
|
|
161
|
+
type: 'main'
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
collectMethods(protocol) {
|
|
166
|
+
let propertyNames = [];
|
|
167
|
+
let obj = protocol;
|
|
168
|
+
while (obj) {
|
|
169
|
+
propertyNames = propertyNames.concat(Object.getOwnPropertyNames(obj));
|
|
170
|
+
obj = Object.getPrototypeOf(obj);
|
|
171
|
+
}
|
|
172
|
+
return propertyNames.filter((key) => typeof protocol[key] === 'function');
|
|
173
|
+
}
|
|
174
|
+
async callMethod(options) {
|
|
175
|
+
switch (options.target) {
|
|
176
|
+
case 'offlineProtocol':
|
|
177
|
+
return this.callOfflineProtocolMethod(options);
|
|
178
|
+
case 'onlineProtocol':
|
|
179
|
+
return this.callOnlineProtocolMethod(options);
|
|
180
|
+
case 'blockExplorer':
|
|
181
|
+
return this.callBlockExplorerMethod(options);
|
|
182
|
+
case 'v3SerializerCompanion':
|
|
183
|
+
return this.callV3SerializerCompanionMethod(options);
|
|
184
|
+
default:
|
|
185
|
+
assertNever('options', options);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
async callOfflineProtocolMethod(options) {
|
|
189
|
+
const protocol = await this.getOfflineProtocol(options.protocolIdentifier);
|
|
190
|
+
const method = protocol[options.method].bind(protocol);
|
|
191
|
+
return { value: await method(...(options.args ?? [])) };
|
|
192
|
+
}
|
|
193
|
+
async callOnlineProtocolMethod(options) {
|
|
194
|
+
const protocol = await this.getOnlineProtocol(options.protocolIdentifier, options.networkId);
|
|
195
|
+
const method = protocol[options.method].bind(protocol);
|
|
196
|
+
return { value: await method(...(options.args ?? [])) };
|
|
197
|
+
}
|
|
198
|
+
async callBlockExplorerMethod(options) {
|
|
199
|
+
const blockExplorer = await this.getBlockExplorer(options.protocolIdentifier, options.networkId);
|
|
200
|
+
const method = blockExplorer[options.method].bind(blockExplorer);
|
|
201
|
+
return { value: await method(...(options.args ?? [])) };
|
|
202
|
+
}
|
|
203
|
+
async callV3SerializerCompanionMethod(options) {
|
|
204
|
+
const v3SerializerCompanion = await this.getV3SerializerCompanion(options.moduleIdentifier);
|
|
205
|
+
const method = v3SerializerCompanion[options.method].bind(v3SerializerCompanion);
|
|
206
|
+
return { value: await method(...(options.args ?? [])) };
|
|
207
|
+
}
|
|
208
|
+
async getOfflineProtocol(protocolIdentifier) {
|
|
209
|
+
return this.getModuleComponent(protocolIdentifier, undefined, this.offlineProtocols, (module) => module.createOfflineProtocol(protocolIdentifier), (identifier) => this.moduleIndices[identifier]);
|
|
210
|
+
}
|
|
211
|
+
async getOnlineProtocol(protocolIdentifier, networkId) {
|
|
212
|
+
return this.getModuleComponent(protocolIdentifier, networkId, this.onlineProtocols, (module) => module.createOnlineProtocol(protocolIdentifier, networkId), (identifier) => this.moduleIndices[identifier]);
|
|
213
|
+
}
|
|
214
|
+
async getBlockExplorer(protocolIdentifier, networkId) {
|
|
215
|
+
return this.getModuleComponent(protocolIdentifier, networkId, this.blockExplorers, (module) => module.createBlockExplorer(protocolIdentifier, networkId), (identifier) => this.moduleIndices[identifier]);
|
|
216
|
+
}
|
|
217
|
+
async getV3SerializerCompanion(moduleIdentifier) {
|
|
218
|
+
return this.getModuleComponent(moduleIdentifier, undefined, this.v3SerializerCompanions, (module) => module.createV3SerializerCompanion(), (identifier) => parseInt(identifier, 10));
|
|
219
|
+
}
|
|
220
|
+
async getModuleComponent(identifier, networkId, componentCollection, createComponent, identifierToModuleIndex) {
|
|
221
|
+
const protocolKey = this.protocolKey(identifier, networkId);
|
|
222
|
+
if (componentCollection[protocolKey] === undefined) {
|
|
223
|
+
const moduleIndex = identifierToModuleIndex(identifier);
|
|
224
|
+
if (moduleIndex === undefined) {
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
componentCollection[protocolKey] = await createComponent(this.modules[moduleIndex]);
|
|
228
|
+
}
|
|
229
|
+
return componentCollection[protocolKey];
|
|
230
|
+
}
|
|
231
|
+
async batchCallMethod(options) {
|
|
232
|
+
const values = await Promise.all(options.options.map(async (o) => {
|
|
233
|
+
try {
|
|
234
|
+
const { value } = await this.callMethod(o);
|
|
235
|
+
return { type: 'success', value };
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
return { type: 'error', error };
|
|
239
|
+
}
|
|
240
|
+
}));
|
|
241
|
+
return { values };
|
|
242
|
+
}
|
|
243
|
+
protocolKey(identifier, networkId) {
|
|
244
|
+
return networkId ? `${identifier}_${networkId}` : identifier;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWQtbW9kdWxlcy5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NhcGFjaXRvci1wbHVnaW5zL2lzb2xhdGVkLW1vZHVsZXMvaXNvbGF0ZWQtbW9kdWxlcy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLHlDQUF5QztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRS9DLE9BQU8sRUFTTCx1QkFBdUIsRUFDdkIsYUFBYSxFQU9kLE1BQU0sMEJBQTBCLENBQUE7QUFDakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1B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SSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO1FBQ3JGLENBQUM7UUFFRCxPQUFPLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQStCO1FBQzFELE1BQU0sTUFBTSxHQUFrQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzdELE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFvQixFQUF3QyxFQUFFO1lBQ3ZGLElBQUksQ0FBQztnQkFDSCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUUxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQTtZQUNuQyxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQTtZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtRQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRU8sV0FBVyxDQUFDLFVBQWtCLEVBQUUsU0FBa0I7UUFDeEQsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxJQUFJLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7SUFDOUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxpbmVzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtY2xhc3Nlcy1wZXItZmlsZSAqL1xuaW1wb3J0IHsgV2ViUGx1Z2luIH0gZnJvbSAnQGNhcGFjaXRvci9jb3JlJ1xuaW1wb3J0IHsgQWV0ZXJuaXR5TW9kdWxlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9hZXRlcm5pdHknXG5pbXBvcnQgeyBBc3Rhck1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYXN0YXInXG5pbXBvcnQgeyBCaXRjb2luTW9kdWxlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9iaXRjb2luJ1xuaW1wb3J0IHsgQ29zbW9zTW9kdWxlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb3Ntb3MnXG5pbXBvcnQgeyBFdGhlcmV1bU1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvZXRoZXJldW0nXG5pbXBvcnQgeyBHcm9lc3RsY29pbk1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvZ3JvZXN0bGNvaW4nXG5pbXBvcnQgeyBJQ1BNb2R1bGUgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2ljcCdcbmltcG9ydCB7IENvcmV1bU1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29yZXVtJ1xuaW1wb3J0IHsgQWN1cmFzdE1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYWN1cmFzdCdcbmltcG9ydCB7IFN0ZWxsYXJNb2R1bGUgfSBmcm9tICdAd2FsbGZyZWUtZGV2L3N0ZWxsYXInXG5pbXBvcnQgeyBUcm9uTW9kdWxlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi90cm9uJ1xuXG5pbXBvcnQge1xuICBBaXJHYXBBbnlQcm90b2NvbCxcbiAgQWlyR2FwQmxvY2tFeHBsb3JlcixcbiAgQWlyR2FwTW9kdWxlLFxuICBBaXJHYXBPZmZsaW5lUHJvdG9jb2wsXG4gIEFpckdhcE9ubGluZVByb3RvY29sLFxuICBBaXJHYXBWM1NlcmlhbGl6ZXJDb21wYW5pb24sXG4gIEJsb2NrRXhwbG9yZXJNZXRhZGF0YSxcbiAgQ3J5cHRvQ29uZmlndXJhdGlvbixcbiAgaGFzQ29uZmlndXJhYmxlQ29udHJhY3QsXG4gIGlzU3ViUHJvdG9jb2wsXG4gIE9mZmxpbmVQcm90b2NvbENvbmZpZ3VyYXRpb24sXG4gIE9ubGluZVByb3RvY29sQ29uZmlndXJhdGlvbixcbiAgUHJvdG9jb2xDb25maWd1cmF0aW9uLFxuICBQcm90b2NvbE1ldGFkYXRhLFxuICBQcm90b2NvbE5ldHdvcmssXG4gIFN1YlByb3RvY29sVHlwZVxufSBmcm9tICdAd2FsbGZyZWUtZGV2L21vZHVsZS1raXQnXG5pbXBvcnQgeyBNb29uYmVhbU1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvbW9vbmJlYW0nXG5pbXBvcnQgeyBPcHRpbWlzbU1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvb3B0aW1pc20nXG5pbXBvcnQgeyBQb2xrYWRvdE1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvcG9sa2Fkb3QnXG5pbXBvcnQgeyBUZXpvc01vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvdGV6b3MnXG5cbmltcG9ydCB7XG4gIEJhdGNoQ2FsbE1ldGhvZE9wdGlvbnMsXG4gIEJhdGNoQ2FsbE1ldGhvZFJlc3VsdCxcbiAgQmF0Y2hDYWxsTWV0aG9kU2luZ2xlUmVzdWx0LFxuICBCbG9ja0V4cGxvcmVyQ2FsbE1ldGhvZE9wdGlvbnMsXG4gIENhbGxNZXRob2RPcHRpb25zLFxuICBDYWxsTWV0aG9kUmVzdWx0LFxuICBJc29sYXRlZE1vZHVsZXNQbHVnaW4sXG4gIExvYWRBbGxNb2R1bGVzT3B0aW9ucyxcbiAgTG9hZEFsbE1vZHVsZXNSZXN1bHQsXG4gIE9mZmxpbmVQcm90b2NvbENhbGxNZXRob2RPcHRpb25zLFxuICBPbmxpbmVQcm90b2NvbENhbGxNZXRob2RPcHRpb25zLFxuICBQcmV2aWV3RHluYW1pY01vZHVsZU9wdGlvbnMsXG4gIFByZXZpZXdEeW5hbWljTW9kdWxlUmVzdWx0LFxuICBSZWFkQXNzZXRNb2R1bGVPcHRpb25zLFxuICBSZWFkQXNzZXRNb2R1bGVSZXN1bHQsXG4gIFJlYWREeW5hbWljTW9kdWxlT3B0aW9ucyxcbiAgUmVhZER5bmFtaWNNb2R1bGVSZXN1bHQsXG4gIFJlZ2lzdGVyRHluYW1pY01vZHVsZU9wdGlvbnMsXG4gIFJlbW92ZUR5bmFtaWNNb2R1bGVzT3B0aW9ucyxcbiAgVjNTZXJpYWxpemVyQ29tcGFuaW9uQ2FsbE1ldGhvZE9wdGlvbnMsXG4gIFZlcmlmeUR5bmFtaWNNb2R1bGVPcHRpb25zLFxuICBWZXJpZnlEeW5hbWljTW9kdWxlUmVzdWx0XG59IGZyb20gJy4uL2RlZmluaXRpb25zJ1xuaW1wb3J0IHsgZmxhdHRlbmVkIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknXG5pbXBvcnQgeyBhc3NlcnROZXZlciB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJ1xuaW1wb3J0IHsgSXNvbGF0ZWRNb2R1bGUsIElzb2xhdGVkUHJvdG9jb2wgfSBmcm9tICcuLi8uLi90eXBlcy9pc29sYXRlZC1tb2R1bGVzL0lzb2xhdGVkTW9kdWxlJ1xuaW1wb3J0IHsgZ2V0T2ZmbGluZVByb3RvY29sQ29uZmlndXJhdGlvbiwgZ2V0T25saW5lUHJvdG9jb2xDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbW9kdWxlcy9sb2FkLXByb3RvY29sJ1xuXG5leHBvcnQgY2xhc3MgSXNvbGF0ZWRNb2R1bGVzIGV4dGVuZHMgV2ViUGx1Z2luIGltcGxlbWVudHMgSXNvbGF0ZWRNb2R1bGVzUGx1Z2luIHtcbiAgcHJpdmF0ZSByZWFkb25seSBvZmZsaW5lUHJvdG9jb2xzOiBSZWNvcmQ8c3RyaW5nLCBBaXJHYXBPZmZsaW5lUHJvdG9jb2w+ID0ge31cbiAgcHJpdmF0ZSByZWFkb25seSBvbmxpbmVQcm90b2NvbHM6IFJlY29yZDxzdHJpbmcsIEFpckdhcE9ubGluZVByb3RvY29sPiA9IHt9XG4gIHByaXZhdGUgcmVhZG9ubHkgYmxvY2tFeHBsb3JlcnM6IFJlY29yZDxzdHJpbmcsIEFpckdhcEJsb2NrRXhwbG9yZXI+ID0ge31cbiAgcHJpdmF0ZSByZWFkb25seSB2M1NlcmlhbGl6ZXJDb21wYW5pb25zOiBSZWNvcmQ8c3RyaW5nLCBBaXJHYXBWM1NlcmlhbGl6ZXJDb21wYW5pb24+ID0ge31cblxuICBwcml2YXRlIHJlYWRvbmx5IG1vZHVsZUluZGljZXM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kdWxlczogQWlyR2FwTW9kdWxlW10gPSBbXG4gICAgICBuZXcgQml0Y29pbk1vZHVsZSgpLFxuICAgICAgbmV3IEV0aGVyZXVtTW9kdWxlKCksXG4gICAgICBuZXcgVGV6b3NNb2R1bGUoKSxcbiAgICAgIG5ldyBQb2xrYWRvdE1vZHVsZSgpLFxuICAgICAgbmV3IENvc21vc01vZHVsZSgpLFxuICAgICAgbmV3IEFldGVybml0eU1vZHVsZSgpLFxuICAgICAgbmV3IEdyb2VzdGxjb2luTW9kdWxlKCksXG4gICAgICBuZXcgTW9vbmJlYW1Nb2R1bGUoKSxcbiAgICAgIG5ldyBBc3Rhck1vZHVsZSgpLFxuICAgICAgbmV3IElDUE1vZHVsZSgpLFxuICAgICAgbmV3IENvcmV1bU1vZHVsZSgpLFxuICAgICAgbmV3IE9wdGltaXNtTW9kdWxlKCksXG4gICAgICBuZXcgQWN1cmFzdE1vZHVsZSgpLFxuICAgICAgbmV3IFN0ZWxsYXJNb2R1bGUoKSxcbiAgICAgIG5ldyBUcm9uTW9kdWxlKClcbiAgICBdXG4gICkge1xuICAgIHN1cGVyKClcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcmV2aWV3RHluYW1pY01vZHVsZShfb3B0aW9uczogUHJldmlld0R5bmFtaWNNb2R1bGVPcHRpb25zKTogUHJvbWlzZTxQcmV2aWV3RHluYW1pY01vZHVsZVJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignRHluYW1pYyBpc29sYXRlZCBtb2R1bGUgcHJldmlldyBub3Qgc3VwcG9ydGVkIGluIGEgYnJvd3NlcicpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmVyaWZ5RHluYW1pY01vZHVsZShfb3B0aW9uczogVmVyaWZ5RHluYW1pY01vZHVsZU9wdGlvbnMpOiBQcm9taXNlPFZlcmlmeUR5bmFtaWNNb2R1bGVSZXN1bHQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0R5bmFtaWMgaXNvbGF0ZWQgbW9kdWxlIHZlcmlmaWNhdGlvbiBub3Qgc3VwcG9ydGVkIGluIGEgYnJvd3NlcicpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXJEeW5hbWljTW9kdWxlKF9vcHRpb25zOiBSZWdpc3RlckR5bmFtaWNNb2R1bGVPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEeW5hbWljIGlzb2xhdGVkIG1vZHVsZSByZWdpc3RyYXRpb24gbm90IHN1cHBvcnRlZCBpbiBhIGJyb3dzZXInKVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHJlYWREeW5hbWljTW9kdWxlKF9vcHRpb25zOiBSZWFkRHluYW1pY01vZHVsZU9wdGlvbnMpOiBQcm9taXNlPFJlYWREeW5hbWljTW9kdWxlUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEeW5hbWljIGlzb2xhdGVkIG1vZHVsZSByZWFkIG5vdCBzdXBwb3J0ZWQgaW4gYSBicm93c2VyJylcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZW1vdmVEeW5hbWljTW9kdWxlcyhfb3B0aW9uczogUmVtb3ZlRHluYW1pY01vZHVsZXNPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEeW5hbWljIGlzb2xhdGVkIG1vZHVsZSByZW1vdmFsIG5vdCBzdXBwb3J0ZWQgaW4gYSBicm93c2VyJylcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZWFkQXNzZXRNb2R1bGUoX29wdGlvbnM6IFJlYWRBc3NldE1vZHVsZU9wdGlvbnMpOiBQcm9taXNlPFJlYWRBc3NldE1vZHVsZVJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignQXNzZXQgaXNvbGF0ZWQgbW9kdWxlIHJlYWQgbm90IHN1cHBvcnRlZCBpbiBhIGJyb3dzZXInKVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRBbGxNb2R1bGVzKG9wdGlvbnM6IExvYWRBbGxNb2R1bGVzT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxMb2FkQWxsTW9kdWxlc1Jlc3VsdD4ge1xuICAgIGNvbnN0IG1vZHVsZXM6IElzb2xhdGVkTW9kdWxlW10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHRoaXMubW9kdWxlcy5tYXAoKG1vZHVsZTogQWlyR2FwTW9kdWxlLCBpbmRleDogbnVtYmVyKSA9PlxuICAgICAgICB0aGlzLmxvYWRNb2R1bGUobW9kdWxlLCBpbmRleCwgb3B0aW9ucy5wcm90b2NvbFR5cGUsIG5ldyBTZXQob3B0aW9ucy5pZ25vcmVQcm90b2NvbHMgPz8gW10pKVxuICAgICAgKVxuICAgIClcblxuICAgIHJldHVybiB7IG1vZHVsZXMgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkTW9kdWxlKFxuICAgIG1vZHVsZTogQWlyR2FwTW9kdWxlLFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgcHJvdG9jb2xUeXBlOiBQcm90b2NvbENvbmZpZ3VyYXRpb25bJ3R5cGUnXSB8IHVuZGVmaW5lZCxcbiAgICBpZ25vcmVQcm90b2NvbHM6IFNldDxzdHJpbmc+XG4gICk6IFByb21pc2U8SXNvbGF0ZWRNb2R1bGU+IHtcbiAgICBjb25zdCBtb2R1bGVJZGVudGlmaWVyOiBzdHJpbmcgPSBpbmRleC50b1N0cmluZygpXG4gICAgY29uc3QgdjNTZXJpYWxpemVyQ29tcGFuaW9uOiBBaXJHYXBWM1NlcmlhbGl6ZXJDb21wYW5pb24gPSBhd2FpdCBtb2R1bGUuY3JlYXRlVjNTZXJpYWxpemVyQ29tcGFuaW9uKClcblxuICAgIHRoaXMudjNTZXJpYWxpemVyQ29tcGFuaW9uc1ttb2R1bGVJZGVudGlmaWVyXSA9IHYzU2VyaWFsaXplckNvbXBhbmlvblxuXG4gICAgY29uc3QgcHJvdG9jb2xzOiBJc29sYXRlZFByb3RvY29sW11bXSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgT2JqZWN0LmVudHJpZXMobW9kdWxlLnN1cHBvcnRlZFByb3RvY29scylcbiAgICAgICAgLmZpbHRlcigoW2lkZW50aWZpZXIsIF9dKSA9PiAhaWdub3JlUHJvdG9jb2xzLmhhcyhpZGVudGlmaWVyKSlcbiAgICAgICAgLm1hcCgoW2lkZW50aWZpZXIsIGNvbmZpZ3VyYXRpb25dOiBbc3RyaW5nLCBQcm90b2NvbENvbmZpZ3VyYXRpb25dKSA9PlxuICAgICAgICAgIHRoaXMubG9hZE1vZHVsZVByb3RvY29scyhtb2R1bGUsIGluZGV4LCBpZGVudGlmaWVyLCBjb25maWd1cmF0aW9uLCBwcm90b2NvbFR5cGUpXG4gICAgICAgIClcbiAgICApXG5cbiAgICByZXR1cm4ge1xuICAgICAgaWRlbnRpZmllcjogbW9kdWxlSWRlbnRpZmllcixcbiAgICAgIHR5cGU6ICdzdGF0aWMnLFxuICAgICAgcHJvdG9jb2xzOiBmbGF0dGVuZWQocHJvdG9jb2xzKSxcbiAgICAgIHYzU2NoZW1hQ29uZmlndXJhdGlvbnM6IHYzU2VyaWFsaXplckNvbXBhbmlvbi5zY2hlbWFzXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkTW9kdWxlUHJvdG9jb2xzKFxuICAgIG1vZHVsZTogQWlyR2FwTW9kdWxlLFxuICAgIG1vZHVsZUluZGV4OiBudW1iZXIsXG4gICAgaWRlbnRpZmllcjogc3RyaW5nLFxuICAgIGNvbmZpZ3VyYXRpb246IFByb3RvY29sQ29uZmlndXJhdGlvbixcbiAgICBwcm90b2NvbFR5cGU/OiBQcm90b2NvbENvbmZpZ3VyYXRpb25bJ3R5cGUnXVxuICApOiBQcm9taXNlPElzb2xhdGVkUHJvdG9jb2xbXT4ge1xuICAgIGNvbnN0IG9mZmxpbmVDb25maWd1cmF0aW9uOiBPZmZsaW5lUHJvdG9jb2xDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkID0gZ2V0T2ZmbGluZVByb3RvY29sQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uLCBwcm90b2NvbFR5cGUpXG4gICAgY29uc3Qgb25saW5lQ29uZmlndXJhdGlvbjogT25saW5lUHJvdG9jb2xDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkID0gZ2V0T25saW5lUHJvdG9jb2xDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24sIHByb3RvY29sVHlwZSlcblxuICAgIGNvbnN0IFtvZmZsaW5lUHJvdG9jb2xzLCBvbmxpbmVQcm90b2NvbHNdOiBbSXNvbGF0ZWRQcm90b2NvbFtdLCBJc29sYXRlZFByb3RvY29sW11dID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgb2ZmbGluZUNvbmZpZ3VyYXRpb24gPyB0aGlzLmxvYWRPZmZsaW5lUHJvdG9jb2xzKG1vZHVsZSwgbW9kdWxlSW5kZXgsIGlkZW50aWZpZXIsIG9mZmxpbmVDb25maWd1cmF0aW9uKSA6IFByb21pc2UucmVzb2x2ZShbXSksXG4gICAgICBvbmxpbmVDb25maWd1cmF0aW9uID8gdGhpcy5sb2FkT25saW5lUHJvdG9jb2xzKG1vZHVsZSwgbW9kdWxlSW5kZXgsIGlkZW50aWZpZXIsIG9ubGluZUNvbmZpZ3VyYXRpb24pIDogUHJvbWlzZS5yZXNvbHZlKFtdKVxuICAgIF0pXG5cbiAgICByZXR1cm4gb2ZmbGluZVByb3RvY29scy5jb25jYXQob25saW5lUHJvdG9jb2xzKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkT2ZmbGluZVByb3RvY29scyhcbiAgICBtb2R1bGU6IEFpckdhcE1vZHVsZSxcbiAgICBtb2R1bGVJbmRleDogbnVtYmVyLFxuICAgIGlkZW50aWZpZXI6IHN0cmluZyxcbiAgICBfY29uZmlndXJhdGlvbjogT2ZmbGluZVByb3RvY29sQ29uZmlndXJhdGlvblxuICApOiBQcm9taXNlPElzb2xhdGVkUHJvdG9jb2xbXT4ge1xuICAgIGNvbnN0IHByb3RvY29sOiBBaXJHYXBPZmZsaW5lUHJvdG9jb2wgfCB1bmRlZmluZWQgPSBhd2FpdCBtb2R1bGUuY3JlYXRlT2ZmbGluZVByb3RvY29sKGlkZW50aWZpZXIpXG4gICAgaWYgKHByb3RvY29sID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cblxuICAgIHRoaXMubW9kdWxlSW5kaWNlc1tpZGVudGlmaWVyXSA9IG1vZHVsZUluZGV4XG4gICAgdGhpcy5vZmZsaW5lUHJvdG9jb2xzW3RoaXMucHJvdG9jb2xLZXkoaWRlbnRpZmllcildID0gcHJvdG9jb2xcblxuICAgIGNvbnN0IGNyeXB0bzogQ3J5cHRvQ29uZmlndXJhdGlvbiA9IGF3YWl0IHByb3RvY29sLmdldENyeXB0b0NvbmZpZ3VyYXRpb24oKVxuXG4gICAgcmV0dXJuIFthd2FpdCB0aGlzLmdldElzb2xhdGVkUHJvdG9jb2xDb25maWd1cmF0aW9uKHByb3RvY29sLCAnb2ZmbGluZScsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjcnlwdG8pXVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkT25saW5lUHJvdG9jb2xzKFxuICAgIG1vZHVsZTogQWlyR2FwTW9kdWxlLFxuICAgIG1vZHVsZUluZGV4OiBudW1iZXIsXG4gICAgaWRlbnRpZmllcjogc3RyaW5nLFxuICAgIGNvbmZpZ3VyYXRpb246IE9ubGluZVByb3RvY29sQ29uZmlndXJhdGlvblxuICApOiBQcm9taXNlPElzb2xhdGVkUHJvdG9jb2xbXT4ge1xuICAgIGNvbnN0IHByb3RvY29sczogKElzb2xhdGVkUHJvdG9jb2wgfCB1bmRlZmluZWQpW10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIE9iamVjdC5lbnRyaWVzKGNvbmZpZ3VyYXRpb24ubmV0d29ya3MpLm1hcChhc3luYyAoW25ldHdvcmtJZCwgX106IFtzdHJpbmcsIFByb3RvY29sTmV0d29ya10pID0+IHtcbiAgICAgICAgY29uc3QgW3Byb3RvY29sLCBibG9ja0V4cGxvcmVyXTogW0FpckdhcE9ubGluZVByb3RvY29sIHwgdW5kZWZpbmVkLCBBaXJHYXBCbG9ja0V4cGxvcmVyIHwgdW5kZWZpbmVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICBtb2R1bGUuY3JlYXRlT25saW5lUHJvdG9jb2woaWRlbnRpZmllciwgbmV0d29ya0lkKSxcbiAgICAgICAgICBtb2R1bGUuY3JlYXRlQmxvY2tFeHBsb3JlcihpZGVudGlmaWVyLCBuZXR3b3JrSWQpXG4gICAgICAgIF0pXG4gICAgICAgIGlmIChwcm90b2NvbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tb2R1bGVJbmRpY2VzW2lkZW50aWZpZXJdID0gbW9kdWxlSW5kZXhcbiAgICAgICAgdGhpcy5vbmxpbmVQcm90b2NvbHNbdGhpcy5wcm90b2NvbEtleShpZGVudGlmaWVyLCBuZXR3b3JrSWQpXSA9IHByb3RvY29sXG5cbiAgICAgICAgaWYgKGJsb2NrRXhwbG9yZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMuYmxvY2tFeHBsb3JlcnNbdGhpcy5wcm90b2NvbEtleShpZGVudGlmaWVyLCBuZXR3b3JrSWQpXSA9IGJsb2NrRXhwbG9yZXJcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtuZXR3b3JrLCBibG9ja0V4cGxvcmVyTWV0YWRhdGFdOiBbUHJvdG9jb2xOZXR3b3JrLCBCbG9ja0V4cGxvcmVyTWV0YWRhdGEgfCB1bmRlZmluZWRdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgIHByb3RvY29sLmdldE5ldHdvcmsoKSxcbiAgICAgICAgICBibG9ja0V4cGxvcmVyPy5nZXRNZXRhZGF0YSgpID8/IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpXG4gICAgICAgIF0pXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SXNvbGF0ZWRQcm90b2NvbENvbmZpZ3VyYXRpb24ocHJvdG9jb2wsICdvbmxpbmUnLCBibG9ja0V4cGxvcmVyTWV0YWRhdGEsIG5ldHdvcmspXG4gICAgICB9KVxuICAgIClcblxuICAgIHJldHVybiBwcm90b2NvbHMuZmlsdGVyKChwcm90b2NvbDogSXNvbGF0ZWRQcm90b2NvbCB8IHVuZGVmaW5lZCkgPT4gcHJvdG9jb2wgIT09IHVuZGVmaW5lZClcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0SXNvbGF0ZWRQcm90b2NvbENvbmZpZ3VyYXRpb24oXG4gICAgcHJvdG9jb2w6IEFpckdhcEFueVByb3RvY29sLFxuICAgIG1vZGU6IElzb2xhdGVkUHJvdG9jb2xbJ21vZGUnXSxcbiAgICBibG9ja0V4cGxvcmVyTWV0YWRhdGE/OiBCbG9ja0V4cGxvcmVyTWV0YWRhdGEsXG4gICAgbmV0d29yaz86IFByb3RvY29sTmV0d29yayxcbiAgICBjcnlwdG8/OiBDcnlwdG9Db25maWd1cmF0aW9uXG4gICk6IFByb21pc2U8SXNvbGF0ZWRQcm90b2NvbD4ge1xuICAgIGNvbnN0IHByb3RvY29sTWV0YWRhdGE6IFByb3RvY29sTWV0YWRhdGEgPSBhd2FpdCBwcm90b2NvbC5nZXRNZXRhZGF0YSgpXG5cbiAgICBjb25zdCBjb25maWd1cmF0aW9uOiBPbWl0PElzb2xhdGVkUHJvdG9jb2wsICd0eXBlJz4gPSB7XG4gICAgICBtb2RlLFxuICAgICAgaWRlbnRpZmllcjogcHJvdG9jb2xNZXRhZGF0YS5pZGVudGlmaWVyLFxuICAgICAgcHJvdG9jb2xNZXRhZGF0YSxcbiAgICAgIGJsb2NrRXhwbG9yZXJNZXRhZGF0YTogYmxvY2tFeHBsb3Jlck1ldGFkYXRhID8/IG51bGwsXG4gICAgICBuZXR3b3JrOiBuZXR3b3JrID8/IG51bGwsXG4gICAgICBtZXRob2RzOiB0aGlzLmNvbGxlY3RNZXRob2RzKHByb3RvY29sKSxcbiAgICAgIGNhY2hlZFZhbHVlczoge1xuICAgICAgICBnZXRDcnlwdG9Db25maWd1cmF0aW9uOiBjcnlwdG9cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNTdWJQcm90b2NvbChwcm90b2NvbCkpIHtcbiAgICAgIGNvbnN0IFtzdWJUeXBlLCBtYWluUHJvdG9jb2wsIGNvbnRyYWN0QWRkcmVzc106IFtTdWJQcm90b2NvbFR5cGUsIHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgcHJvdG9jb2wuZ2V0VHlwZSgpLFxuICAgICAgICBwcm90b2NvbC5tYWluUHJvdG9jb2woKSxcbiAgICAgICAgaGFzQ29uZmlndXJhYmxlQ29udHJhY3QocHJvdG9jb2wpID8gcHJvdG9jb2wuZ2V0Q29udHJhY3RBZGRyZXNzKCkgOiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKVxuICAgICAgXSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbixcbiAgICAgICAgdHlwZTogJ3N1YicsXG4gICAgICAgIGNhY2hlZFZhbHVlczogT2JqZWN0LmFzc2lnbihjb25maWd1cmF0aW9uLmNhY2hlZFZhbHVlcywge1xuICAgICAgICAgIGdldFR5cGU6IHN1YlR5cGUsXG4gICAgICAgICAgbWFpblByb3RvY29sLFxuICAgICAgICAgIGdldENvbnRyYWN0QWRkcmVzczogY29udHJhY3RBZGRyZXNzXG4gICAgICAgIH0pLFxuICAgICAgICBzdWJUeXBlLFxuICAgICAgICBtYWluUHJvdG9jb2xJZGVudGlmaWVyOiBtYWluUHJvdG9jb2wsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogY29udHJhY3RBZGRyZXNzID8/IG51bGxcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbixcbiAgICAgICAgdHlwZTogJ21haW4nXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0TWV0aG9kcyhwcm90b2NvbDogQWlyR2FwQW55UHJvdG9jb2wpOiBzdHJpbmdbXSB7XG4gICAgbGV0IHByb3BlcnR5TmFtZXM6IHN0cmluZ1tdID0gW11cbiAgICBsZXQgb2JqID0gcHJvdG9jb2xcbiAgICB3aGlsZSAob2JqKSB7XG4gICAgICBwcm9wZXJ0eU5hbWVzID0gcHJvcGVydHlOYW1lcy5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKSlcbiAgICAgIG9iaiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopXG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5TmFtZXMuZmlsdGVyKChrZXk6IHN0cmluZykgPT4gdHlwZW9mIHByb3RvY29sW2tleV0gPT09ICdmdW5jdGlvbicpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2FsbE1ldGhvZChvcHRpb25zOiBDYWxsTWV0aG9kT3B0aW9ucyk6IFByb21pc2U8Q2FsbE1ldGhvZFJlc3VsdD4ge1xuICAgIHN3aXRjaCAob3B0aW9ucy50YXJnZXQpIHtcbiAgICAgIGNhc2UgJ29mZmxpbmVQcm90b2NvbCc6XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxPZmZsaW5lUHJvdG9jb2xNZXRob2Qob3B0aW9ucylcbiAgICAgIGNhc2UgJ29ubGluZVByb3RvY29sJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbE9ubGluZVByb3RvY29sTWV0aG9kKG9wdGlvbnMpXG4gICAgICBjYXNlICdibG9ja0V4cGxvcmVyJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEJsb2NrRXhwbG9yZXJNZXRob2Qob3B0aW9ucylcbiAgICAgIGNhc2UgJ3YzU2VyaWFsaXplckNvbXBhbmlvbic6XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxWM1NlcmlhbGl6ZXJDb21wYW5pb25NZXRob2Qob3B0aW9ucylcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFzc2VydE5ldmVyKCdvcHRpb25zJywgb3B0aW9ucylcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNhbGxPZmZsaW5lUHJvdG9jb2xNZXRob2Qob3B0aW9uczogT2ZmbGluZVByb3RvY29sQ2FsbE1ldGhvZE9wdGlvbnMpOiBQcm9taXNlPENhbGxNZXRob2RSZXN1bHQ+IHtcbiAgICBjb25zdCBwcm90b2NvbDogQWlyR2FwT2ZmbGluZVByb3RvY29sID0gYXdhaXQgdGhpcy5nZXRPZmZsaW5lUHJvdG9jb2wob3B0aW9ucy5wcm90b2NvbElkZW50aWZpZXIpXG4gICAgY29uc3QgbWV0aG9kID0gcHJvdG9jb2xbb3B0aW9ucy5tZXRob2RdLmJpbmQocHJvdG9jb2wpXG5cbiAgICByZXR1cm4geyB2YWx1ZTogYXdhaXQgbWV0aG9kKC4uLihvcHRpb25zLmFyZ3MgPz8gW10pKSB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNhbGxPbmxpbmVQcm90b2NvbE1ldGhvZChvcHRpb25zOiBPbmxpbmVQcm90b2NvbENhbGxNZXRob2RPcHRpb25zKTogUHJvbWlzZTxDYWxsTWV0aG9kUmVzdWx0PiB7XG4gICAgY29uc3QgcHJvdG9jb2w6IEFpckdhcE9ubGluZVByb3RvY29sID0gYXdhaXQgdGhpcy5nZXRPbmxpbmVQcm90b2NvbChvcHRpb25zLnByb3RvY29sSWRlbnRpZmllciwgb3B0aW9ucy5uZXR3b3JrSWQpXG4gICAgY29uc3QgbWV0aG9kID0gcHJvdG9jb2xbb3B0aW9ucy5tZXRob2RdLmJpbmQocHJvdG9jb2wpXG5cbiAgICByZXR1cm4geyB2YWx1ZTogYXdhaXQgbWV0aG9kKC4uLihvcHRpb25zLmFyZ3MgPz8gW10pKSB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNhbGxCbG9ja0V4cGxvcmVyTWV0aG9kKG9wdGlvbnM6IEJsb2NrRXhwbG9yZXJDYWxsTWV0aG9kT3B0aW9ucyk6IFByb21pc2U8Q2FsbE1ldGhvZFJlc3VsdD4ge1xuICAgIGNvbnN0IGJsb2NrRXhwbG9yZXI6IEFpckdhcEJsb2NrRXhwbG9yZXIgPSBhd2FpdCB0aGlzLmdldEJsb2NrRXhwbG9yZXIob3B0aW9ucy5wcm90b2NvbElkZW50aWZpZXIsIG9wdGlvbnMubmV0d29ya0lkKVxuICAgIGNvbnN0IG1ldGhvZCA9IGJsb2NrRXhwbG9yZXJbb3B0aW9ucy5tZXRob2RdLmJpbmQoYmxvY2tFeHBsb3JlcilcblxuICAgIHJldHVybiB7IHZhbHVlOiBhd2FpdCBtZXRob2QoLi4uKG9wdGlvbnMuYXJncyA/PyBbXSkpIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2FsbFYzU2VyaWFsaXplckNvbXBhbmlvbk1ldGhvZChvcHRpb25zOiBWM1NlcmlhbGl6ZXJDb21wYW5pb25DYWxsTWV0aG9kT3B0aW9ucyk6IFByb21pc2U8Q2FsbE1ldGhvZFJlc3VsdD4ge1xuICAgIGNvbnN0IHYzU2VyaWFsaXplckNvbXBhbmlvbjogQWlyR2FwVjNTZXJpYWxpemVyQ29tcGFuaW9uID0gYXdhaXQgdGhpcy5nZXRWM1NlcmlhbGl6ZXJDb21wYW5pb24ob3B0aW9ucy5tb2R1bGVJZGVudGlmaWVyKVxuICAgIGNvbnN0IG1ldGhvZCA9IHYzU2VyaWFsaXplckNvbXBhbmlvbltvcHRpb25zLm1ldGhvZF0uYmluZCh2M1NlcmlhbGl6ZXJDb21wYW5pb24pXG5cbiAgICByZXR1cm4geyB2YWx1ZTogYXdhaXQgbWV0aG9kKC4uLihvcHRpb25zLmFyZ3MgPz8gW10pKSB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldE9mZmxpbmVQcm90b2NvbChwcm90b2NvbElkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8QWlyR2FwT2ZmbGluZVByb3RvY29sIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TW9kdWxlQ29tcG9uZW50KFxuICAgICAgcHJvdG9jb2xJZGVudGlmaWVyLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5vZmZsaW5lUHJvdG9jb2xzLFxuICAgICAgKG1vZHVsZTogQWlyR2FwTW9kdWxlKSA9PiBtb2R1bGUuY3JlYXRlT2ZmbGluZVByb3RvY29sKHByb3RvY29sSWRlbnRpZmllciksXG4gICAgICAoaWRlbnRpZmllcjogc3RyaW5nKSA9PiB0aGlzLm1vZHVsZUluZGljZXNbaWRlbnRpZmllcl1cbiAgICApXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldE9ubGluZVByb3RvY29sKHByb3RvY29sSWRlbnRpZmllcjogc3RyaW5nLCBuZXR3b3JrSWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFpckdhcE9ubGluZVByb3RvY29sIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TW9kdWxlQ29tcG9uZW50KFxuICAgICAgcHJvdG9jb2xJZGVudGlmaWVyLFxuICAgICAgbmV0d29ya0lkLFxuICAgICAgdGhpcy5vbmxpbmVQcm90b2NvbHMsXG4gICAgICAobW9kdWxlOiBBaXJHYXBNb2R1bGUpID0+IG1vZHVsZS5jcmVhdGVPbmxpbmVQcm90b2NvbChwcm90b2NvbElkZW50aWZpZXIsIG5ldHdvcmtJZCksXG4gICAgICAoaWRlbnRpZmllcjogc3RyaW5nKSA9PiB0aGlzLm1vZHVsZUluZGljZXNbaWRlbnRpZmllcl1cbiAgICApXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEJsb2NrRXhwbG9yZXIocHJvdG9jb2xJZGVudGlmaWVyOiBzdHJpbmcsIG5ldHdvcmtJZD86IHN0cmluZyk6IFByb21pc2U8QWlyR2FwQmxvY2tFeHBsb3JlciB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmdldE1vZHVsZUNvbXBvbmVudChcbiAgICAgIHByb3RvY29sSWRlbnRpZmllcixcbiAgICAgIG5ldHdvcmtJZCxcbiAgICAgIHRoaXMuYmxvY2tFeHBsb3JlcnMsXG4gICAgICAobW9kdWxlOiBBaXJHYXBNb2R1bGUpID0+IG1vZHVsZS5jcmVhdGVCbG9ja0V4cGxvcmVyKHByb3RvY29sSWRlbnRpZmllciwgbmV0d29ya0lkKSxcbiAgICAgIChpZGVudGlmaWVyOiBzdHJpbmcpID0+IHRoaXMubW9kdWxlSW5kaWNlc1tpZGVudGlmaWVyXVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0VjNTZXJpYWxpemVyQ29tcGFuaW9uKG1vZHVsZUlkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8QWlyR2FwVjNTZXJpYWxpemVyQ29tcGFuaW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TW9kdWxlQ29tcG9uZW50KFxuICAgICAgbW9kdWxlSWRlbnRpZmllcixcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMudjNTZXJpYWxpemVyQ29tcGFuaW9ucyxcbiAgICAgIChtb2R1bGU6IEFpckdhcE1vZHVsZSkgPT4gbW9kdWxlLmNyZWF0ZVYzU2VyaWFsaXplckNvbXBhbmlvbigpLFxuICAgICAgKGlkZW50aWZpZXI6IHN0cmluZykgPT4gcGFyc2VJbnQoaWRlbnRpZmllciwgMTApXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRNb2R1bGVDb21wb25lbnQ8VD4oXG4gICAgaWRlbnRpZmllcjogc3RyaW5nLFxuICAgIG5ldHdvcmtJZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbXBvbmVudENvbGxlY3Rpb246IFJlY29yZDxzdHJpbmcsIFQ+LFxuICAgIGNyZWF0ZUNvbXBvbmVudDogKG1vZHVsZTogQWlyR2FwTW9kdWxlKSA9PiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+LFxuICAgIGlkZW50aWZpZXJUb01vZHVsZUluZGV4OiAoaWQ6IHN0cmluZykgPT4gbnVtYmVyIHwgdW5kZWZpbmVkXG4gICk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHByb3RvY29sS2V5OiBzdHJpbmcgPSB0aGlzLnByb3RvY29sS2V5KGlkZW50aWZpZXIsIG5ldHdvcmtJZClcbiAgICBpZiAoY29tcG9uZW50Q29sbGVjdGlvbltwcm90b2NvbEtleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgbW9kdWxlSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCA9IGlkZW50aWZpZXJUb01vZHVsZUluZGV4KGlkZW50aWZpZXIpXG4gICAgICBpZiAobW9kdWxlSW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudENvbGxlY3Rpb25bcHJvdG9jb2xLZXldID0gYXdhaXQgY3JlYXRlQ29tcG9uZW50KHRoaXMubW9kdWxlc1ttb2R1bGVJbmRleF0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudENvbGxlY3Rpb25bcHJvdG9jb2xLZXldXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYmF0Y2hDYWxsTWV0aG9kKG9wdGlvbnM6IEJhdGNoQ2FsbE1ldGhvZE9wdGlvbnMpOiBQcm9taXNlPEJhdGNoQ2FsbE1ldGhvZFJlc3VsdD4ge1xuICAgIGNvbnN0IHZhbHVlczogQmF0Y2hDYWxsTWV0aG9kU2luZ2xlUmVzdWx0W10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIG9wdGlvbnMub3B0aW9ucy5tYXAoYXN5bmMgKG86IENhbGxNZXRob2RPcHRpb25zKTogUHJvbWlzZTxCYXRjaENhbGxNZXRob2RTaW5nbGVSZXN1bHQ+ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBhd2FpdCB0aGlzLmNhbGxNZXRob2QobylcblxuICAgICAgICAgIHJldHVybiB7IHR5cGU6ICdzdWNjZXNzJywgdmFsdWUgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHJldHVybiB7IHR5cGU6ICdlcnJvcicsIGVycm9yIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG5cbiAgICByZXR1cm4geyB2YWx1ZXMgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm90b2NvbEtleShpZGVudGlmaWVyOiBzdHJpbmcsIG5ldHdvcmtJZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldHdvcmtJZCA/IGAke2lkZW50aWZpZXJ9XyR7bmV0d29ya0lkfWAgOiBpZGVudGlmaWVyXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@ionic/angular";
|
|
5
|
+
import * as i3 from "../identicon/identicon.component";
|
|
6
|
+
import * as i4 from "../currency-symbol/currency-symbol.component";
|
|
7
|
+
export class AccountItemComponent {
|
|
8
|
+
async ngOnChanges(_changes) {
|
|
9
|
+
this.address = this.wallet?.receivingPublicAddress;
|
|
10
|
+
const [protocolSymbol, protocolIdentifier, protocolName] = await Promise.all([
|
|
11
|
+
this.wallet?.protocol.getSymbol() ?? Promise.resolve(undefined),
|
|
12
|
+
this.wallet?.protocol.getIdentifier() ?? Promise.resolve(undefined),
|
|
13
|
+
this.wallet?.protocol.getName() ?? Promise.resolve(undefined)
|
|
14
|
+
]);
|
|
15
|
+
this.protocolSymbol = protocolSymbol;
|
|
16
|
+
this.protocolIdentifier = protocolIdentifier;
|
|
17
|
+
this.protocolName = protocolName;
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AccountItemComponent, selector: "airgap-account-item", inputs: { wallet: "wallet", label: "label" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"address && protocolSymbol && protocolIdentifier && protocolName\">\n <ion-item lines=\"none\" class=\"ion-no-padding\">\n <ion-avatar slot=\"start\">\n <airgap-identicon [address]=\"address\"></airgap-identicon>\n <airgap-currency-symbol [symbol]=\"protocolSymbol\" [protocolIdentifier]=\"protocolIdentifier\"></airgap-currency-symbol>\n </ion-avatar>\n <ion-label>\n <div style=\"display: flex; justify-content: space-between; align-items: center\">\n <h2>\n <span class=\"font--weight__med\">{{ protocolName }}</span>\n {{ protocolSymbol }}\n </h2>\n <p>{{ label }}</p>\n </div>\n <p class=\"typography--mono\">{{ wallet.receivingPublicAddress }}</p>\n </ion-label>\n </ion-item>\n</ng-container>\n", styles: ["airgap-currency-symbol{position:absolute;left:24px;top:32px;height:24px;width:24px}airgap-identicon,airgap-identicon img{height:40px;width:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonAvatar, selector: "ion-avatar" }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IdenticonComponent, selector: "airgap-identicon", inputs: ["address"] }, { kind: "component", type: i4.CurrencySymbolComponent, selector: "airgap-currency-symbol", inputs: ["symbol", "protocolIdentifier"] }] }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountItemComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'airgap-account-item', template: "<ng-container *ngIf=\"address && protocolSymbol && protocolIdentifier && protocolName\">\n <ion-item lines=\"none\" class=\"ion-no-padding\">\n <ion-avatar slot=\"start\">\n <airgap-identicon [address]=\"address\"></airgap-identicon>\n <airgap-currency-symbol [symbol]=\"protocolSymbol\" [protocolIdentifier]=\"protocolIdentifier\"></airgap-currency-symbol>\n </ion-avatar>\n <ion-label>\n <div style=\"display: flex; justify-content: space-between; align-items: center\">\n <h2>\n <span class=\"font--weight__med\">{{ protocolName }}</span>\n {{ protocolSymbol }}\n </h2>\n <p>{{ label }}</p>\n </div>\n <p class=\"typography--mono\">{{ wallet.receivingPublicAddress }}</p>\n </ion-label>\n </ion-item>\n</ng-container>\n", styles: ["airgap-currency-symbol{position:absolute;left:24px;top:32px;height:24px;width:24px}airgap-identicon,airgap-identicon img{height:40px;width:40px}\n"] }]
|
|
25
|
+
}], propDecorators: { wallet: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], label: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}] } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWl0ZW0vYWNjb3VudC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWl0ZW0vYWNjb3VudC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQTs7Ozs7O0FBUTFFLE1BQU0sT0FBTyxvQkFBb0I7SUFheEIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUF1QjtRQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQUE7UUFFbEQsTUFBTSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLENBQUMsR0FBc0MsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzlHLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQy9ELElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQ25FLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQzlELENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQTtRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQTtJQUNsQyxDQUFDOytHQXpCVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw4SENSakMsa3lCQWtCQTs7NEZEVmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLHFCQUFxQjs4QkFNeEIsTUFBTTtzQkFEWixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBaXJHYXBXYWxsZXQsIFByb3RvY29sU3ltYm9scyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhaXJnYXAtYWNjb3VudC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY291bnQtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY291bnQtaXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgcHVibGljIHdhbGxldDogQWlyR2FwV2FsbGV0IHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBwdWJsaWMgYWRkcmVzczogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgcHVibGljIHByb3RvY29sU3ltYm9sOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcHVibGljIHByb3RvY29sSWRlbnRpZmllcjogUHJvdG9jb2xTeW1ib2xzIHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBwcm90b2NvbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIHB1YmxpYyBhc3luYyBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYWRkcmVzcyA9IHRoaXMud2FsbGV0Py5yZWNlaXZpbmdQdWJsaWNBZGRyZXNzXG5cbiAgICBjb25zdCBbcHJvdG9jb2xTeW1ib2wsIHByb3RvY29sSWRlbnRpZmllciwgcHJvdG9jb2xOYW1lXTogW3N0cmluZywgUHJvdG9jb2xTeW1ib2xzLCBzdHJpbmddID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgdGhpcy53YWxsZXQ/LnByb3RvY29sLmdldFN5bWJvbCgpID8/IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpLFxuICAgICAgdGhpcy53YWxsZXQ/LnByb3RvY29sLmdldElkZW50aWZpZXIoKSA/PyBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKSxcbiAgICAgIHRoaXMud2FsbGV0Py5wcm90b2NvbC5nZXROYW1lKCkgPz8gUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZClcbiAgICBdKVxuXG4gICAgdGhpcy5wcm90b2NvbFN5bWJvbCA9IHByb3RvY29sU3ltYm9sXG4gICAgdGhpcy5wcm90b2NvbElkZW50aWZpZXIgPSBwcm90b2NvbElkZW50aWZpZXJcbiAgICB0aGlzLnByb3RvY29sTmFtZSA9IHByb3RvY29sTmFtZVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWRkcmVzcyAmJiBwcm90b2NvbFN5bWJvbCAmJiBwcm90b2NvbElkZW50aWZpZXIgJiYgcHJvdG9jb2xOYW1lXCI+XG4gIDxpb24taXRlbSBsaW5lcz1cIm5vbmVcIiBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgPGlvbi1hdmF0YXIgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8YWlyZ2FwLWlkZW50aWNvbiBbYWRkcmVzc109XCJhZGRyZXNzXCI+PC9haXJnYXAtaWRlbnRpY29uPlxuICAgICAgPGFpcmdhcC1jdXJyZW5jeS1zeW1ib2wgW3N5bWJvbF09XCJwcm90b2NvbFN5bWJvbFwiIFtwcm90b2NvbElkZW50aWZpZXJdPVwicHJvdG9jb2xJZGVudGlmaWVyXCI+PC9haXJnYXAtY3VycmVuY3ktc3ltYm9sPlxuICAgIDwvaW9uLWF2YXRhcj5cbiAgICA8aW9uLWxhYmVsPlxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxuICAgICAgICA8aDI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LS13ZWlnaHRfX21lZFwiPnt7IHByb3RvY29sTmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICB7eyBwcm90b2NvbFN5bWJvbCB9fVxuICAgICAgICA8L2gyPlxuICAgICAgICA8cD57eyBsYWJlbCB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPHAgY2xhc3M9XCJ0eXBvZ3JhcGh5LS1tb25vXCI+e3sgd2FsbGV0LnJlY2VpdmluZ1B1YmxpY0FkZHJlc3MgfX08L3A+XG4gICAgPC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Component, Input, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@ionic/angular";
|
|
5
|
+
import * as i3 from "../account-item/account-item.component";
|
|
6
|
+
export class AccountSelectionComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.walletSetEmitter = new EventEmitter();
|
|
9
|
+
this.dismissEmitter = new EventEmitter();
|
|
10
|
+
this.filteredWallets = [];
|
|
11
|
+
}
|
|
12
|
+
ngOnChanges(changes) {
|
|
13
|
+
if (changes.wallets && changes.wallets.currentValue) {
|
|
14
|
+
// Handle when wallets input changes or is set initially
|
|
15
|
+
this.filteredWallets = [...this.wallets];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
filterItems(event) {
|
|
19
|
+
const value = this.isInputElement(event.target) ? event.target.value : undefined;
|
|
20
|
+
this.symbolFilter = this.isValidFilterQuery(value) ? value.trim().toLowerCase() : undefined;
|
|
21
|
+
}
|
|
22
|
+
filterWallet(event) {
|
|
23
|
+
const value = this.isInputElement(event.target) ? event.target.value : undefined;
|
|
24
|
+
this.filteredWallets = this.isValidFilterQuery(value)
|
|
25
|
+
? this.wallets?.filter((wallet) => wallet.label?.trim().toLowerCase().startsWith(value.trim().toLowerCase())) || []
|
|
26
|
+
: this.wallets
|
|
27
|
+
? [...this.wallets]
|
|
28
|
+
: [];
|
|
29
|
+
}
|
|
30
|
+
selectAccount(wallet) {
|
|
31
|
+
this.walletSetEmitter.emit(wallet);
|
|
32
|
+
}
|
|
33
|
+
dismiss() {
|
|
34
|
+
this.dismissEmitter.emit();
|
|
35
|
+
}
|
|
36
|
+
isInputElement(target) {
|
|
37
|
+
return target !== null && 'value' in target;
|
|
38
|
+
}
|
|
39
|
+
isValidFilterQuery(data) {
|
|
40
|
+
return typeof data === 'string' && data.length > 0;
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AccountSelectionComponent, selector: "airgap-account-selection", inputs: { title: "title", heading: "heading", placeholder: "placeholder", wallets: "wallets" }, outputs: { walletSetEmitter: "walletSetEmitter", dismissEmitter: "dismissEmitter" }, usesOnChanges: true, ngImport: i0, template: "<ion-header class=\"ion-no-border\">\n <ion-grid fixed=\"true\" class=\"ion-no-padding\">\n <ion-toolbar color=\"secondary\">\n <ion-button (click)=\"dismiss()\" fill=\"clear\" color=\"primary\" float-right>\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n <ion-title color=\"primary\">{{ title }}</ion-title>\n </ion-toolbar>\n <ion-toolbar color=\"secondary\">\n <ion-searchbar placeholder=\"{{ placeholder }}\" (ionInput)=\"filterWallet($event)\"></ion-searchbar>\n </ion-toolbar>\n </ion-grid>\n</ion-header>\n<ion-content [fullscreen]=\"true\">\n <h3 [innerHTML]=\"heading\" class=\"ion-padding\"></h3>\n <ion-list class=\"ion-padding\" *ngIf=\"wallets\">\n <ng-container *ngFor=\"let wallet of filteredWallets\">\n <airgap-account-item [wallet]=\"wallet\" [label]=\"wallet.label\" (click)=\"selectAccount(wallet)\"></airgap-account-item>\n </ng-container>\n </ion-list>\n</ion-content>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i2.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocapitalize", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "component", type: i3.AccountItemComponent, selector: "airgap-account-item", inputs: ["wallet", "label"] }] }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountSelectionComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'airgap-account-selection', template: "<ion-header class=\"ion-no-border\">\n <ion-grid fixed=\"true\" class=\"ion-no-padding\">\n <ion-toolbar color=\"secondary\">\n <ion-button (click)=\"dismiss()\" fill=\"clear\" color=\"primary\" float-right>\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n <ion-title color=\"primary\">{{ title }}</ion-title>\n </ion-toolbar>\n <ion-toolbar color=\"secondary\">\n <ion-searchbar placeholder=\"{{ placeholder }}\" (ionInput)=\"filterWallet($event)\"></ion-searchbar>\n </ion-toolbar>\n </ion-grid>\n</ion-header>\n<ion-content [fullscreen]=\"true\">\n <h3 [innerHTML]=\"heading\" class=\"ion-padding\"></h3>\n <ion-list class=\"ion-padding\" *ngIf=\"wallets\">\n <ng-container *ngFor=\"let wallet of filteredWallets\">\n <airgap-account-item [wallet]=\"wallet\" [label]=\"wallet.label\" (click)=\"selectAccount(wallet)\"></airgap-account-item>\n </ng-container>\n </ion-list>\n</ion-content>\n" }]
|
|
48
|
+
}], propDecorators: { title: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], heading: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], placeholder: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], wallets: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], walletSetEmitter: [{
|
|
57
|
+
type: Output
|
|
58
|
+
}], dismissEmitter: [{
|
|
59
|
+
type: Output
|
|
60
|
+
}] } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZWxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2FjY291bnQtc2VsZWN0aW9uL2FjY291bnQtc2VsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LXNlbGVjdGlvbi9hY2NvdW50LXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQTs7Ozs7QUFPckYsTUFBTSxPQUFPLHlCQUF5QjtJQUx0QztRQW1CbUIscUJBQWdCLEdBQStCLElBQUksWUFBWSxFQUFFLENBQUE7UUFHakUsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUlqRSxvQkFBZSxHQUFtQixFQUFFLENBQUE7S0FxQzVDO0lBbkNRLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwRCx3REFBd0Q7WUFDeEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVk7UUFDN0IsTUFBTSxLQUFLLEdBQVksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDekYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQzdGLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBWTtRQUM5QixNQUFNLEtBQUssR0FBWSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUV6RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7WUFDbkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDbkgsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO2dCQUNkLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDbkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNSLENBQUM7SUFDTSxhQUFhLENBQUMsTUFBb0I7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBQ00sT0FBTztRQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUEwQjtRQUMvQyxPQUFPLE1BQU0sS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLE1BQU0sQ0FBQTtJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBYTtRQUN0QyxPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNwRCxDQUFDOytHQXpEVSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwUUNQdEMsaTlCQXFCQTs7NEZEZGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLDBCQUEwQjs4QkFNN0IsS0FBSztzQkFEWCxLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJVyxnQkFBZ0I7c0JBRGhDLE1BQU07Z0JBSVUsY0FBYztzQkFEOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFpckdhcFdhbGxldCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlJ1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWlyZ2FwLWFjY291bnQtc2VsZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY291bnQtc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3VudC1zZWxlY3Rpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VsZWN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGluZzogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKVxuICBwdWJsaWMgd2FsbGV0czogQWlyR2FwV2FsbGV0W10gfCB1bmRlZmluZWRcblxuICBAT3V0cHV0KClcbiAgcHJpdmF0ZSByZWFkb25seSB3YWxsZXRTZXRFbWl0dGVyOiBFdmVudEVtaXR0ZXI8QWlyR2FwV2FsbGV0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBPdXRwdXQoKVxuICBwcml2YXRlIHJlYWRvbmx5IGRpc21pc3NFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBwdWJsaWMgc3ltYm9sRmlsdGVyOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBwdWJsaWMgZmlsdGVyZWRXYWxsZXRzOiBBaXJHYXBXYWxsZXRbXSA9IFtdXG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy53YWxsZXRzICYmIGNoYW5nZXMud2FsbGV0cy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIC8vIEhhbmRsZSB3aGVuIHdhbGxldHMgaW5wdXQgY2hhbmdlcyBvciBpcyBzZXQgaW5pdGlhbGx5XG4gICAgICB0aGlzLmZpbHRlcmVkV2FsbGV0cyA9IFsuLi50aGlzLndhbGxldHNdXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbHRlckl0ZW1zKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlOiB1bmtub3duID0gdGhpcy5pc0lucHV0RWxlbWVudChldmVudC50YXJnZXQpID8gZXZlbnQudGFyZ2V0LnZhbHVlIDogdW5kZWZpbmVkXG4gICAgdGhpcy5zeW1ib2xGaWx0ZXIgPSB0aGlzLmlzVmFsaWRGaWx0ZXJRdWVyeSh2YWx1ZSkgPyB2YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKSA6IHVuZGVmaW5lZFxuICB9XG5cbiAgcHVibGljIGZpbHRlcldhbGxldChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZTogdW5rbm93biA9IHRoaXMuaXNJbnB1dEVsZW1lbnQoZXZlbnQudGFyZ2V0KSA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IHVuZGVmaW5lZFxuXG4gICAgdGhpcy5maWx0ZXJlZFdhbGxldHMgPSB0aGlzLmlzVmFsaWRGaWx0ZXJRdWVyeSh2YWx1ZSlcbiAgICAgID8gdGhpcy53YWxsZXRzPy5maWx0ZXIoKHdhbGxldCkgPT4gd2FsbGV0LmxhYmVsPy50cmltKCkudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpKSkgfHwgW11cbiAgICAgIDogdGhpcy53YWxsZXRzXG4gICAgICA/IFsuLi50aGlzLndhbGxldHNdXG4gICAgICA6IFtdXG4gIH1cbiAgcHVibGljIHNlbGVjdEFjY291bnQod2FsbGV0OiBBaXJHYXBXYWxsZXQpOiB2b2lkIHtcbiAgICB0aGlzLndhbGxldFNldEVtaXR0ZXIuZW1pdCh3YWxsZXQpXG4gIH1cbiAgcHVibGljIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNtaXNzRW1pdHRlci5lbWl0KClcbiAgfVxuXG4gIHByaXZhdGUgaXNJbnB1dEVsZW1lbnQodGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGwpOiB0YXJnZXQgaXMgRXZlbnRUYXJnZXQgJiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICByZXR1cm4gdGFyZ2V0ICE9PSBudWxsICYmICd2YWx1ZScgaW4gdGFyZ2V0XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWRGaWx0ZXJRdWVyeShkYXRhOiB1bmtub3duKTogZGF0YSBpcyBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycgJiYgZGF0YS5sZW5ndGggPiAwXG4gIH1cbn1cbiIsIjxpb24taGVhZGVyIGNsYXNzPVwiaW9uLW5vLWJvcmRlclwiPlxuICA8aW9uLWdyaWQgZml4ZWQ9XCJ0cnVlXCIgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgIDxpb24tdG9vbGJhciBjb2xvcj1cInNlY29uZGFyeVwiPlxuICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImRpc21pc3MoKVwiIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwicHJpbWFyeVwiIGZsb2F0LXJpZ2h0PlxuICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlXCIgc2xvdD1cImljb24tb25seVwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8aW9uLXRpdGxlIGNvbG9yPVwicHJpbWFyeVwiPnt7IHRpdGxlIH19PC9pb24tdGl0bGU+XG4gICAgPC9pb24tdG9vbGJhcj5cbiAgICA8aW9uLXRvb2xiYXIgY29sb3I9XCJzZWNvbmRhcnlcIj5cbiAgICAgIDxpb24tc2VhcmNoYmFyIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIiAoaW9uSW5wdXQpPVwiZmlsdGVyV2FsbGV0KCRldmVudClcIj48L2lvbi1zZWFyY2hiYXI+XG4gICAgPC9pb24tdG9vbGJhcj5cbiAgPC9pb24tZ3JpZD5cbjwvaW9uLWhlYWRlcj5cbjxpb24tY29udGVudCBbZnVsbHNjcmVlbl09XCJ0cnVlXCI+XG4gIDxoMyBbaW5uZXJIVE1MXT1cImhlYWRpbmdcIiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+PC9oMz5cbiAgPGlvbi1saXN0IGNsYXNzPVwiaW9uLXBhZGRpbmdcIiAqbmdJZj1cIndhbGxldHNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB3YWxsZXQgb2YgZmlsdGVyZWRXYWxsZXRzXCI+XG4gICAgICA8YWlyZ2FwLWFjY291bnQtaXRlbSBbd2FsbGV0XT1cIndhbGxldFwiIFtsYWJlbF09XCJ3YWxsZXQubGFiZWxcIiAoY2xpY2spPVwic2VsZWN0QWNjb3VudCh3YWxsZXQpXCI+PC9haXJnYXAtYWNjb3VudC1pdGVtPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2lvbi1saXN0PlxuPC9pb24tY29udGVudD5cbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { IonicModule } from '@ionic/angular';
|
|
4
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
+
import { QRCodeModule } from 'angularx-qrcode';
|
|
6
|
+
import { FormsModule } from '@angular/forms';
|
|
7
|
+
import { PipesModule } from '../pipes/pipes.module';
|
|
8
|
+
import { CurrencySymbolComponent } from './currency-symbol/currency-symbol.component';
|
|
9
|
+
import { FromToComponent } from './from-to/from-to.component';
|
|
10
|
+
import { IdenticonComponent } from './identicon/identicon.component';
|
|
11
|
+
import { NetworkBadgeComponent } from './network-badge/network-badge.component';
|
|
12
|
+
import { TitledAddressComponent } from './titled-address/titled-address.component';
|
|
13
|
+
import { TitledTextComponent } from './titled-text/titled-text.component';
|
|
14
|
+
import { AccountItemComponent } from './account-item/account-item.component';
|
|
15
|
+
import { AccountSelectionComponent } from './account-selection/account-selection.component';
|
|
16
|
+
import { QrComponent } from './qr/qr.component';
|
|
17
|
+
import { QrSettingsComponent } from './qr-settings/qr-settings.component';
|
|
18
|
+
import { IACQrComponent } from './iac-qr/iac-qr.component';
|
|
19
|
+
import { IsolatedModulesListComponent } from './isolated-modules-list/isolated-modules-list.component';
|
|
20
|
+
import { IsolatedModulesOnboardingComponent } from './isolated-modules-onboarding/isolated-modules-onboarding.component';
|
|
21
|
+
import { IsolatedModulesDetailsComponent } from './isolated-modules-details/isolated-modules-details.component';
|
|
22
|
+
import { IsolatedModulesBadgesComponent } from './isolated-modules-badges/isolated-modules-badges.component';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
export class ComponentsModule {
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
26
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, declarations: [FromToComponent,
|
|
27
|
+
IdenticonComponent,
|
|
28
|
+
TitledTextComponent,
|
|
29
|
+
TitledAddressComponent,
|
|
30
|
+
CurrencySymbolComponent,
|
|
31
|
+
NetworkBadgeComponent,
|
|
32
|
+
QrComponent,
|
|
33
|
+
IACQrComponent,
|
|
34
|
+
AccountItemComponent,
|
|
35
|
+
AccountSelectionComponent,
|
|
36
|
+
QrSettingsComponent,
|
|
37
|
+
IsolatedModulesDetailsComponent,
|
|
38
|
+
IsolatedModulesListComponent,
|
|
39
|
+
IsolatedModulesOnboardingComponent,
|
|
40
|
+
IsolatedModulesBadgesComponent], imports: [CommonModule, IonicModule, TranslateModule, PipesModule, QRCodeModule, FormsModule], exports: [FromToComponent,
|
|
41
|
+
IdenticonComponent,
|
|
42
|
+
TitledTextComponent,
|
|
43
|
+
TitledAddressComponent,
|
|
44
|
+
CurrencySymbolComponent,
|
|
45
|
+
NetworkBadgeComponent,
|
|
46
|
+
AccountItemComponent,
|
|
47
|
+
AccountSelectionComponent,
|
|
48
|
+
QrComponent,
|
|
49
|
+
IACQrComponent,
|
|
50
|
+
QrSettingsComponent,
|
|
51
|
+
IsolatedModulesDetailsComponent,
|
|
52
|
+
IsolatedModulesListComponent,
|
|
53
|
+
IsolatedModulesOnboardingComponent,
|
|
54
|
+
IsolatedModulesBadgesComponent] }); }
|
|
55
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule, IonicModule, TranslateModule, PipesModule, QRCodeModule, FormsModule] }); }
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
58
|
+
type: NgModule,
|
|
59
|
+
args: [{
|
|
60
|
+
declarations: [
|
|
61
|
+
FromToComponent,
|
|
62
|
+
IdenticonComponent,
|
|
63
|
+
TitledTextComponent,
|
|
64
|
+
TitledAddressComponent,
|
|
65
|
+
CurrencySymbolComponent,
|
|
66
|
+
NetworkBadgeComponent,
|
|
67
|
+
QrComponent,
|
|
68
|
+
IACQrComponent,
|
|
69
|
+
AccountItemComponent,
|
|
70
|
+
AccountSelectionComponent,
|
|
71
|
+
QrSettingsComponent,
|
|
72
|
+
IsolatedModulesDetailsComponent,
|
|
73
|
+
IsolatedModulesListComponent,
|
|
74
|
+
IsolatedModulesOnboardingComponent,
|
|
75
|
+
IsolatedModulesBadgesComponent
|
|
76
|
+
],
|
|
77
|
+
imports: [CommonModule, IonicModule, TranslateModule, PipesModule, QRCodeModule, FormsModule],
|
|
78
|
+
exports: [
|
|
79
|
+
FromToComponent,
|
|
80
|
+
IdenticonComponent,
|
|
81
|
+
TitledTextComponent,
|
|
82
|
+
TitledAddressComponent,
|
|
83
|
+
CurrencySymbolComponent,
|
|
84
|
+
NetworkBadgeComponent,
|
|
85
|
+
AccountItemComponent,
|
|
86
|
+
AccountSelectionComponent,
|
|
87
|
+
QrComponent,
|
|
88
|
+
IACQrComponent,
|
|
89
|
+
QrSettingsComponent,
|
|
90
|
+
IsolatedModulesDetailsComponent,
|
|
91
|
+
IsolatedModulesListComponent,
|
|
92
|
+
IsolatedModulesOnboardingComponent,
|
|
93
|
+
IsolatedModulesBadgesComponent
|
|
94
|
+
]
|
|
95
|
+
}]
|
|
96
|
+
}] });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUE7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQTtBQUN0RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQTtBQUN4SCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQTtBQUMvRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQTs7QUF1QzVHLE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQW5DekIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIsV0FBVztZQUNYLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIseUJBQXlCO1lBQ3pCLG1CQUFtQjtZQUNuQiwrQkFBK0I7WUFDL0IsNEJBQTRCO1lBQzVCLGtDQUFrQztZQUNsQyw4QkFBOEIsYUFFdEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLGFBRTFGLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFDekIsV0FBVztZQUNYLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsK0JBQStCO1lBQy9CLDRCQUE0QjtZQUM1QixrQ0FBa0M7WUFDbEMsOEJBQThCO2dIQUdyQixnQkFBZ0IsWUFuQmpCLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVzs7NEZBbUJqRixnQkFBZ0I7a0JBckM1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsK0JBQStCO3dCQUMvQiw0QkFBNEI7d0JBQzVCLGtDQUFrQzt3QkFDbEMsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDN0YsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQiwrQkFBK0I7d0JBQy9CLDRCQUE0Qjt3QkFDNUIsa0NBQWtDO3dCQUNsQyw4QkFBOEI7cUJBQy9CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBRUkNvZGVNb2R1bGUgfSBmcm9tICdhbmd1bGFyeC1xcmNvZGUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuLi9waXBlcy9waXBlcy5tb2R1bGUnXG5pbXBvcnQgeyBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCB9IGZyb20gJy4vY3VycmVuY3ktc3ltYm9sL2N1cnJlbmN5LXN5bWJvbC5jb21wb25lbnQnXG5pbXBvcnQgeyBGcm9tVG9Db21wb25lbnQgfSBmcm9tICcuL2Zyb20tdG8vZnJvbS10by5jb21wb25lbnQnXG5pbXBvcnQgeyBJZGVudGljb25Db21wb25lbnQgfSBmcm9tICcuL2lkZW50aWNvbi9pZGVudGljb24uY29tcG9uZW50J1xuaW1wb3J0IHsgTmV0d29ya0JhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9uZXR3b3JrLWJhZGdlL25ldHdvcmstYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgVGl0bGVkQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4vdGl0bGVkLWFkZHJlc3MvdGl0bGVkLWFkZHJlc3MuY29tcG9uZW50J1xuaW1wb3J0IHsgVGl0bGVkVGV4dENvbXBvbmVudCB9IGZyb20gJy4vdGl0bGVkLXRleHQvdGl0bGVkLXRleHQuY29tcG9uZW50J1xuaW1wb3J0IHsgQWNjb3VudEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FjY291bnQtaXRlbS9hY2NvdW50LWl0ZW0uY29tcG9uZW50J1xuaW1wb3J0IHsgQWNjb3VudFNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWNjb3VudC1zZWxlY3Rpb24vYWNjb3VudC1zZWxlY3Rpb24uY29tcG9uZW50J1xuaW1wb3J0IHsgUXJDb21wb25lbnQgfSBmcm9tICcuL3FyL3FyLmNvbXBvbmVudCdcbmltcG9ydCB7IFFyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3FyLXNldHRpbmdzL3FyLXNldHRpbmdzLmNvbXBvbmVudCdcbmltcG9ydCB7IElBQ1FyQ29tcG9uZW50IH0gZnJvbSAnLi9pYWMtcXIvaWFjLXFyLmNvbXBvbmVudCdcbmltcG9ydCB7IElzb2xhdGVkTW9kdWxlc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2lzb2xhdGVkLW1vZHVsZXMtbGlzdC9pc29sYXRlZC1tb2R1bGVzLWxpc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgSXNvbGF0ZWRNb2R1bGVzT25ib2FyZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vaXNvbGF0ZWQtbW9kdWxlcy1vbmJvYXJkaW5nL2lzb2xhdGVkLW1vZHVsZXMtb25ib2FyZGluZy5jb21wb25lbnQnXG5pbXBvcnQgeyBJc29sYXRlZE1vZHVsZXNEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9pc29sYXRlZC1tb2R1bGVzLWRldGFpbHMvaXNvbGF0ZWQtbW9kdWxlcy1kZXRhaWxzLmNvbXBvbmVudCdcbmltcG9ydCB7IElzb2xhdGVkTW9kdWxlc0JhZGdlc0NvbXBvbmVudCB9IGZyb20gJy4vaXNvbGF0ZWQtbW9kdWxlcy1iYWRnZXMvaXNvbGF0ZWQtbW9kdWxlcy1iYWRnZXMuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGcm9tVG9Db21wb25lbnQsXG4gICAgSWRlbnRpY29uQ29tcG9uZW50LFxuICAgIFRpdGxlZFRleHRDb21wb25lbnQsXG4gICAgVGl0bGVkQWRkcmVzc0NvbXBvbmVudCxcbiAgICBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCxcbiAgICBOZXR3b3JrQmFkZ2VDb21wb25lbnQsXG4gICAgUXJDb21wb25lbnQsXG4gICAgSUFDUXJDb21wb25lbnQsXG4gICAgQWNjb3VudEl0ZW1Db21wb25lbnQsXG4gICAgQWNjb3VudFNlbGVjdGlvbkNvbXBvbmVudCxcbiAgICBRclNldHRpbmdzQ29tcG9uZW50LFxuICAgIElzb2xhdGVkTW9kdWxlc0RldGFpbHNDb21wb25lbnQsXG4gICAgSXNvbGF0ZWRNb2R1bGVzTGlzdENvbXBvbmVudCxcbiAgICBJc29sYXRlZE1vZHVsZXNPbmJvYXJkaW5nQ29tcG9uZW50LFxuICAgIElzb2xhdGVkTW9kdWxlc0JhZGdlc0NvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25pY01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBQaXBlc01vZHVsZSwgUVJDb2RlTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBGcm9tVG9Db21wb25lbnQsXG4gICAgSWRlbnRpY29uQ29tcG9uZW50LFxuICAgIFRpdGxlZFRleHRDb21wb25lbnQsXG4gICAgVGl0bGVkQWRkcmVzc0NvbXBvbmVudCxcbiAgICBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCxcbiAgICBOZXR3b3JrQmFkZ2VDb21wb25lbnQsXG4gICAgQWNjb3VudEl0ZW1Db21wb25lbnQsXG4gICAgQWNjb3VudFNlbGVjdGlvbkNvbXBvbmVudCxcbiAgICBRckNvbXBvbmVudCxcbiAgICBJQUNRckNvbXBvbmVudCxcbiAgICBRclNldHRpbmdzQ29tcG9uZW50LFxuICAgIElzb2xhdGVkTW9kdWxlc0RldGFpbHNDb21wb25lbnQsXG4gICAgSXNvbGF0ZWRNb2R1bGVzTGlzdENvbXBvbmVudCxcbiAgICBJc29sYXRlZE1vZHVsZXNPbmJvYXJkaW5nQ29tcG9uZW50LFxuICAgIElzb2xhdGVkTW9kdWxlc0JhZGdlc0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Component, Inject, Injector, Input } from '@angular/core';
|
|
2
|
+
import { first, map } from 'rxjs/operators';
|
|
3
|
+
import { BaseComponent } from '../../base/base.component';
|
|
4
|
+
import { currencySymbolFacade, CURRENCY_SYMBOL_FACADE } from './currency-symbol.facade';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/platform-browser";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
export class CurrencySymbolComponent extends BaseComponent {
|
|
9
|
+
constructor(facade, domSanitizer) {
|
|
10
|
+
super(facade);
|
|
11
|
+
this.domSanitizer = domSanitizer;
|
|
12
|
+
this.symbolSrc$ = facade.symbolSrc$.pipe(map((src) => this.domSanitizer.bypassSecurityTrustUrl(src)));
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this.facade.initWithSymbol(this.symbol, this.protocolIdentifier);
|
|
16
|
+
return super.ngOnInit();
|
|
17
|
+
}
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
|
+
if (changes.symbol === undefined || changes.protocolIdentifier === undefined) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (changes.symbol.previousValue !== changes.symbol.currentValue ||
|
|
23
|
+
changes.protocolIdentifier.previousValue !== changes.protocolIdentifier.currentValue) {
|
|
24
|
+
this.facade.onSymbolChanged(changes.symbol.currentValue, changes.protocolIdentifier.currentValue);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async onError() {
|
|
28
|
+
const symbolSrc = await this.facade.symbolSrc$.pipe(first()).toPromise();
|
|
29
|
+
this.facade.onError(this.symbol, this.protocolIdentifier, symbolSrc);
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolComponent, deps: [{ token: CURRENCY_SYMBOL_FACADE }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CurrencySymbolComponent, selector: "airgap-currency-symbol", inputs: { symbol: "symbol", protocolIdentifier: "protocolIdentifier" }, providers: [{ provide: CURRENCY_SYMBOL_FACADE, useFactory: currencySymbolFacade, deps: [Injector] }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<img [src]=\"symbolSrc$ | async\" (error)=\"onError()\" />", styles: [""], dependencies: [{ kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'airgap-currency-symbol', providers: [{ provide: CURRENCY_SYMBOL_FACADE, useFactory: currencySymbolFacade, deps: [Injector] }], template: "<img [src]=\"symbolSrc$ | async\" (error)=\"onError()\" />" }]
|
|
37
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
38
|
+
type: Inject,
|
|
39
|
+
args: [CURRENCY_SYMBOL_FACADE]
|
|
40
|
+
}] }, { type: i1.DomSanitizer }], propDecorators: { symbol: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], protocolIdentifier: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktc3ltYm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jdXJyZW5jeS1zeW1ib2wvY3VycmVuY3ktc3ltYm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jdXJyZW5jeS1zeW1ib2wvY3VycmVuY3ktc3ltYm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFBO0FBRzVGLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBd0Isc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztBQVE3RyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsYUFBbUM7SUFTOUUsWUFBNEMsTUFBNEIsRUFBbUIsWUFBMEI7UUFDbkgsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRDRFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBR25ILElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvRyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFaEUsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDekIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3RSxPQUFNO1FBQ1IsQ0FBQztRQUVELElBQ0UsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQzVELE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEtBQUssT0FBTyxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFDcEYsQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNuRyxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7UUFFeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDdEUsQ0FBQzsrR0F0Q1UsdUJBQXVCLGtCQVNkLHNCQUFzQjttR0FUL0IsdUJBQXVCLHlIQUZ2QixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLHNFQ1p0Ryw0REFBc0Q7OzRGRGN6Qyx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usd0JBQXdCLGFBR3ZCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7OzBCQVd2RixNQUFNOzJCQUFDLHNCQUFzQjtvRUFQbkMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLGtCQUFrQjtzQkFEeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3RvY29sU3ltYm9scyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlJ1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlL2Jhc2UuY29tcG9uZW50J1xuaW1wb3J0IHsgY3VycmVuY3lTeW1ib2xGYWNhZGUsIEN1cnJlbmN5U3ltYm9sRmFjYWRlLCBDVVJSRU5DWV9TWU1CT0xfRkFDQURFIH0gZnJvbSAnLi9jdXJyZW5jeS1zeW1ib2wuZmFjYWRlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhaXJnYXAtY3VycmVuY3ktc3ltYm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LXN5bWJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LXN5bWJvbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENVUlJFTkNZX1NZTUJPTF9GQUNBREUsIHVzZUZhY3Rvcnk6IGN1cnJlbmN5U3ltYm9sRmFjYWRlLCBkZXBzOiBbSW5qZWN0b3JdIH1dXG59KVxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5U3ltYm9sQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudDxDdXJyZW5jeVN5bWJvbEZhY2FkZT4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3ltYm9sOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJvdG9jb2xJZGVudGlmaWVyOiBQcm90b2NvbFN5bWJvbHMgfCB1bmRlZmluZWRcblxuICBwdWJsaWMgcmVhZG9ubHkgc3ltYm9sU3JjJDogT2JzZXJ2YWJsZTxTYWZlVXJsPlxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQ1VSUkVOQ1lfU1lNQk9MX0ZBQ0FERSkgZmFjYWRlOiBDdXJyZW5jeVN5bWJvbEZhY2FkZSwgcHJpdmF0ZSByZWFkb25seSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIHN1cGVyKGZhY2FkZSlcblxuICAgIHRoaXMuc3ltYm9sU3JjJCA9IGZhY2FkZS5zeW1ib2xTcmMkLnBpcGUobWFwKChzcmM6IHN0cmluZykgPT4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChzcmMpKSlcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZhY2FkZS5pbml0V2l0aFN5bWJvbCh0aGlzLnN5bWJvbCwgdGhpcy5wcm90b2NvbElkZW50aWZpZXIpXG5cbiAgICByZXR1cm4gc3VwZXIubmdPbkluaXQoKVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zeW1ib2wgPT09IHVuZGVmaW5lZCB8fCBjaGFuZ2VzLnByb3RvY29sSWRlbnRpZmllciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLnN5bWJvbC5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzLnN5bWJvbC5jdXJyZW50VmFsdWUgfHxcbiAgICAgIGNoYW5nZXMucHJvdG9jb2xJZGVudGlmaWVyLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXMucHJvdG9jb2xJZGVudGlmaWVyLmN1cnJlbnRWYWx1ZVxuICAgICkge1xuICAgICAgdGhpcy5mYWNhZGUub25TeW1ib2xDaGFuZ2VkKGNoYW5nZXMuc3ltYm9sLmN1cnJlbnRWYWx1ZSwgY2hhbmdlcy5wcm90b2NvbElkZW50aWZpZXIuY3VycmVudFZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvbkVycm9yKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN5bWJvbFNyYyA9IGF3YWl0IHRoaXMuZmFjYWRlLnN5bWJvbFNyYyQucGlwZShmaXJzdCgpKS50b1Byb21pc2UoKVxuXG4gICAgdGhpcy5mYWNhZGUub25FcnJvcih0aGlzLnN5bWJvbCwgdGhpcy5wcm90b2NvbElkZW50aWZpZXIsIHN5bWJvbFNyYylcbiAgfVxufVxuIiwiPGltZyBbc3JjXT1cInN5bWJvbFNyYyQgfCBhc3luY1wiIChlcnJvcik9XCJvbkVycm9yKClcIiAvPiJdfQ==
|