@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,181 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { generateId, IACMessageType, Serializer, SerializerV3 } from '@wallfree-dev/serializer';
|
|
3
|
+
import { parseIACUrl } from '../../utils/utils';
|
|
4
|
+
import { defaultValues, InternalStorageKey } from '../storage/storage.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../storage/storage.service";
|
|
7
|
+
export const convertV2ToV3 = async (chunks) => {
|
|
8
|
+
return chunks.map((message) => {
|
|
9
|
+
let newPayload;
|
|
10
|
+
switch (message.type) {
|
|
11
|
+
case IACMessageType.AccountShareResponse:
|
|
12
|
+
newPayload = {
|
|
13
|
+
...message.payload,
|
|
14
|
+
masterFingerprint: '',
|
|
15
|
+
isActive: true,
|
|
16
|
+
groupId: '',
|
|
17
|
+
groupLabel: ''
|
|
18
|
+
};
|
|
19
|
+
break;
|
|
20
|
+
default:
|
|
21
|
+
newPayload = message.payload;
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
id: generateId(8),
|
|
26
|
+
type: message.type,
|
|
27
|
+
protocol: message.protocol,
|
|
28
|
+
payload: newPayload
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
export const convertV3ToV2 = async (chunks) => {
|
|
33
|
+
return chunks.map((message) => {
|
|
34
|
+
let newPayload;
|
|
35
|
+
switch (message.type) {
|
|
36
|
+
case IACMessageType.AccountShareResponse:
|
|
37
|
+
const { masterFingerprint, isActive, groupId, groupLabel, ...rest } = message.payload;
|
|
38
|
+
newPayload = {
|
|
39
|
+
...message.payload
|
|
40
|
+
};
|
|
41
|
+
newPayload = rest;
|
|
42
|
+
break;
|
|
43
|
+
default:
|
|
44
|
+
newPayload = message.payload;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
id: message.id.toString().repeat(10).slice(0, 10), // We need to assume the id is "0", so we need to repeat it 10 times
|
|
49
|
+
type: message.type,
|
|
50
|
+
protocol: message.protocol,
|
|
51
|
+
payload: newPayload
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
export class SerializerService {
|
|
56
|
+
get useV3() {
|
|
57
|
+
return this._useV3;
|
|
58
|
+
}
|
|
59
|
+
set useV3(value) {
|
|
60
|
+
// eslint-disable-next-line no-console
|
|
61
|
+
this.internalStorageService.set(InternalStorageKey.SETTINGS_SERIALIZER_ENABLE_V3, value).catch(console.error);
|
|
62
|
+
this._useV3 = value;
|
|
63
|
+
}
|
|
64
|
+
get singleChunkSize() {
|
|
65
|
+
return this._singleChunkSize;
|
|
66
|
+
}
|
|
67
|
+
set singleChunkSize(value) {
|
|
68
|
+
// eslint-disable-next-line no-console
|
|
69
|
+
this.internalStorageService.set(InternalStorageKey.SETTINGS_SERIALIZER_SINGLE_CHUNK_SIZE, value).catch(console.error);
|
|
70
|
+
this._singleChunkSize = value;
|
|
71
|
+
}
|
|
72
|
+
get multiChunkSize() {
|
|
73
|
+
return this._multiChunkSize;
|
|
74
|
+
}
|
|
75
|
+
set multiChunkSize(value) {
|
|
76
|
+
// eslint-disable-next-line no-console
|
|
77
|
+
this.internalStorageService.set(InternalStorageKey.SETTINGS_SERIALIZER_MULTI_CHUNK_SIZE, value).catch(console.error);
|
|
78
|
+
this._multiChunkSize = value;
|
|
79
|
+
}
|
|
80
|
+
get displayTimePerChunk() {
|
|
81
|
+
return this._displayTimePerChunk;
|
|
82
|
+
}
|
|
83
|
+
set displayTimePerChunk(value) {
|
|
84
|
+
// eslint-disable-next-line no-console
|
|
85
|
+
this.internalStorageService.set(InternalStorageKey.SETTINGS_SERIALIZER_CHUNK_TIME, value).catch(console.error);
|
|
86
|
+
this._displayTimePerChunk = value;
|
|
87
|
+
}
|
|
88
|
+
constructor(internalStorageService) {
|
|
89
|
+
this.internalStorageService = internalStorageService;
|
|
90
|
+
this._singleChunkSize = defaultValues.SETTINGS_SERIALIZER_SINGLE_CHUNK_SIZE;
|
|
91
|
+
this._multiChunkSize = defaultValues.SETTINGS_SERIALIZER_MULTI_CHUNK_SIZE;
|
|
92
|
+
this.serializer = Serializer.getInstance();
|
|
93
|
+
this.serializerV3 = SerializerV3.getInstance();
|
|
94
|
+
this._useV3 = defaultValues.SETTINGS_SERIALIZER_ENABLE_V3;
|
|
95
|
+
this._displayTimePerChunk = defaultValues.SETTINGS_SERIALIZER_CHUNK_TIME;
|
|
96
|
+
// eslint-disable-next-line no-console
|
|
97
|
+
this.loadSettings().catch(console.error);
|
|
98
|
+
}
|
|
99
|
+
async resetSettings() {
|
|
100
|
+
this._useV3 = defaultValues.SETTINGS_SERIALIZER_ENABLE_V3;
|
|
101
|
+
this._singleChunkSize = defaultValues.SETTINGS_SERIALIZER_SINGLE_CHUNK_SIZE;
|
|
102
|
+
this._multiChunkSize = defaultValues.SETTINGS_SERIALIZER_MULTI_CHUNK_SIZE;
|
|
103
|
+
this._displayTimePerChunk = defaultValues.SETTINGS_SERIALIZER_CHUNK_TIME;
|
|
104
|
+
await Promise.all([
|
|
105
|
+
this.internalStorageService.delete(InternalStorageKey.SETTINGS_SERIALIZER_ENABLE_V3),
|
|
106
|
+
this.internalStorageService.delete(InternalStorageKey.SETTINGS_SERIALIZER_SINGLE_CHUNK_SIZE),
|
|
107
|
+
this.internalStorageService.delete(InternalStorageKey.SETTINGS_SERIALIZER_MULTI_CHUNK_SIZE),
|
|
108
|
+
this.internalStorageService.delete(InternalStorageKey.SETTINGS_SERIALIZER_CHUNK_TIME)
|
|
109
|
+
]);
|
|
110
|
+
}
|
|
111
|
+
async serialize(chunks) {
|
|
112
|
+
if (this.useV3) {
|
|
113
|
+
return this.serializeV3(chunks);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return this.serializeV2(chunks);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async deserialize(chunks) {
|
|
120
|
+
const parsedChunks = parseIACUrl(chunks, 'd');
|
|
121
|
+
try {
|
|
122
|
+
return this.deserializeV2(parsedChunks);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
if (error && error.availablePages && error.totalPages) {
|
|
126
|
+
throw error;
|
|
127
|
+
}
|
|
128
|
+
if (parsedChunks.length === 1) {
|
|
129
|
+
return this.deserializeV3(parsedChunks[0]);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
throw new Error('Could not deserialize input');
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async loadSettings() {
|
|
137
|
+
this.internalStorageService
|
|
138
|
+
.get(InternalStorageKey.SETTINGS_SERIALIZER_ENABLE_V3)
|
|
139
|
+
.then((setting) => (this._useV3 = setting))
|
|
140
|
+
// eslint-disable-next-line no-console
|
|
141
|
+
.catch(console.error);
|
|
142
|
+
this.internalStorageService
|
|
143
|
+
.get(InternalStorageKey.SETTINGS_SERIALIZER_CHUNK_TIME)
|
|
144
|
+
.then((setting) => (this._displayTimePerChunk = setting))
|
|
145
|
+
// eslint-disable-next-line no-console
|
|
146
|
+
.catch(console.error);
|
|
147
|
+
this.internalStorageService
|
|
148
|
+
.get(InternalStorageKey.SETTINGS_SERIALIZER_SINGLE_CHUNK_SIZE)
|
|
149
|
+
.then((setting) => (this._singleChunkSize = setting))
|
|
150
|
+
// eslint-disable-next-line no-console
|
|
151
|
+
.catch(console.error);
|
|
152
|
+
this.internalStorageService
|
|
153
|
+
.get(InternalStorageKey.SETTINGS_SERIALIZER_MULTI_CHUNK_SIZE)
|
|
154
|
+
.then((setting) => (this._multiChunkSize = setting))
|
|
155
|
+
// eslint-disable-next-line no-console
|
|
156
|
+
.catch(console.error);
|
|
157
|
+
}
|
|
158
|
+
async serializeV2(chunks) {
|
|
159
|
+
const dataV2 = await convertV3ToV2(chunks);
|
|
160
|
+
return this.serializer.serialize(dataV2, this.singleChunkSize, this.multiChunkSize);
|
|
161
|
+
}
|
|
162
|
+
async deserializeV2(chunks) {
|
|
163
|
+
const v2Data = await this.serializer.deserialize(chunks);
|
|
164
|
+
return convertV2ToV3(v2Data);
|
|
165
|
+
}
|
|
166
|
+
async serializeV3(chunks) {
|
|
167
|
+
return this.serializerV3.serialize(chunks);
|
|
168
|
+
}
|
|
169
|
+
async deserializeV3(chunks) {
|
|
170
|
+
return this.serializerV3.deserialize(chunks);
|
|
171
|
+
}
|
|
172
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SerializerService, deps: [{ token: i1.InternalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
173
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SerializerService, providedIn: 'root' }); }
|
|
174
|
+
}
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SerializerService, decorators: [{
|
|
176
|
+
type: Injectable,
|
|
177
|
+
args: [{
|
|
178
|
+
providedIn: 'root'
|
|
179
|
+
}]
|
|
180
|
+
}], ctorParameters: () => [{ type: i1.InternalStorageService }] });
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zZXJpYWxpemVyL3NlcmlhbGl6ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFHTCxVQUFVLEVBS1YsY0FBYyxFQUNkLFVBQVUsRUFDVixZQUFZLEVBQ2IsTUFBTSwwQkFBMEIsQ0FBQTtBQUVqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBMEIsTUFBTSw0QkFBNEIsQ0FBQTs7O0FBRXRHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsTUFBb0MsRUFBMkMsRUFBRTtJQUNuSCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFtQyxFQUFFLEVBQUU7UUFDeEQsSUFBSSxVQUF5QixDQUFBO1FBQzdCLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLEtBQUssY0FBYyxDQUFDLG9CQUFvQjtnQkFDdEMsVUFBVSxHQUFHO29CQUNYLEdBQUcsT0FBTyxDQUFDLE9BQU87b0JBQ2xCLGlCQUFpQixFQUFFLEVBQUU7b0JBQ3JCLFFBQVEsRUFBRSxJQUFJO29CQUNkLE9BQU8sRUFBRSxFQUFFO29CQUNYLFVBQVUsRUFBRSxFQUFFO2lCQUNmLENBQUE7Z0JBQ0QsTUFBSztZQUVQO2dCQUNFLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBeUQsQ0FBQTtnQkFDOUUsTUFBSztRQUNULENBQUM7UUFFRCxPQUFPO1lBQ0wsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDakIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMx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V0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXhELE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFFTyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQXNDO1FBQzlELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBYztRQUN4QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzlDLENBQUM7K0dBdklVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEFjY291bnRTaGFyZVJlc3BvbnNlIGFzIEFjY291bnRTaGFyZVJlc3BvbnNlVjMsXG4gIEFjY291bnRTaGFyZVJlc3BvbnNlVjIsXG4gIGdlbmVyYXRlSWQsXG4gIElBQ01lc3NhZ2VEZWZpbml0aW9uT2JqZWN0LFxuICBJQUNNZXNzYWdlRGVmaW5pdGlvbk9iamVjdFYzLFxuICBJQUNNZXNzYWdlcyBhcyBJQUNNZXNzYWdlc1YzLFxuICBJQUNNZXNzYWdlc1YyLFxuICBJQUNNZXNzYWdlVHlwZSxcbiAgU2VyaWFsaXplcixcbiAgU2VyaWFsaXplclYzXG59IGZyb20gJ0B3YWxsZnJlZS1kZXYvc2VyaWFsaXplcidcblxuaW1wb3J0IHsgcGFyc2VJQUNVcmwgfSBmcm9tICcuLi8uLi91dGlscy91dGlscydcbmltcG9ydCB7IGRlZmF1bHRWYWx1ZXMsIEludGVybmFsU3RvcmFnZUtleSwgSW50ZXJuYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2Uvc3RvcmFnZS5zZXJ2aWNlJ1xuXG5leHBvcnQgY29uc3QgY29udmVydFYyVG9WMyA9IGFzeW5jIChjaHVua3M6IElBQ01lc3NhZ2VEZWZpbml0aW9uT2JqZWN0W10pOiBQcm9taXNlPElBQ01lc3NhZ2VEZWZpbml0aW9uT2JqZWN0VjNbXT4gPT4ge1xuICByZXR1cm4gY2h1bmtzLm1hcCgobWVzc2FnZTogSUFDTWVzc2FnZURlZmluaXRpb25PYmplY3QpID0+IHtcbiAgICBsZXQgbmV3UGF5bG9hZDogSUFDTWVzc2FnZXNWM1xuICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICBjYXNlIElBQ01lc3NhZ2VUeXBlLkFjY291bnRTaGFyZVJlc3BvbnNlOlxuICAgICAgICBuZXdQYXlsb2FkID0ge1xuICAgICAgICAgIC4uLm1lc3NhZ2UucGF5bG9hZCxcbiAgICAgICAgICBtYXN0ZXJGaW5nZXJwcmludDogJycsXG4gICAgICAgICAgaXNBY3RpdmU6IHRydWUsXG4gICAgICAgICAgZ3JvdXBJZDogJycsXG4gICAgICAgICAgZ3JvdXBMYWJlbDogJydcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBuZXdQYXlsb2FkID0gbWVzc2FnZS5wYXlsb2FkIGFzIEV4Y2x1ZGU8SUFDTWVzc2FnZXNWMiwgQWNjb3VudFNoYXJlUmVzcG9uc2VWMj5cbiAgICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGdlbmVyYXRlSWQoOCksXG4gICAgICB0eXBlOiBtZXNzYWdlLnR5cGUsXG4gICAgICBwcm90b2NvbDogbWVzc2FnZS5wcm90b2NvbCxcbiAgICAgIHBheWxvYWQ6IG5ld1BheWxvYWRcbiAgICB9XG4gIH0pXG59XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0VjNUb1YyID0gYXN5bmMgKGNodW5rczogSUFDTWVzc2FnZURlZmluaXRpb25PYmplY3RWM1tdKTogUHJvbWlzZTxJQUNNZXNzYWdlRGVmaW5pdGlvbk9iamVjdFtdPiA9PiB7XG4gIHJldHVybiBjaHVua3MubWFwKChtZXNzYWdlOiBJQUNNZXNzYWdlRGVmaW5pdGlvbk9iamVjdFYzKSA9PiB7XG4gICAgbGV0IG5ld1BheWxvYWQ6IElBQ01lc3NhZ2VzVjJcbiAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgY2FzZSBJQUNNZXNzYWdlVHlwZS5BY2NvdW50U2hhcmVSZXNwb25zZTpcbiAgICAgICAgY29uc3QgeyBtYXN0ZXJGaW5nZXJwcmludCwgaXNBY3RpdmUsIGdyb3VwSWQsIGdyb3VwTGFiZWwsIC4uLnJlc3QgfSA9IG1lc3NhZ2UucGF5bG9hZCBhcyBBY2NvdW50U2hhcmVSZXNwb25zZVYzXG4gICAgICAgIG5ld1BheWxvYWQgPSB7XG4gICAgICAgICAgLi4ubWVzc2FnZS5wYXlsb2FkXG4gICAgICAgIH0gYXMgYW55XG4gICAgICAgIG5ld1BheWxvYWQgPSByZXN0XG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIG5ld1BheWxvYWQgPSBtZXNzYWdlLnBheWxvYWQgYXMgRXhjbHVkZTxJQUNNZXNzYWdlc1YzLCBBY2NvdW50U2hhcmVSZXNwb25zZVYzPiBhcyBhbnlcbiAgICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IG1lc3NhZ2UuaWQudG9TdHJpbmcoKS5yZXBlYXQoMTApLnNsaWNlKDAsIDEwKSwgLy8gV2UgbmVlZCB0byBhc3N1bWUgdGhlIGlkIGlzIFwiMFwiLCBzbyB3ZSBuZWVkIHRvIHJlcGVhdCBpdCAxMCB0aW1lc1xuICAgICAgdHlwZTogbWVzc2FnZS50eXBlLFxuICAgICAgcHJvdG9jb2w6IG1lc3NhZ2UucHJvdG9jb2wsXG4gICAgICBwYXlsb2FkOiBuZXdQYXlsb2FkXG4gICAgfVxuICB9KVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZXJpYWxpemVyU2VydmljZSB7XG4gIHB1YmxpYyBfc2luZ2xlQ2h1bmtTaXplOiBudW1iZXIgPSBkZWZhdWx0VmFsdWVzLlNFVFRJTkdTX1NFUklBTElaRVJfU0lOR0xFX0NIVU5LX1NJWkVcbiAgcHVibGljIF9tdWx0aUNodW5rU2l6ZTogbnVtYmVyID0gZGVmYXVsdFZhbHVlcy5TRVRUSU5HU19TRVJJQUxJWkVSX01VTFRJX0NIVU5LX1NJWkVcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlcmlhbGl6ZXI6IFNlcmlhbGl6ZXIgPSBTZXJpYWxpemVyLmdldEluc3RhbmNlKClcbiAgcHJpdmF0ZSByZWFkb25seSBzZXJpYWxpemVyVjM6IFNlcmlhbGl6ZXJWMyA9IFNlcmlhbGl6ZXJWMy5nZXRJbnN0YW5jZSgpXG5cbiAgcHJpdmF0ZSBfdXNlVjM6IGJvb2xlYW4gPSBkZWZhdWx0VmFsdWVzLlNFVFRJTkdTX1NFUklBTElaRVJfRU5BQkxFX1YzXG4gIHByaXZhdGUgX2Rpc3BsYXlUaW1lUGVyQ2h1bms6IG51bWJlciA9IGRlZmF1bHRWYWx1ZXMuU0VUVElOR1NfU0VSSUFMSVpFUl9DSFVOS19USU1FXG5cbiAgcHVibGljIGdldCB1c2VWMygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdXNlVjNcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdXNlVjModmFsdWU6IGJvb2xlYW4pIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIHRoaXMuaW50ZXJuYWxTdG9yYWdlU2VydmljZS5zZXQoSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfRU5BQkxFX1YzLCB2YWx1ZSkuY2F0Y2goY29uc29sZS5lcnJvcilcbiAgICB0aGlzLl91c2VWMyA9IHZhbHVlXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpbmdsZUNodW5rU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zaW5nbGVDaHVua1NpemVcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2luZ2xlQ2h1bmtTaXplKHZhbHVlOiBudW1iZXIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIHRoaXMuaW50ZXJuYWxTdG9yYWdlU2VydmljZS5zZXQoSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfU0lOR0xFX0NIVU5LX1NJWkUsIHZhbHVlKS5jYXRjaChjb25zb2xlLmVycm9yKVxuICAgIHRoaXMuX3NpbmdsZUNodW5rU2l6ZSA9IHZhbHVlXG4gIH1cblxuICBwdWJsaWMgZ2V0IG11bHRpQ2h1bmtTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpQ2h1bmtTaXplXG4gIH1cblxuICBwdWJsaWMgc2V0IG11bHRpQ2h1bmtTaXplKHZhbHVlOiBudW1iZXIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIHRoaXMuaW50ZXJuYWxTdG9yYWdlU2VydmljZS5zZXQoSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfTVVMVElfQ0hVTktfU0laRSwgdmFsdWUpLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gICAgdGhpcy5fbXVsdGlDaHVua1NpemUgPSB2YWx1ZVxuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5VGltZVBlckNodW5rKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUaW1lUGVyQ2h1bmtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlzcGxheVRpbWVQZXJDaHVuayh2YWx1ZTogbnVtYmVyKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICB0aGlzLmludGVybmFsU3RvcmFnZVNlcnZpY2Uuc2V0KEludGVybmFsU3RvcmFnZUtleS5TRVRUSU5HU19TRVJJQUxJWkVSX0NIVU5LX1RJTUUsIHZhbHVlKS5jYXRjaChjb25zb2xlLmVycm9yKVxuICAgIHRoaXMuX2Rpc3BsYXlUaW1lUGVyQ2h1bmsgPSB2YWx1ZVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbnRlcm5hbFN0b3JhZ2VTZXJ2aWNlOiBJbnRlcm5hbFN0b3JhZ2VTZXJ2aWNlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICB0aGlzLmxvYWRTZXR0aW5ncygpLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVzZXRTZXR0aW5ncygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl91c2VWMyA9IGRlZmF1bHRWYWx1ZXMuU0VUVElOR1NfU0VSSUFMSVpFUl9FTkFCTEVfVjNcbiAgICB0aGlzLl9zaW5nbGVDaHVua1NpemUgPSBkZWZhdWx0VmFsdWVzLlNFVFRJTkdTX1NFUklBTElaRVJfU0lOR0xFX0NIVU5LX1NJWkVcbiAgICB0aGlzLl9tdWx0aUNodW5rU2l6ZSA9IGRlZmF1bHRWYWx1ZXMuU0VUVElOR1NfU0VSSUFMSVpFUl9NVUxUSV9DSFVOS19TSVpFXG4gICAgdGhpcy5fZGlzcGxheVRpbWVQZXJDaHVuayA9IGRlZmF1bHRWYWx1ZXMuU0VUVElOR1NfU0VSSUFMSVpFUl9DSFVOS19USU1FXG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICB0aGlzLmludGVybmFsU3RvcmFnZVNlcnZpY2UuZGVsZXRlKEludGVybmFsU3RvcmFnZUtleS5TRVRUSU5HU19TRVJJQUxJWkVSX0VOQUJMRV9WMyksXG4gICAgICB0aGlzLmludGVybmFsU3RvcmFnZVNlcnZpY2UuZGVsZXRlKEludGVybmFsU3RvcmFnZUtleS5TRVRUSU5HU19TRVJJQUxJWkVSX1NJTkdMRV9DSFVOS19TSVpFKSxcbiAgICAgIHRoaXMuaW50ZXJuYWxTdG9yYWdlU2VydmljZS5kZWxldGUoSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfTVVMVElfQ0hVTktfU0laRSksXG4gICAgICB0aGlzLmludGVybmFsU3RvcmFnZVNlcnZpY2UuZGVsZXRlKEludGVybmFsU3RvcmFnZUtleS5TRVRUSU5HU19TRVJJQUxJWkVSX0NIVU5LX1RJTUUpXG4gICAgXSlcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXJpYWxpemUoY2h1bmtzOiBJQUNNZXNzYWdlRGVmaW5pdGlvbk9iamVjdFYzW10pOiBQcm9taXNlPHN0cmluZ1tdIHwgc3RyaW5nPiB7XG4gICAgaWYgKHRoaXMudXNlVjMpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZVYzKGNodW5rcylcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplVjIoY2h1bmtzKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZXNlcmlhbGl6ZShjaHVua3M6IHN0cmluZyB8IHN0cmluZ1tdKTogUHJvbWlzZTxJQUNNZXNzYWdlRGVmaW5pdGlvbk9iamVjdFYzW10+IHtcbiAgICBjb25zdCBwYXJzZWRDaHVua3M6IHN0cmluZ1tdID0gcGFyc2VJQUNVcmwoY2h1bmtzLCAnZCcpXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLmRlc2VyaWFsaXplVjIocGFyc2VkQ2h1bmtzKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3IgJiYgZXJyb3IuYXZhaWxhYmxlUGFnZXMgJiYgZXJyb3IudG90YWxQYWdlcykge1xuICAgICAgICB0aHJvdyBlcnJvclxuICAgICAgfVxuXG4gICAgICBpZiAocGFyc2VkQ2h1bmtzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZVYzKHBhcnNlZENodW5rc1swXSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGRlc2VyaWFsaXplIGlucHV0JylcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRTZXR0aW5ncygpIHtcbiAgICB0aGlzLmludGVybmFsU3RvcmFnZVNlcnZpY2VcbiAgICAgIC5nZXQoSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfRU5BQkxFX1YzKVxuICAgICAgLnRoZW4oKHNldHRpbmcpID0+ICh0aGlzLl91c2VWMyA9IHNldHRpbmcpKVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIC5jYXRjaChjb25zb2xlLmVycm9yKVxuICAgIHRoaXMuaW50ZXJuYWxTdG9yYWdlU2VydmljZVxuICAgICAgLmdldChJbnRlcm5hbFN0b3JhZ2VLZXkuU0VUVElOR1NfU0VSSUFMSVpFUl9DSFVOS19USU1FKVxuICAgICAgLnRoZW4oKHNldHRpbmcpID0+ICh0aGlzLl9kaXNwbGF5VGltZVBlckNodW5rID0gc2V0dGluZykpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgLmNhdGNoKGNvbnNvbGUuZXJyb3IpXG4gICAgdGhpcy5pbnRlcm5hbFN0b3JhZ2VTZXJ2aWNlXG4gICAgICAuZ2V0KEludGVybmFsU3RvcmFnZUtleS5TRVRUSU5HU19TRVJJQUxJWkVSX1NJTkdMRV9DSFVOS19TSVpFKVxuICAgICAgLnRoZW4oKHNldHRpbmcpID0+ICh0aGlzLl9zaW5nbGVDaHVua1NpemUgPSBzZXR0aW5nKSlcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAuY2F0Y2goY29uc29sZS5lcnJvcilcbiAgICB0aGlzLmludGVybmFsU3RvcmFnZVNlcnZpY2VcbiAgICAgIC5nZXQoSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfTVVMVElfQ0hVTktfU0laRSlcbiAgICAgIC50aGVuKChzZXR0aW5nKSA9PiAodGhpcy5fbXVsdGlDaHVua1NpemUgPSBzZXR0aW5nKSlcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAuY2F0Y2goY29uc29sZS5lcnJvcilcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2VyaWFsaXplVjIoY2h1bmtzOiBJQUNNZXNzYWdlRGVmaW5pdGlvbk9iamVjdFYzW10pOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgZGF0YVYyID0gYXdhaXQgY29udmVydFYzVG9WMihjaHVua3MpXG5cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVyLnNlcmlhbGl6ZShkYXRhVjIsIHRoaXMuc2luZ2xlQ2h1bmtTaXplLCB0aGlzLm11bHRpQ2h1bmtTaXplKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkZXNlcmlhbGl6ZVYyKGNodW5rczogc3RyaW5nW10pOiBQcm9taXNlPElBQ01lc3NhZ2VEZWZpbml0aW9uT2JqZWN0VjNbXT4ge1xuICAgIGNvbnN0IHYyRGF0YSA9IGF3YWl0IHRoaXMuc2VyaWFsaXplci5kZXNlcmlhbGl6ZShjaHVua3MpXG5cbiAgICByZXR1cm4gY29udmVydFYyVG9WMyh2MkRhdGEpXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNlcmlhbGl6ZVYzKGNodW5rczogSUFDTWVzc2FnZURlZmluaXRpb25PYmplY3RWM1tdKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVyVjMuc2VyaWFsaXplKGNodW5rcylcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVzZXJpYWxpemVWMyhjaHVua3M6IHN0cmluZyk6IFByb21pc2U8SUFDTWVzc2FnZURlZmluaXRpb25PYmplY3RWM1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplclYzLmRlc2VyaWFsaXplKGNodW5rcylcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export class BaseStorage {
|
|
2
|
+
constructor(storage, defaultValues, drivers = []) {
|
|
3
|
+
this.defaultValues = defaultValues;
|
|
4
|
+
this.storage = Promise.all(drivers.map((driver) => storage.defineDriver(driver))).then(() => storage.create());
|
|
5
|
+
}
|
|
6
|
+
async getStorage() {
|
|
7
|
+
return this.storage;
|
|
8
|
+
}
|
|
9
|
+
async get(key) {
|
|
10
|
+
const storage = await this.getStorage();
|
|
11
|
+
const value = await storage.get(key);
|
|
12
|
+
const result = value !== null && value !== undefined ? value : this.defaultValues[key];
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
async set(key, value) {
|
|
16
|
+
const storage = await this.getStorage();
|
|
17
|
+
return storage.set(key, value);
|
|
18
|
+
}
|
|
19
|
+
async delete(key) {
|
|
20
|
+
try {
|
|
21
|
+
const storage = await this.getStorage();
|
|
22
|
+
await storage.remove(key);
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yYWdlL2Jhc2Uuc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUNFLE9BQWdCLEVBQ0csYUFBbUUsRUFDdEYsVUFBaUIsRUFBRTtRQURBLGtCQUFhLEdBQWIsYUFBYSxDQUFzRDtRQUd0RixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBQ2hILENBQUM7SUFFUyxLQUFLLENBQUMsVUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQXdCLEdBQU07UUFDNUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDdkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sTUFBTSxHQUE2QixLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVoSCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUF3QixHQUFNLEVBQUUsS0FBK0I7UUFDN0UsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFdkMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU0sQ0FBd0IsR0FBTTtRQUMvQyxJQUFJLENBQUM7WUFDSCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtZQUN2QyxNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7WUFFekIsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJ1xuXG5leHBvcnQgY2xhc3MgQmFzZVN0b3JhZ2U8U2V0dGluZ3NLZXkgZXh0ZW5kcyBzdHJpbmcsIFNldHRpbmdzS2V5UmV0dXJuVHlwZSBleHRlbmRzIFJlY29yZDxTZXR0aW5nc0tleSwgdW5rbm93bj4+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlOiBQcm9taXNlPFN0b3JhZ2U+XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RvcmFnZTogU3RvcmFnZSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFZhbHVlczogeyBba2V5IGluIFNldHRpbmdzS2V5XTogU2V0dGluZ3NLZXlSZXR1cm5UeXBlW2tleV0gfSxcbiAgICBkcml2ZXJzOiBhbnlbXSA9IFtdXG4gICkge1xuICAgIHRoaXMuc3RvcmFnZSA9IFByb21pc2UuYWxsKGRyaXZlcnMubWFwKChkcml2ZXIpID0+IHN0b3JhZ2UuZGVmaW5lRHJpdmVyKGRyaXZlcikpKS50aGVuKCgpID0+IHN0b3JhZ2UuY3JlYXRlKCkpXG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0U3RvcmFnZSgpOiBQcm9taXNlPFN0b3JhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0PEsgZXh0ZW5kcyBTZXR0aW5nc0tleT4oa2V5OiBLKTogUHJvbWlzZTxTZXR0aW5nc0tleVJldHVyblR5cGVbS10+IHtcbiAgICBjb25zdCBzdG9yYWdlID0gYXdhaXQgdGhpcy5nZXRTdG9yYWdlKClcbiAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IHN0b3JhZ2UuZ2V0KGtleSlcbiAgICBjb25zdCByZXN1bHQ6IFNldHRpbmdzS2V5UmV0dXJuVHlwZVtLXSA9IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IHRoaXMuZGVmYXVsdFZhbHVlc1trZXldXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2V0PEsgZXh0ZW5kcyBTZXR0aW5nc0tleT4oa2V5OiBLLCB2YWx1ZTogU2V0dGluZ3NLZXlSZXR1cm5UeXBlW0tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RvcmFnZSA9IGF3YWl0IHRoaXMuZ2V0U3RvcmFnZSgpXG5cbiAgICByZXR1cm4gc3RvcmFnZS5zZXQoa2V5LCB2YWx1ZSlcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZWxldGU8SyBleHRlbmRzIFNldHRpbmdzS2V5PihrZXk6IEspOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RvcmFnZSA9IGF3YWl0IHRoaXMuZ2V0U3RvcmFnZSgpXG4gICAgICBhd2FpdCBzdG9yYWdlLnJlbW92ZShrZXkpXG5cbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BaseStorage } from './base.storage';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ionic/storage-angular";
|
|
5
|
+
export var InternalStorageKey;
|
|
6
|
+
(function (InternalStorageKey) {
|
|
7
|
+
InternalStorageKey["SETTINGS_SERIALIZER_ENABLE_V3"] = "SETTINGS_SERIALIZER_ENABLE_V3";
|
|
8
|
+
InternalStorageKey["SETTINGS_SERIALIZER_CHUNK_TIME"] = "SETTINGS_SERIALIZER_CHUNK_TIME";
|
|
9
|
+
InternalStorageKey["SETTINGS_SERIALIZER_SINGLE_CHUNK_SIZE"] = "SETTINGS_SERIALIZER_SINGLE_CHUNK_SIZE";
|
|
10
|
+
InternalStorageKey["SETTINGS_SERIALIZER_MULTI_CHUNK_SIZE"] = "SETTINGS_SERIALIZER_MULTI_CHUNK_SIZE";
|
|
11
|
+
InternalStorageKey["SETTINGS_TRADING_USE_MTPELERIN"] = "SETTINGS_TRADING_USE_MTPELERIN";
|
|
12
|
+
})(InternalStorageKey || (InternalStorageKey = {}));
|
|
13
|
+
export const defaultValues = {
|
|
14
|
+
[InternalStorageKey.SETTINGS_SERIALIZER_ENABLE_V3]: true,
|
|
15
|
+
[InternalStorageKey.SETTINGS_SERIALIZER_CHUNK_TIME]: 200,
|
|
16
|
+
[InternalStorageKey.SETTINGS_SERIALIZER_SINGLE_CHUNK_SIZE]: 500,
|
|
17
|
+
[InternalStorageKey.SETTINGS_SERIALIZER_MULTI_CHUNK_SIZE]: 250,
|
|
18
|
+
[InternalStorageKey.SETTINGS_TRADING_USE_MTPELERIN]: true
|
|
19
|
+
};
|
|
20
|
+
export class InternalStorageService extends BaseStorage {
|
|
21
|
+
constructor(storage) {
|
|
22
|
+
super(storage, defaultValues);
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InternalStorageService, deps: [{ token: i1.Storage }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InternalStorageService, providedIn: 'root' }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InternalStorageService, decorators: [{
|
|
28
|
+
type: Injectable,
|
|
29
|
+
args: [{
|
|
30
|
+
providedIn: 'root'
|
|
31
|
+
}]
|
|
32
|
+
}], ctorParameters: () => [{ type: i1.Storage }] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yYWdlL3N0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBRTVDLE1BQU0sQ0FBTixJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDNUIscUZBQStELENBQUE7SUFDL0QsdUZBQWlFLENBQUE7SUFDakUscUdBQStFLENBQUE7SUFDL0UsbUdBQTZFLENBQUE7SUFDN0UsdUZBQWlFLENBQUE7QUFDbkUsQ0FBQyxFQU5XLGtCQUFrQixLQUFsQixrQkFBa0IsUUFNN0I7QUFZRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQXFDO0lBQzdELENBQUMsa0JBQWtCLENBQUMsNkJBQTZCLENBQUMsRUFBRSxJQUFJO0lBQ3hELENBQUMsa0JBQWtCLENBQUMsOEJBQThCLENBQUMsRUFBRSxHQUFHO0lBQ3hELENBQUMsa0JBQWtCLENBQUMscUNBQXFDLENBQUMsRUFBRSxHQUFHO0lBQy9ELENBQUMsa0JBQWtCLENBQUMsb0NBQW9DLENBQUMsRUFBRSxHQUFHO0lBQzlELENBQUMsa0JBQWtCLENBQUMsOEJBQThCLENBQUMsRUFBRSxJQUFJO0NBQzFELENBQUE7QUFLRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsV0FBNkQ7SUFDdkcsWUFBWSxPQUFnQjtRQUMxQixLQUFLLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQy9CLENBQUM7K0dBSFUsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgU3RvcmFnZSB9IGZyb20gJ0Bpb25pYy9zdG9yYWdlLWFuZ3VsYXInXG5pbXBvcnQgeyBCYXNlU3RvcmFnZSB9IGZyb20gJy4vYmFzZS5zdG9yYWdlJ1xuXG5leHBvcnQgZW51bSBJbnRlcm5hbFN0b3JhZ2VLZXkge1xuICBTRVRUSU5HU19TRVJJQUxJWkVSX0VOQUJMRV9WMyA9ICdTRVRUSU5HU19TRVJJQUxJWkVSX0VOQUJMRV9WMycsXG4gIFNFVFRJTkdTX1NFUklBTElaRVJfQ0hVTktfVElNRSA9ICdTRVRUSU5HU19TRVJJQUxJWkVSX0NIVU5LX1RJTUUnLFxuICBTRVRUSU5HU19TRVJJQUxJWkVSX1NJTkdMRV9DSFVOS19TSVpFID0gJ1NFVFRJTkdTX1NFUklBTElaRVJfU0lOR0xFX0NIVU5LX1NJWkUnLFxuICBTRVRUSU5HU19TRVJJQUxJWkVSX01VTFRJX0NIVU5LX1NJWkUgPSAnU0VUVElOR1NfU0VSSUFMSVpFUl9NVUxUSV9DSFVOS19TSVpFJyxcbiAgU0VUVElOR1NfVFJBRElOR19VU0VfTVRQRUxFUklOID0gJ1NFVFRJTkdTX1RSQURJTkdfVVNFX01UUEVMRVJJTidcbn1cblxuaW50ZXJmYWNlIEludGVybmFsU3RvcmFnZUtleVJldHVyblR5cGUge1xuICBbSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfRU5BQkxFX1YzXTogYm9vbGVhblxuICBbSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfQ0hVTktfVElNRV06IG51bWJlclxuICBbSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfU0lOR0xFX0NIVU5LX1NJWkVdOiBudW1iZXJcbiAgW0ludGVybmFsU3RvcmFnZUtleS5TRVRUSU5HU19TRVJJQUxJWkVSX01VTFRJX0NIVU5LX1NJWkVdOiBudW1iZXJcbiAgW0ludGVybmFsU3RvcmFnZUtleS5TRVRUSU5HU19UUkFESU5HX1VTRV9NVFBFTEVSSU5dOiBib29sZWFuXG59XG5cbnR5cGUgSW50ZXJuYWxTdG9yYWdlS2V5UmV0dXJuRGVmYXVsdHMgPSB7IFtrZXkgaW4gSW50ZXJuYWxTdG9yYWdlS2V5XTogSW50ZXJuYWxTdG9yYWdlS2V5UmV0dXJuVHlwZVtrZXldIH1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRWYWx1ZXM6IEludGVybmFsU3RvcmFnZUtleVJldHVybkRlZmF1bHRzID0ge1xuICBbSW50ZXJuYWxTdG9yYWdlS2V5LlNFVFRJTkdTX1NFUklBTElaRVJfRU5BQkxFX1YzXTogdHJ1ZSxcbiAgW0ludGVybmFsU3RvcmFnZUtleS5TRVRUSU5HU19TRVJJQUxJWkVSX0NIVU5LX1RJTUVdOiAyMDAsXG4gIFtJbnRlcm5hbFN0b3JhZ2VLZXkuU0VUVElOR1NfU0VSSUFMSVpFUl9TSU5HTEVfQ0hVTktfU0laRV06IDUwMCxcbiAgW0ludGVybmFsU3RvcmFnZUtleS5TRVRUSU5HU19TRVJJQUxJWkVSX01VTFRJX0NIVU5LX1NJWkVdOiAyNTAsXG4gIFtJbnRlcm5hbFN0b3JhZ2VLZXkuU0VUVElOR1NfVFJBRElOR19VU0VfTVRQRUxFUklOXTogdHJ1ZVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN0b3JhZ2VTZXJ2aWNlIGV4dGVuZHMgQmFzZVN0b3JhZ2U8SW50ZXJuYWxTdG9yYWdlS2V5LCBJbnRlcm5hbFN0b3JhZ2VLZXlSZXR1cm5UeXBlPiB7XG4gIGNvbnN0cnVjdG9yKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgICBzdXBlcihzdG9yYWdlLCBkZWZhdWx0VmFsdWVzKVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { erc20Tokens } from '@wallfree-dev/ethereum';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { createV0EthereumERC20Token } from '../../utils/protocol/protocol-v0-adapter';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TokenService {
|
|
6
|
+
getRecipientToken(tx) {
|
|
7
|
+
// Guard against undefined tx.to[0] (e.g., Solana transactions may have empty to array)
|
|
8
|
+
if (!tx.to || !tx.to[0]) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
return Object.values(erc20Tokens).find((token) => token.contractAddress.toLowerCase() === tx.to[0].toLowerCase());
|
|
12
|
+
}
|
|
13
|
+
async getTokenTransferDetailsFromSigned(tx, signedTransaction, recipientToken) {
|
|
14
|
+
const token = recipientToken ?? this.getRecipientToken(tx);
|
|
15
|
+
if (token !== undefined) {
|
|
16
|
+
const genericErc20 = await createV0EthereumERC20Token(token);
|
|
17
|
+
try {
|
|
18
|
+
const transactions = await genericErc20.getTransactionDetailsFromSigned(signedTransaction);
|
|
19
|
+
if (transactions.length !== 1) {
|
|
20
|
+
throw Error('`getTransactionDetailsFromSigned` returned more than 1 transaction!');
|
|
21
|
+
}
|
|
22
|
+
return transactions[0];
|
|
23
|
+
}
|
|
24
|
+
catch (error) { }
|
|
25
|
+
}
|
|
26
|
+
return tx;
|
|
27
|
+
}
|
|
28
|
+
async getTokenTransferDetails(tx, unsignedTransaction, recipientToken) {
|
|
29
|
+
const token = recipientToken ?? this.getRecipientToken(tx);
|
|
30
|
+
if (token !== undefined) {
|
|
31
|
+
const genericErc20 = await createV0EthereumERC20Token(token);
|
|
32
|
+
try {
|
|
33
|
+
const transactions = await genericErc20.getTransactionDetails(unsignedTransaction);
|
|
34
|
+
if (transactions.length !== 1) {
|
|
35
|
+
throw Error('`getTransactionDetails` returned more than 1 transaction!');
|
|
36
|
+
}
|
|
37
|
+
return transactions[0];
|
|
38
|
+
}
|
|
39
|
+
catch (error) { }
|
|
40
|
+
}
|
|
41
|
+
return tx;
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TokenService, providedIn: 'root' }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TokenService, decorators: [{
|
|
47
|
+
type: Injectable,
|
|
48
|
+
args: [{
|
|
49
|
+
providedIn: 'root'
|
|
50
|
+
}]
|
|
51
|
+
}] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdG9rZW4vdG9rZW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUE7O0FBS3JGLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLGlCQUFpQixDQUFDLEVBQXNCO1FBQzdDLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLFNBQVMsQ0FBQTtRQUNsQixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQXlCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZJLENBQUM7SUFFTSxLQUFLLENBQUMsaUNBQWlDLENBQzVDLEVBQXNCLEVBQ3RCLGlCQUFvQyxFQUNwQyxjQUFzQjtRQUV0QixNQUFNLEtBQUssR0FBc0IsY0FBYyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUM3RSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixNQUFNLFlBQVksR0FBa0IsTUFBTSwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUUzRSxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxZQUFZLEdBQXlCLE1BQU0sWUFBWSxDQUFDLCtCQUErQixDQUFDLGlCQUFpQixDQUFDLENBQUE7Z0JBRWhILElBQUksWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDOUIsTUFBTSxLQUFLLENBQUMscUVBQXFFLENBQUMsQ0FBQTtnQkFDcEYsQ0FBQztnQkFFRCxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN4QixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFBLENBQUM7UUFDcEIsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUVNLEtBQUssQ0FBQyx1QkFBdUIsQ0FDbEMsRUFBc0IsRUFDdEIsbUJBQXdDLEVBQ3hDLGNBQXNCO1FBRXRCLE1BQU0sS0FBSyxHQUFzQixjQUFjLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzdFLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sWUFBWSxHQUFrQixNQUFNLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRTNFLElBQUksQ0FBQztnQkFDSCxNQUFNLFlBQVksR0FBeUIsTUFBTSxZQUFZLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtnQkFDeEcsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUM5QixNQUFNLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFBO2dCQUMxRSxDQUFDO2dCQUVELE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3hCLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUEsQ0FBQztRQUNwQixDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDOytHQXBEVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBaXJHYXBUcmFuc2FjdGlvbiwgSUNvaW5Qcm90b2NvbCwgU2lnbmVkVHJhbnNhY3Rpb24sIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAd2FsbGZyZWUtZGV2L2NvaW5saWItY29yZSdcbmltcG9ydCB7IEVSQzIwVG9rZW5NZXRhZGF0YSwgZXJjMjBUb2tlbnMgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2V0aGVyZXVtJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnLi4vLi4vdHlwZXMvVG9rZW4nXG5pbXBvcnQgeyBjcmVhdGVWMEV0aGVyZXVtRVJDMjBUb2tlbiB9IGZyb20gJy4uLy4uL3V0aWxzL3Byb3RvY29sL3Byb3RvY29sLXYwLWFkYXB0ZXInXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRva2VuU2VydmljZSB7XG4gIHB1YmxpYyBnZXRSZWNpcGllbnRUb2tlbih0eDogSUFpckdhcFRyYW5zYWN0aW9uKTogVG9rZW4gfCB1bmRlZmluZWQge1xuICAgIC8vIEd1YXJkIGFnYWluc3QgdW5kZWZpbmVkIHR4LnRvWzBdIChlLmcuLCBTb2xhbmEgdHJhbnNhY3Rpb25zIG1heSBoYXZlIGVtcHR5IHRvIGFycmF5KVxuICAgIGlmICghdHgudG8gfHwgIXR4LnRvWzBdKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKGVyYzIwVG9rZW5zKS5maW5kKCh0b2tlbjogRVJDMjBUb2tlbk1ldGFkYXRhKSA9PiB0b2tlbi5jb250cmFjdEFkZHJlc3MudG9Mb3dlckNhc2UoKSA9PT0gdHgudG9bMF0udG9Mb3dlckNhc2UoKSlcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRUb2tlblRyYW5zZmVyRGV0YWlsc0Zyb21TaWduZWQoXG4gICAgdHg6IElBaXJHYXBUcmFuc2FjdGlvbixcbiAgICBzaWduZWRUcmFuc2FjdGlvbjogU2lnbmVkVHJhbnNhY3Rpb24sXG4gICAgcmVjaXBpZW50VG9rZW4/OiBUb2tlblxuICApOiBQcm9taXNlPElBaXJHYXBUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHRva2VuOiBUb2tlbiB8IHVuZGVmaW5lZCA9IHJlY2lwaWVudFRva2VuID8/IHRoaXMuZ2V0UmVjaXBpZW50VG9rZW4odHgpXG4gICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGdlbmVyaWNFcmMyMDogSUNvaW5Qcm90b2NvbCA9IGF3YWl0IGNyZWF0ZVYwRXRoZXJldW1FUkMyMFRva2VuKHRva2VuKVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbnM6IElBaXJHYXBUcmFuc2FjdGlvbltdID0gYXdhaXQgZ2VuZXJpY0VyYzIwLmdldFRyYW5zYWN0aW9uRGV0YWlsc0Zyb21TaWduZWQoc2lnbmVkVHJhbnNhY3Rpb24pXG5cbiAgICAgICAgaWYgKHRyYW5zYWN0aW9ucy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcignYGdldFRyYW5zYWN0aW9uRGV0YWlsc0Zyb21TaWduZWRgIHJldHVybmVkIG1vcmUgdGhhbiAxIHRyYW5zYWN0aW9uIScpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zWzBdXG4gICAgICB9IGNhdGNoIChlcnJvcikge31cbiAgICB9XG5cbiAgICByZXR1cm4gdHhcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRUb2tlblRyYW5zZmVyRGV0YWlscyhcbiAgICB0eDogSUFpckdhcFRyYW5zYWN0aW9uLFxuICAgIHVuc2lnbmVkVHJhbnNhY3Rpb246IFVuc2lnbmVkVHJhbnNhY3Rpb24sXG4gICAgcmVjaXBpZW50VG9rZW4/OiBUb2tlblxuICApOiBQcm9taXNlPElBaXJHYXBUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHRva2VuOiBUb2tlbiB8IHVuZGVmaW5lZCA9IHJlY2lwaWVudFRva2VuID8/IHRoaXMuZ2V0UmVjaXBpZW50VG9rZW4odHgpXG4gICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGdlbmVyaWNFcmMyMDogSUNvaW5Qcm90b2NvbCA9IGF3YWl0IGNyZWF0ZVYwRXRoZXJldW1FUkMyMFRva2VuKHRva2VuKVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbnM6IElBaXJHYXBUcmFuc2FjdGlvbltdID0gYXdhaXQgZ2VuZXJpY0VyYzIwLmdldFRyYW5zYWN0aW9uRGV0YWlscyh1bnNpZ25lZFRyYW5zYWN0aW9uKVxuICAgICAgICBpZiAodHJhbnNhY3Rpb25zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IEVycm9yKCdgZ2V0VHJhbnNhY3Rpb25EZXRhaWxzYCByZXR1cm5lZCBtb3JlIHRoYW4gMSB0cmFuc2FjdGlvbiEnKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uc1swXVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHt9XG4gICAgfVxuXG4gICAgcmV0dXJuIHR4XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { IACMessageType } from '@wallfree-dev/serializer';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { flattened } from '../../utils/array';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../protocol/protocol.service";
|
|
6
|
+
import * as i2 from "../token/token.service";
|
|
7
|
+
export class TransactionService {
|
|
8
|
+
constructor(protocolService, tokenService) {
|
|
9
|
+
this.protocolService = protocolService;
|
|
10
|
+
this.tokenService = tokenService;
|
|
11
|
+
}
|
|
12
|
+
async getDetailsFromIACMessages(messages, config) {
|
|
13
|
+
const supportedMessageTypes = [IACMessageType.TransactionSignRequest, IACMessageType.TransactionSignResponse];
|
|
14
|
+
const details = await Promise.all(messages.map(async (message) => {
|
|
15
|
+
if (!supportedMessageTypes.includes(message.type)) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
const protocol = config?.overrideProtocol ?? (await this.protocolService.getProtocol(message.protocol));
|
|
19
|
+
switch (message.type) {
|
|
20
|
+
case IACMessageType.TransactionSignRequest:
|
|
21
|
+
return this.getDetailsFromUnsigned(protocol, message.payload, config?.data);
|
|
22
|
+
case IACMessageType.TransactionSignResponse:
|
|
23
|
+
return this.getDetailsFromSigned(protocol, message.payload, config?.data);
|
|
24
|
+
default:
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
return flattened(details);
|
|
29
|
+
}
|
|
30
|
+
async getDetailsFromUnsigned(protocol, unsignedTransaction,
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
|
+
data) {
|
|
33
|
+
const unsignedDetails = await protocol.getTransactionDetails(unsignedTransaction, data);
|
|
34
|
+
return Promise.all(unsignedDetails.map((details) => {
|
|
35
|
+
const token = this.tokenService.getRecipientToken(details);
|
|
36
|
+
if (token !== undefined) {
|
|
37
|
+
return this.tokenService.getTokenTransferDetails(details, unsignedTransaction, token);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return details;
|
|
41
|
+
}
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
async getDetailsFromSigned(protocol, signedTransaction,
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
+
data) {
|
|
47
|
+
const unsignedDetails = await protocol.getTransactionDetailsFromSigned(signedTransaction, data);
|
|
48
|
+
return Promise.all(unsignedDetails.map((details) => {
|
|
49
|
+
const token = this.tokenService.getRecipientToken(details);
|
|
50
|
+
if (token !== undefined) {
|
|
51
|
+
return this.tokenService.getTokenTransferDetailsFromSigned(details, signedTransaction, token);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return details;
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TransactionService, deps: [{ token: i1.ProtocolService }, { token: i2.TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
59
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TransactionService, providedIn: 'root' }); }
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TransactionService, decorators: [{
|
|
62
|
+
type: Injectable,
|
|
63
|
+
args: [{
|
|
64
|
+
providedIn: 'root'
|
|
65
|
+
}]
|
|
66
|
+
}], ctorParameters: () => [{ type: i1.ProtocolService }, { type: i2.TokenService }] });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdDLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3ZGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFBOzs7O0FBYTdDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBNkIsZUFBZ0MsRUFBbUIsWUFBMEI7UUFBN0Usb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUV2RyxLQUFLLENBQUMseUJBQXlCLENBQ3BDLFFBQXdDLEVBQ3hDLE1BQWlDO1FBRWpDLE1BQU0scUJBQXFCLEdBQXFCLENBQUMsY0FBYyxDQUFDLHNCQUFzQixFQUFFLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQy9ILE1BQU0sT0FBTyxHQUEyQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3ZELFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQXFDLEVBQUUsRUFBRTtZQUMzRCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNsRCxPQUFPLEVBQUUsQ0FBQTtZQUNYLENBQUM7WUFFRCxNQUFNLFFBQVEsR0FBa0IsTUFBTSxFQUFFLGdCQUFnQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtZQUV0SCxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxjQUFjLENBQUMsc0JBQXNCO29CQUN4QyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQThCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUNwRyxLQUFLLGNBQWMsQ0FBQyx1QkFBdUI7b0JBQ3pDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBNEIsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQ2hHO29CQUNFLE9BQU8sRUFBRSxDQUFBO1lBQ2IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUE7UUFFRCxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBRU8sS0FBSyxDQUFDLHNCQUFzQixDQUNsQyxRQUF1QixFQUN2QixtQkFBd0M7SUFDeEMsOERBQThEO0lBQzlELElBQVU7UUFFVixNQUFNLGVBQWUsR0FBeUIsTUFBTSxRQUFRLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFFN0csT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNoQixlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBMkIsRUFBRSxFQUFFO1lBQ2xELE1BQU0sS0FBSyxHQUFzQixJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQzdFLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ3ZGLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLE9BQU8sQ0FBQTtZQUNoQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsb0JBQW9CLENBQ2hDLFFBQXVCLEVBQ3ZCLGlCQUFvQztJQUNwQyw4REFBOEQ7SUFDOUQsSUFBVTtRQUVWLE1BQU0sZUFBZSxHQUF5QixNQUFNLFFBQVEsQ0FBQywrQkFBK0IsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUVySCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUEyQixFQUFFLEVBQUU7WUFDbEQsTUFBTSxLQUFLLEdBQXNCLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDN0UsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxpQ0FBaUMsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDL0YsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sT0FBTyxDQUFBO1lBQ2hCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQzsrR0FwRVUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBaXJHYXBUcmFuc2FjdGlvbiwgSUNvaW5Qcm90b2NvbCwgU2lnbmVkVHJhbnNhY3Rpb24sIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAd2FsbGZyZWUtZGV2L2NvaW5saWItY29yZSdcbmltcG9ydCB7IElBQ01lc3NhZ2VEZWZpbml0aW9uT2JqZWN0VjMsIElBQ01lc3NhZ2VUeXBlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9zZXJpYWxpemVyJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnLi4vLi4vdHlwZXMvVG9rZW4nXG5pbXBvcnQgeyBmbGF0dGVuZWQgfSBmcm9tICcuLi8uLi91dGlscy9hcnJheSdcbmltcG9ydCB7IFByb3RvY29sU2VydmljZSB9IGZyb20gJy4uL3Byb3RvY29sL3Byb3RvY29sLnNlcnZpY2UnXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tICcuLi90b2tlbi90b2tlbi5zZXJ2aWNlJ1xuXG5pbnRlcmZhY2UgSUFDTWVzc2FnZXNEZXRhaWxzQ29uZmlnIHtcbiAgb3ZlcnJpZGVQcm90b2NvbD86IElDb2luUHJvdG9jb2xcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgZGF0YT86IGFueVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3RvY29sU2VydmljZTogUHJvdG9jb2xTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IHRva2VuU2VydmljZTogVG9rZW5TZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXREZXRhaWxzRnJvbUlBQ01lc3NhZ2VzKFxuICAgIG1lc3NhZ2VzOiBJQUNNZXNzYWdlRGVmaW5pdGlvbk9iamVjdFYzW10sXG4gICAgY29uZmlnPzogSUFDTWVzc2FnZXNEZXRhaWxzQ29uZmlnXG4gICk6IFByb21pc2U8SUFpckdhcFRyYW5zYWN0aW9uW10+IHtcbiAgICBjb25zdCBzdXBwb3J0ZWRNZXNzYWdlVHlwZXM6IElBQ01lc3NhZ2VUeXBlW10gPSBbSUFDTWVzc2FnZVR5cGUuVHJhbnNhY3Rpb25TaWduUmVxdWVzdCwgSUFDTWVzc2FnZVR5cGUuVHJhbnNhY3Rpb25TaWduUmVzcG9uc2VdXG4gICAgY29uc3QgZGV0YWlsczogSUFpckdhcFRyYW5zYWN0aW9uW11bXSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgbWVzc2FnZXMubWFwKGFzeW5jIChtZXNzYWdlOiBJQUNNZXNzYWdlRGVmaW5pdGlvbk9iamVjdFYzKSA9PiB7XG4gICAgICAgIGlmICghc3VwcG9ydGVkTWVzc2FnZVR5cGVzLmluY2x1ZGVzKG1lc3NhZ2UudHlwZSkpIHtcbiAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByb3RvY29sOiBJQ29pblByb3RvY29sID0gY29uZmlnPy5vdmVycmlkZVByb3RvY29sID8/IChhd2FpdCB0aGlzLnByb3RvY29sU2VydmljZS5nZXRQcm90b2NvbChtZXNzYWdlLnByb3RvY29sKSlcblxuICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgICAgIGNhc2UgSUFDTWVzc2FnZVR5cGUuVHJhbnNhY3Rpb25TaWduUmVxdWVzdDpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERldGFpbHNGcm9tVW5zaWduZWQocHJvdG9jb2wsIG1lc3NhZ2UucGF5bG9hZCBhcyBVbnNpZ25lZFRyYW5zYWN0aW9uLCBjb25maWc/LmRhdGEpXG4gICAgICAgICAgY2FzZSBJQUNNZXNzYWdlVHlwZS5UcmFuc2FjdGlvblNpZ25SZXNwb25zZTpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERldGFpbHNGcm9tU2lnbmVkKHByb3RvY29sLCBtZXNzYWdlLnBheWxvYWQgYXMgU2lnbmVkVHJhbnNhY3Rpb24sIGNvbmZpZz8uZGF0YSlcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuXG4gICAgcmV0dXJuIGZsYXR0ZW5lZChkZXRhaWxzKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXREZXRhaWxzRnJvbVVuc2lnbmVkKFxuICAgIHByb3RvY29sOiBJQ29pblByb3RvY29sLFxuICAgIHVuc2lnbmVkVHJhbnNhY3Rpb246IFVuc2lnbmVkVHJhbnNhY3Rpb24sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBkYXRhPzogYW55XG4gICk6IFByb21pc2U8SUFpckdhcFRyYW5zYWN0aW9uW10+IHtcbiAgICBjb25zdCB1bnNpZ25lZERldGFpbHM6IElBaXJHYXBUcmFuc2FjdGlvbltdID0gYXdhaXQgcHJvdG9jb2wuZ2V0VHJhbnNhY3Rpb25EZXRhaWxzKHVuc2lnbmVkVHJhbnNhY3Rpb24sIGRhdGEpXG5cbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICB1bnNpZ25lZERldGFpbHMubWFwKChkZXRhaWxzOiBJQWlyR2FwVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgdG9rZW46IFRva2VuIHwgdW5kZWZpbmVkID0gdGhpcy50b2tlblNlcnZpY2UuZ2V0UmVjaXBpZW50VG9rZW4oZGV0YWlscylcbiAgICAgICAgaWYgKHRva2VuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy50b2tlblNlcnZpY2UuZ2V0VG9rZW5UcmFuc2ZlckRldGFpbHMoZGV0YWlscywgdW5zaWduZWRUcmFuc2FjdGlvbiwgdG9rZW4pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGRldGFpbHNcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldERldGFpbHNGcm9tU2lnbmVkKFxuICAgIHByb3RvY29sOiBJQ29pblByb3RvY29sLFxuICAgIHNpZ25lZFRyYW5zYWN0aW9uOiBTaWduZWRUcmFuc2FjdGlvbixcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGRhdGE/OiBhbnlcbiAgKTogUHJvbWlzZTxJQWlyR2FwVHJhbnNhY3Rpb25bXT4ge1xuICAgIGNvbnN0IHVuc2lnbmVkRGV0YWlsczogSUFpckdhcFRyYW5zYWN0aW9uW10gPSBhd2FpdCBwcm90b2NvbC5nZXRUcmFuc2FjdGlvbkRldGFpbHNGcm9tU2lnbmVkKHNpZ25lZFRyYW5zYWN0aW9uLCBkYXRhKVxuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgICAgdW5zaWduZWREZXRhaWxzLm1hcCgoZGV0YWlsczogSUFpckdhcFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHRva2VuOiBUb2tlbiB8IHVuZGVmaW5lZCA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldFJlY2lwaWVudFRva2VuKGRldGFpbHMpXG4gICAgICAgIGlmICh0b2tlbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5TZXJ2aWNlLmdldFRva2VuVHJhbnNmZXJEZXRhaWxzRnJvbVNpZ25lZChkZXRhaWxzLCBzaWduZWRUcmFuc2FjdGlvbiwgdG9rZW4pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGRldGFpbHNcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
|