@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.
Files changed (623) hide show
  1. package/README.md +60 -0
  2. package/esm2022/lib/airgap-angular-core.module.mjs +63 -0
  3. package/esm2022/lib/base/base.component.mjs +38 -0
  4. package/esm2022/lib/base/base.facade.mjs +37 -0
  5. package/esm2022/lib/capacitor-plugins/definitions.mjs +15 -0
  6. package/esm2022/lib/capacitor-plugins/injection-tokens.mjs +11 -0
  7. package/esm2022/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin-wrapper.mjs +67 -0
  8. package/esm2022/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin.mjs +247 -0
  9. package/esm2022/lib/components/account-item/account-item.component.mjs +30 -0
  10. package/esm2022/lib/components/account-selection/account-selection.component.mjs +61 -0
  11. package/esm2022/lib/components/components.module.mjs +97 -0
  12. package/esm2022/lib/components/currency-symbol/currency-symbol.component.mjs +45 -0
  13. package/esm2022/lib/components/currency-symbol/currency-symbol.facade.mjs +8 -0
  14. package/esm2022/lib/components/currency-symbol/currency-symbol.types.mjs +2 -0
  15. package/esm2022/lib/components/from-to/from-to.component.mjs +100 -0
  16. package/esm2022/lib/components/iac-qr/iac-qr.component.mjs +192 -0
  17. package/esm2022/lib/components/identicon/identicon.component.mjs +51 -0
  18. package/esm2022/lib/components/isolated-modules-badges/isolated-modules-badges.component.mjs +16 -0
  19. package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.component.mjs +43 -0
  20. package/esm2022/lib/components/isolated-modules-details/isolated-modules-details.facade.mjs +7 -0
  21. package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.component.mjs +50 -0
  22. package/esm2022/lib/components/isolated-modules-list/isolated-modules-list.facade.mjs +7 -0
  23. package/esm2022/lib/components/isolated-modules-onboarding/isolated-modules-onboarding.component.mjs +12 -0
  24. package/esm2022/lib/components/network-badge/network-badge.component.mjs +19 -0
  25. package/esm2022/lib/components/qr/qr.component.mjs +36 -0
  26. package/esm2022/lib/components/qr-settings/qr-settings.component.mjs +30 -0
  27. package/esm2022/lib/components/titled-address/titled-address.component.mjs +31 -0
  28. package/esm2022/lib/components/titled-text/titled-text.component.mjs +28 -0
  29. package/esm2022/lib/config/app-config.mjs +3 -0
  30. package/esm2022/lib/pages/isolated-modules-list/isolated-modules-list.facade.mjs +7 -0
  31. package/esm2022/lib/pipes/amount-converter/amount-converter.pipe.mjs +82 -0
  32. package/esm2022/lib/pipes/fee-converter/fee-converter.pipe.mjs +36 -0
  33. package/esm2022/lib/pipes/pipes.module.mjs +19 -0
  34. package/esm2022/lib/pipes/wallet-filter/wallet-filter.pipe.mjs +36 -0
  35. package/esm2022/lib/protocol/adapter/protocol-v0-adapter.mjs +880 -0
  36. package/esm2022/lib/protocol/isolated/base-isolated.mjs +27 -0
  37. package/esm2022/lib/protocol/isolated/block-explorer-isolated.mjs +32 -0
  38. package/esm2022/lib/protocol/isolated/protocol-offline-isolated.mjs +37 -0
  39. package/esm2022/lib/protocol/isolated/protocol-online-isolated.mjs +52 -0
  40. package/esm2022/lib/protocol/isolated/v3-serializer-companion-isolated.mjs +35 -0
  41. package/esm2022/lib/services/address/address.service.mjs +78 -0
  42. package/esm2022/lib/services/clipboard/clipboard.service.mjs +48 -0
  43. package/esm2022/lib/services/deeplink/deeplink.service.mjs +73 -0
  44. package/esm2022/lib/services/environment/base-environment.service.mjs +6 -0
  45. package/esm2022/lib/services/filesystem/filesystem.service.mjs +291 -0
  46. package/esm2022/lib/services/iac/base.iac.service.mjs +155 -0
  47. package/esm2022/lib/services/iac/message-handler-single.mjs +48 -0
  48. package/esm2022/lib/services/iac/message-handler.mjs +22 -0
  49. package/esm2022/lib/services/iac/qr-generator.mjs +17 -0
  50. package/esm2022/lib/services/image/fetcher/image-direct.fetcher.mjs +16 -0
  51. package/esm2022/lib/services/image/fetcher/image-proxy.fetcher.mjs +45 -0
  52. package/esm2022/lib/services/image/image.service.mjs +39 -0
  53. package/esm2022/lib/services/key-pair/key-pair.service.mjs +57 -0
  54. package/esm2022/lib/services/language/language.service.mjs +47 -0
  55. package/esm2022/lib/services/modules/base-modules.service.mjs +157 -0
  56. package/esm2022/lib/services/modules/controller/base-modules.controller.mjs +2 -0
  57. package/esm2022/lib/services/modules/controller/integral/integral-modules.controller.mjs +91 -0
  58. package/esm2022/lib/services/modules/controller/isolated/isolated-modules.controller.mjs +190 -0
  59. package/esm2022/lib/services/modules/controller/modules.controller.mjs +85 -0
  60. package/esm2022/lib/services/permissions/permissions.service.mjs +140 -0
  61. package/esm2022/lib/services/protocol/defaults.mjs +55 -0
  62. package/esm2022/lib/services/protocol/protocol.service.mjs +230 -0
  63. package/esm2022/lib/services/protocol/store/base-protocol-store.service.mjs +63 -0
  64. package/esm2022/lib/services/protocol/store/main/main-protocol-store.service.mjs +91 -0
  65. package/esm2022/lib/services/protocol/store/sub/sub-protocol-store.service.mjs +174 -0
  66. package/esm2022/lib/services/qr/qr-generators/bc-ur-generator.mjs +127 -0
  67. package/esm2022/lib/services/qr/qr-generators/metamask-generator.mjs +117 -0
  68. package/esm2022/lib/services/qr/qr-generators/output-descriptor-generator.mjs +49 -0
  69. package/esm2022/lib/services/qr/qr-generators/serializer-v2-generator.mjs +30 -0
  70. package/esm2022/lib/services/qr/qr-generators/serializer-v3-generator.mjs +45 -0
  71. package/esm2022/lib/services/qr/qr-generators/xpub-generator.mjs +38 -0
  72. package/esm2022/lib/services/qr/qr-handler/serializer-v2-handler.mjs +114 -0
  73. package/esm2022/lib/services/qr/qr-handler/serializer-v3-handler.mjs +274 -0
  74. package/esm2022/lib/services/qr-scanner/qr-scanner.service.mjs +61 -0
  75. package/esm2022/lib/services/serializer/serializer.service.mjs +181 -0
  76. package/esm2022/lib/services/storage/base.storage.mjs +30 -0
  77. package/esm2022/lib/services/storage/storage.service.mjs +33 -0
  78. package/esm2022/lib/services/token/token.service.mjs +52 -0
  79. package/esm2022/lib/services/transaction/transaction.service.mjs +67 -0
  80. package/esm2022/lib/services/ui-event/ui-event.service.mjs +198 -0
  81. package/esm2022/lib/services/ui-event-elements/ui-event-elements.service.mjs +122 -0
  82. package/esm2022/lib/services/uri/uri.service.mjs +51 -0
  83. package/esm2022/lib/translation/AirGapTranslateLoader.mjs +26 -0
  84. package/esm2022/lib/types/Either.mjs +2 -0
  85. package/esm2022/lib/types/ExternalAliasResolver.mjs +2 -0
  86. package/esm2022/lib/types/RuntimeMode.mjs +6 -0
  87. package/esm2022/lib/types/SupportedLanguage.mjs +2 -0
  88. package/esm2022/lib/types/Token.mjs +2 -0
  89. package/esm2022/lib/types/isolated-modules/IsolatedModule.mjs +2 -0
  90. package/esm2022/lib/types/isolated-modules/IsolatedModuleManifest.mjs +2 -0
  91. package/esm2022/lib/types/isolated-modules/IsolatedModuleMetadata.mjs +2 -0
  92. package/esm2022/lib/types/ui/UIAction.mjs +6 -0
  93. package/esm2022/lib/types/ui/UIResource.mjs +8 -0
  94. package/esm2022/lib/utils/ExposedPromise.mjs +103 -0
  95. package/esm2022/lib/utils/airgap-transaction.mjs +23 -0
  96. package/esm2022/lib/utils/array.mjs +32 -0
  97. package/esm2022/lib/utils/modules/isolated/isolated-modules-metadata.mjs +10 -0
  98. package/esm2022/lib/utils/modules/load-protocol.mjs +19 -0
  99. package/esm2022/lib/utils/not-initialized.mjs +7 -0
  100. package/esm2022/lib/utils/protocol/delegation.mjs +33 -0
  101. package/esm2022/lib/utils/protocol/protocol-identifier.mjs +4 -0
  102. package/esm2022/lib/utils/protocol/protocol-network-identifier.mjs +18 -0
  103. package/esm2022/lib/utils/protocol/protocol-options.mjs +114 -0
  104. package/esm2022/lib/utils/protocol/protocol-v0-adapter.mjs +390 -0
  105. package/esm2022/lib/utils/utils.mjs +80 -0
  106. package/esm2022/lib/utils/worker.mjs +28 -0
  107. package/esm2022/public-api.mjs +102 -0
  108. package/esm2022/wallfree-dev-angular-core.mjs +5 -0
  109. package/fesm2022/wallfree-dev-angular-core.mjs +6933 -0
  110. package/fesm2022/wallfree-dev-angular-core.mjs.map +1 -0
  111. package/index.d.ts +6 -0
  112. package/lib/airgap-angular-core.module.d.ts +25 -0
  113. package/lib/airgap-angular-core.module.d.ts.map +1 -0
  114. package/lib/base/base.component.d.ts +18 -0
  115. package/lib/base/base.component.d.ts.map +1 -0
  116. package/lib/base/base.facade.d.ts +16 -0
  117. package/lib/base/base.facade.d.ts.map +1 -0
  118. package/lib/capacitor-plugins/definitions.d.ts +122 -0
  119. package/lib/capacitor-plugins/definitions.d.ts.map +1 -0
  120. package/lib/capacitor-plugins/injection-tokens.d.ts +18 -0
  121. package/lib/capacitor-plugins/injection-tokens.d.ts.map +1 -0
  122. package/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin-wrapper.d.ts +20 -0
  123. package/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin-wrapper.d.ts.map +1 -0
  124. package/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin.d.ts +38 -0
  125. package/lib/capacitor-plugins/isolated-modules/isolated-modules.plugin.d.ts.map +1 -0
  126. package/lib/components/account-item/account-item.component.d.ts +15 -0
  127. package/lib/components/account-item/account-item.component.d.ts.map +1 -0
  128. package/lib/components/account-selection/account-selection.component.d.ts +23 -0
  129. package/lib/components/account-selection/account-selection.component.d.ts.map +1 -0
  130. package/lib/components/components.module.d.ts +28 -0
  131. package/lib/components/components.module.d.ts.map +1 -0
  132. package/lib/components/currency-symbol/currency-symbol.component.d.ts +20 -0
  133. package/lib/components/currency-symbol/currency-symbol.component.d.ts.map +1 -0
  134. package/lib/components/currency-symbol/currency-symbol.facade.d.ts +16 -0
  135. package/lib/components/currency-symbol/currency-symbol.facade.d.ts.map +1 -0
  136. package/lib/components/currency-symbol/currency-symbol.types.d.ts +35 -0
  137. package/lib/components/currency-symbol/currency-symbol.types.d.ts.map +1 -0
  138. package/lib/components/from-to/from-to.component.d.ts +33 -0
  139. package/lib/components/from-to/from-to.component.d.ts.map +1 -0
  140. package/lib/components/iac-qr/iac-qr.component.d.ts +45 -0
  141. package/lib/components/iac-qr/iac-qr.component.d.ts.map +1 -0
  142. package/lib/components/identicon/identicon.component.d.ts +14 -0
  143. package/lib/components/identicon/identicon.component.d.ts.map +1 -0
  144. package/lib/components/isolated-modules-badges/isolated-modules-badges.component.d.ts +8 -0
  145. package/lib/components/isolated-modules-badges/isolated-modules-badges.component.d.ts.map +1 -0
  146. package/lib/components/isolated-modules-details/isolated-modules-details.component.d.ts +17 -0
  147. package/lib/components/isolated-modules-details/isolated-modules-details.component.d.ts.map +1 -0
  148. package/lib/components/isolated-modules-details/isolated-modules-details.facade.d.ts +17 -0
  149. package/lib/components/isolated-modules-details/isolated-modules-details.facade.d.ts.map +1 -0
  150. package/lib/components/isolated-modules-list/isolated-modules-list.component.d.ts +20 -0
  151. package/lib/components/isolated-modules-list/isolated-modules-list.component.d.ts.map +1 -0
  152. package/lib/components/isolated-modules-list/isolated-modules-list.facade.d.ts +15 -0
  153. package/lib/components/isolated-modules-list/isolated-modules-list.facade.d.ts.map +1 -0
  154. package/lib/components/isolated-modules-onboarding/isolated-modules-onboarding.component.d.ts +6 -0
  155. package/lib/components/isolated-modules-onboarding/isolated-modules-onboarding.component.d.ts.map +1 -0
  156. package/lib/components/network-badge/network-badge.component.d.ts +9 -0
  157. package/lib/components/network-badge/network-badge.component.d.ts.map +1 -0
  158. package/lib/components/qr/qr.component.d.ts +16 -0
  159. package/lib/components/qr/qr.component.d.ts.map +1 -0
  160. package/lib/components/qr-settings/qr-settings.component.d.ts +12 -0
  161. package/lib/components/qr-settings/qr-settings.component.d.ts.map +1 -0
  162. package/lib/components/titled-address/titled-address.component.d.ts +13 -0
  163. package/lib/components/titled-address/titled-address.component.d.ts.map +1 -0
  164. package/lib/components/titled-text/titled-text.component.d.ts +11 -0
  165. package/lib/components/titled-text/titled-text.component.d.ts.map +1 -0
  166. package/lib/config/app-config.d.ts +15 -0
  167. package/lib/config/app-config.d.ts.map +1 -0
  168. package/lib/pages/isolated-modules-list/isolated-modules-list.facade.d.ts +16 -0
  169. package/lib/pages/isolated-modules-list/isolated-modules-list.facade.d.ts.map +1 -0
  170. package/lib/pipes/amount-converter/amount-converter.pipe.d.ts +29 -0
  171. package/lib/pipes/amount-converter/amount-converter.pipe.d.ts.map +1 -0
  172. package/lib/pipes/fee-converter/fee-converter.pipe.d.ts +20 -0
  173. package/lib/pipes/fee-converter/fee-converter.pipe.d.ts.map +1 -0
  174. package/lib/pipes/pipes.module.d.ts +10 -0
  175. package/lib/pipes/pipes.module.d.ts.map +1 -0
  176. package/lib/pipes/wallet-filter/wallet-filter.pipe.d.ts +15 -0
  177. package/lib/pipes/wallet-filter/wallet-filter.pipe.d.ts.map +1 -0
  178. package/lib/protocol/adapter/protocol-v0-adapter.d.ts +231 -0
  179. package/lib/protocol/adapter/protocol-v0-adapter.d.ts.map +1 -0
  180. package/lib/protocol/isolated/base-isolated.d.ts +11 -0
  181. package/lib/protocol/isolated/base-isolated.d.ts.map +1 -0
  182. package/lib/protocol/isolated/block-explorer-isolated.d.ts +14 -0
  183. package/lib/protocol/isolated/block-explorer-isolated.d.ts.map +1 -0
  184. package/lib/protocol/isolated/protocol-offline-isolated.d.ts +17 -0
  185. package/lib/protocol/isolated/protocol-offline-isolated.d.ts.map +1 -0
  186. package/lib/protocol/isolated/protocol-online-isolated.d.ts +21 -0
  187. package/lib/protocol/isolated/protocol-online-isolated.d.ts.map +1 -0
  188. package/lib/protocol/isolated/v3-serializer-companion-isolated.d.ts +17 -0
  189. package/lib/protocol/isolated/v3-serializer-companion-isolated.d.ts.map +1 -0
  190. package/lib/services/address/address.service.d.ts +26 -0
  191. package/lib/services/address/address.service.d.ts.map +1 -0
  192. package/lib/services/clipboard/clipboard.service.d.ts +14 -0
  193. package/lib/services/clipboard/clipboard.service.d.ts.map +1 -0
  194. package/lib/services/deeplink/deeplink.service.d.ts +18 -0
  195. package/lib/services/deeplink/deeplink.service.d.ts.map +1 -0
  196. package/lib/services/environment/base-environment.service.d.ts +6 -0
  197. package/lib/services/environment/base-environment.service.d.ts.map +1 -0
  198. package/lib/services/filesystem/filesystem.service.d.ts +42 -0
  199. package/lib/services/filesystem/filesystem.service.d.ts.map +1 -0
  200. package/lib/services/iac/base.iac.service.d.ts +41 -0
  201. package/lib/services/iac/base.iac.service.d.ts.map +1 -0
  202. package/lib/services/iac/message-handler-single.d.ts +20 -0
  203. package/lib/services/iac/message-handler-single.d.ts.map +1 -0
  204. package/lib/services/iac/message-handler.d.ts +34 -0
  205. package/lib/services/iac/message-handler.d.ts.map +1 -0
  206. package/lib/services/iac/qr-generator.d.ts +13 -0
  207. package/lib/services/iac/qr-generator.d.ts.map +1 -0
  208. package/lib/services/image/fetcher/image-direct.fetcher.d.ts +9 -0
  209. package/lib/services/image/fetcher/image-direct.fetcher.d.ts.map +1 -0
  210. package/lib/services/image/fetcher/image-proxy.fetcher.d.ts +9 -0
  211. package/lib/services/image/fetcher/image-proxy.fetcher.d.ts.map +1 -0
  212. package/lib/services/image/image.service.d.ts +20 -0
  213. package/lib/services/image/image.service.d.ts.map +1 -0
  214. package/lib/services/key-pair/key-pair.service.d.ts +14 -0
  215. package/lib/services/key-pair/key-pair.service.d.ts.map +1 -0
  216. package/lib/services/language/language.service.d.ts +21 -0
  217. package/lib/services/language/language.service.d.ts.map +1 -0
  218. package/lib/services/modules/base-modules.service.d.ts +34 -0
  219. package/lib/services/modules/base-modules.service.d.ts.map +1 -0
  220. package/lib/services/modules/controller/base-modules.controller.d.ts +19 -0
  221. package/lib/services/modules/controller/base-modules.controller.d.ts.map +1 -0
  222. package/lib/services/modules/controller/integral/integral-modules.controller.d.ts +22 -0
  223. package/lib/services/modules/controller/integral/integral-modules.controller.d.ts.map +1 -0
  224. package/lib/services/modules/controller/isolated/isolated-modules.controller.d.ts +32 -0
  225. package/lib/services/modules/controller/isolated/isolated-modules.controller.d.ts.map +1 -0
  226. package/lib/services/modules/controller/modules.controller.d.ts +27 -0
  227. package/lib/services/modules/controller/modules.controller.d.ts.map +1 -0
  228. package/lib/services/permissions/permissions.service.d.ts +39 -0
  229. package/lib/services/permissions/permissions.service.d.ts.map +1 -0
  230. package/lib/services/protocol/defaults.d.ts +6 -0
  231. package/lib/services/protocol/defaults.d.ts.map +1 -0
  232. package/lib/services/protocol/protocol.service.d.ts +47 -0
  233. package/lib/services/protocol/protocol.service.d.ts.map +1 -0
  234. package/lib/services/protocol/store/base-protocol-store.service.d.ts +36 -0
  235. package/lib/services/protocol/store/base-protocol-store.service.d.ts.map +1 -0
  236. package/lib/services/protocol/store/main/main-protocol-store.service.d.ts +21 -0
  237. package/lib/services/protocol/store/main/main-protocol-store.service.d.ts.map +1 -0
  238. package/lib/services/protocol/store/sub/sub-protocol-store.service.d.ts +31 -0
  239. package/lib/services/protocol/store/sub/sub-protocol-store.service.d.ts.map +1 -0
  240. package/lib/services/qr/qr-generators/bc-ur-generator.d.ts +16 -0
  241. package/lib/services/qr/qr-generators/bc-ur-generator.d.ts.map +1 -0
  242. package/lib/services/qr/qr-generators/metamask-generator.d.ts +16 -0
  243. package/lib/services/qr/qr-generators/metamask-generator.d.ts.map +1 -0
  244. package/lib/services/qr/qr-generators/output-descriptor-generator.d.ts +13 -0
  245. package/lib/services/qr/qr-generators/output-descriptor-generator.d.ts.map +1 -0
  246. package/lib/services/qr/qr-generators/serializer-v2-generator.d.ts +13 -0
  247. package/lib/services/qr/qr-generators/serializer-v2-generator.d.ts.map +1 -0
  248. package/lib/services/qr/qr-generators/serializer-v3-generator.d.ts +12 -0
  249. package/lib/services/qr/qr-generators/serializer-v3-generator.d.ts.map +1 -0
  250. package/lib/services/qr/qr-generators/xpub-generator.d.ts +12 -0
  251. package/lib/services/qr/qr-generators/xpub-generator.d.ts.map +1 -0
  252. package/lib/services/qr/qr-handler/serializer-v2-handler.d.ts +20 -0
  253. package/lib/services/qr/qr-handler/serializer-v2-handler.d.ts.map +1 -0
  254. package/lib/services/qr/qr-handler/serializer-v3-handler.d.ts +23 -0
  255. package/lib/services/qr/qr-handler/serializer-v3-handler.d.ts.map +1 -0
  256. package/lib/services/qr-scanner/qr-scanner.service.d.ts +23 -0
  257. package/lib/services/qr-scanner/qr-scanner.service.d.ts.map +1 -0
  258. package/lib/services/serializer/serializer.service.d.ts +34 -0
  259. package/lib/services/serializer/serializer.service.d.ts.map +1 -0
  260. package/lib/services/storage/base.storage.d.ts +15 -0
  261. package/lib/services/storage/base.storage.d.ts.map +1 -0
  262. package/lib/services/storage/storage.service.d.ts +28 -0
  263. package/lib/services/storage/storage.service.d.ts.map +1 -0
  264. package/lib/services/token/token.service.d.ts +11 -0
  265. package/lib/services/token/token.service.d.ts.map +1 -0
  266. package/lib/services/transaction/transaction.service.d.ts +21 -0
  267. package/lib/services/transaction/transaction.service.d.ts.map +1 -0
  268. package/lib/services/ui-event/ui-event.service.d.ts +58 -0
  269. package/lib/services/ui-event/ui-event.service.d.ts.map +1 -0
  270. package/lib/services/ui-event-elements/ui-event-elements.service.d.ts +16 -0
  271. package/lib/services/ui-event-elements/ui-event-elements.service.d.ts.map +1 -0
  272. package/lib/services/uri/uri.service.d.ts +15 -0
  273. package/lib/services/uri/uri.service.d.ts.map +1 -0
  274. package/lib/translation/AirGapTranslateLoader.d.ts +15 -0
  275. package/lib/translation/AirGapTranslateLoader.d.ts.map +1 -0
  276. package/lib/types/Either.d.ts +2 -0
  277. package/lib/types/Either.d.ts.map +1 -0
  278. package/lib/types/ExternalAliasResolver.d.ts +6 -0
  279. package/lib/types/ExternalAliasResolver.d.ts.map +1 -0
  280. package/lib/types/RuntimeMode.d.ts +5 -0
  281. package/lib/types/RuntimeMode.d.ts.map +1 -0
  282. package/lib/types/SupportedLanguage.d.ts +2 -0
  283. package/lib/types/SupportedLanguage.d.ts.map +1 -0
  284. package/lib/types/Token.d.ts +9 -0
  285. package/lib/types/Token.d.ts.map +1 -0
  286. package/lib/types/isolated-modules/IsolatedModule.d.ts +28 -0
  287. package/lib/types/isolated-modules/IsolatedModule.d.ts.map +1 -0
  288. package/lib/types/isolated-modules/IsolatedModuleManifest.d.ts +24 -0
  289. package/lib/types/isolated-modules/IsolatedModuleManifest.d.ts.map +1 -0
  290. package/lib/types/isolated-modules/IsolatedModuleMetadata.d.ts +21 -0
  291. package/lib/types/isolated-modules/IsolatedModuleMetadata.d.ts.map +1 -0
  292. package/lib/types/ui/UIAction.d.ts +10 -0
  293. package/lib/types/ui/UIAction.d.ts.map +1 -0
  294. package/lib/types/ui/UIResource.d.ts +11 -0
  295. package/lib/types/ui/UIResource.d.ts.map +1 -0
  296. package/lib/utils/ExposedPromise.d.ts +40 -0
  297. package/lib/utils/ExposedPromise.d.ts.map +1 -0
  298. package/lib/utils/airgap-transaction.d.ts +4 -0
  299. package/lib/utils/airgap-transaction.d.ts.map +1 -0
  300. package/lib/utils/array.d.ts +6 -0
  301. package/lib/utils/array.d.ts.map +1 -0
  302. package/lib/utils/modules/isolated/isolated-modules-metadata.d.ts +3 -0
  303. package/lib/utils/modules/isolated/isolated-modules-metadata.d.ts.map +1 -0
  304. package/lib/utils/modules/load-protocol.d.ts +4 -0
  305. package/lib/utils/modules/load-protocol.d.ts.map +1 -0
  306. package/lib/utils/not-initialized.d.ts +2 -0
  307. package/lib/utils/not-initialized.d.ts.map +1 -0
  308. package/lib/utils/protocol/delegation.d.ts +6 -0
  309. package/lib/utils/protocol/delegation.d.ts.map +1 -0
  310. package/lib/utils/protocol/protocol-identifier.d.ts +3 -0
  311. package/lib/utils/protocol/protocol-identifier.d.ts.map +1 -0
  312. package/lib/utils/protocol/protocol-network-identifier.d.ts +8 -0
  313. package/lib/utils/protocol/protocol-network-identifier.d.ts.map +1 -0
  314. package/lib/utils/protocol/protocol-options.d.ts +6 -0
  315. package/lib/utils/protocol/protocol-options.d.ts.map +1 -0
  316. package/lib/utils/protocol/protocol-v0-adapter.d.ts +75 -0
  317. package/lib/utils/protocol/protocol-v0-adapter.d.ts.map +1 -0
  318. package/lib/utils/utils.d.ts +9 -0
  319. package/lib/utils/utils.d.ts.map +1 -0
  320. package/lib/utils/worker.d.ts +11 -0
  321. package/lib/utils/worker.d.ts.map +1 -0
  322. package/package.json +88 -0
  323. package/public-api.d.ts +87 -0
  324. package/public-api.d.ts.map +1 -0
  325. package/src/assets/i18n-common/de.json +112 -0
  326. package/src/assets/i18n-common/en.json +112 -0
  327. package/src/assets/i18n-common/es.json +112 -0
  328. package/src/assets/i18n-common/fr.json +112 -0
  329. package/src/assets/i18n-common/pt_BR.json +112 -0
  330. package/src/assets/i18n-common/ru.json +112 -0
  331. package/src/assets/i18n-common/zh_CN.json +112 -0
  332. package/src/assets/img/identicon_placeholder.png +0 -0
  333. package/src/assets/native/isolated_modules/isolated-modules.js-engine-android.js +34 -0
  334. package/src/assets/native/isolated_modules/isolated-modules.script.js +304 -0
  335. package/src/assets/symbols/abt.svg +1 -0
  336. package/src/assets/symbols/adx.svg +1 -0
  337. package/src/assets/symbols/ae.svg +17 -0
  338. package/src/assets/symbols/agi.svg +1 -0
  339. package/src/assets/symbols/aion.svg +1 -0
  340. package/src/assets/symbols/amb.svg +1 -0
  341. package/src/assets/symbols/ampl.svg +7 -0
  342. package/src/assets/symbols/ant.svg +1 -0
  343. package/src/assets/symbols/aoa.svg +7 -0
  344. package/src/assets/symbols/appc.svg +1 -0
  345. package/src/assets/symbols/aqua.svg +5 -0
  346. package/src/assets/symbols/arn.svg +1 -0
  347. package/src/assets/symbols/ary.svg +1 -0
  348. package/src/assets/symbols/ast.svg +1 -0
  349. package/src/assets/symbols/astr.png +0 -0
  350. package/src/assets/symbols/atm.svg +1 -0
  351. package/src/assets/symbols/atom.svg +1 -0
  352. package/src/assets/symbols/auto.svg +1 -0
  353. package/src/assets/symbols/bal.svg +7 -0
  354. package/src/assets/symbols/band.svg +7 -0
  355. package/src/assets/symbols/bat.svg +1 -0
  356. package/src/assets/symbols/bcbc.svg +1 -0
  357. package/src/assets/symbols/bcpt.svg +1 -0
  358. package/src/assets/symbols/bix.svg +1 -0
  359. package/src/assets/symbols/blz.svg +1 -0
  360. package/src/assets/symbols/bnb.svg +1 -0
  361. package/src/assets/symbols/bnt.svg +1 -0
  362. package/src/assets/symbols/bnty.svg +1 -0
  363. package/src/assets/symbols/bpt.svg +1 -0
  364. package/src/assets/symbols/brc.svg +7 -0
  365. package/src/assets/symbols/brd.svg +1 -0
  366. package/src/assets/symbols/btc.svg +1 -0
  367. package/src/assets/symbols/btctz.png +0 -0
  368. package/src/assets/symbols/btm.svg +1 -0
  369. package/src/assets/symbols/busd.svg +7 -0
  370. package/src/assets/symbols/bytom.svg +7 -0
  371. package/src/assets/symbols/cacu.svg +1 -0
  372. package/src/assets/symbols/cdt.svg +1 -0
  373. package/src/assets/symbols/cel.svg +7 -0
  374. package/src/assets/symbols/cennz.svg +7 -0
  375. package/src/assets/symbols/cfx.svg +1 -0
  376. package/src/assets/symbols/chsb.svg +7 -0
  377. package/src/assets/symbols/chz.svg +7 -0
  378. package/src/assets/symbols/ckbtc.png +0 -0
  379. package/src/assets/symbols/cmt.svg +1 -0
  380. package/src/assets/symbols/cnd.svg +1 -0
  381. package/src/assets/symbols/cob.svg +1 -0
  382. package/src/assets/symbols/comp.svg +7 -0
  383. package/src/assets/symbols/coreum.png +0 -0
  384. package/src/assets/symbols/cred.svg +1 -0
  385. package/src/assets/symbols/cro.svg +7 -0
  386. package/src/assets/symbols/crpt.svg +1 -0
  387. package/src/assets/symbols/crv.svg +7 -0
  388. package/src/assets/symbols/cs.svg +1 -0
  389. package/src/assets/symbols/ctez.svg +1 -0
  390. package/src/assets/symbols/ctr.svg +1 -0
  391. package/src/assets/symbols/ctxc.svg +1 -0
  392. package/src/assets/symbols/cusdc.svg +7 -0
  393. package/src/assets/symbols/cvc.svg +1 -0
  394. package/src/assets/symbols/cvt.svg +7 -0
  395. package/src/assets/symbols/czrx.svg +7 -0
  396. package/src/assets/symbols/dai.svg +7 -0
  397. package/src/assets/symbols/dat.svg +1 -0
  398. package/src/assets/symbols/data.svg +1 -0
  399. package/src/assets/symbols/dcn.svg +1 -0
  400. package/src/assets/symbols/deez.svg +1 -0
  401. package/src/assets/symbols/dent.svg +1 -0
  402. package/src/assets/symbols/dew.svg +1 -0
  403. package/src/assets/symbols/dgd.svg +1 -0
  404. package/src/assets/symbols/dia.svg +7 -0
  405. package/src/assets/symbols/divx.svg +7 -0
  406. package/src/assets/symbols/dlt.svg +1 -0
  407. package/src/assets/symbols/dnt.svg +1 -0
  408. package/src/assets/symbols/dock.svg +1 -0
  409. package/src/assets/symbols/doga.png +0 -0
  410. package/src/assets/symbols/dot.svg +14 -0
  411. package/src/assets/symbols/drgn.svg +1 -0
  412. package/src/assets/symbols/drop.svg +1 -0
  413. package/src/assets/symbols/dth.svg +1 -0
  414. package/src/assets/symbols/dtr.svg +1 -0
  415. package/src/assets/symbols/dx.svg +7 -0
  416. package/src/assets/symbols/edg.svg +1 -0
  417. package/src/assets/symbols/edo.svg +1 -0
  418. package/src/assets/symbols/elf.svg +1 -0
  419. package/src/assets/symbols/elix.svg +1 -0
  420. package/src/assets/symbols/eng.svg +1 -0
  421. package/src/assets/symbols/enj.svg +1 -0
  422. package/src/assets/symbols/entrp.svg +1 -0
  423. package/src/assets/symbols/eos.svg +1 -0
  424. package/src/assets/symbols/eth.svg +1 -0
  425. package/src/assets/symbols/ethtz.png +0 -0
  426. package/src/assets/symbols/eurc.svg +8 -0
  427. package/src/assets/symbols/evx.svg +1 -0
  428. package/src/assets/symbols/fet.svg +7 -0
  429. package/src/assets/symbols/frax.svg +26 -0
  430. package/src/assets/symbols/fsn.svg +1 -0
  431. package/src/assets/symbols/ftc.svg +1 -0
  432. package/src/assets/symbols/ftm.svg +7 -0
  433. package/src/assets/symbols/fuel.svg +1 -0
  434. package/src/assets/symbols/fun.svg +1 -0
  435. package/src/assets/symbols/gbx.svg +1 -0
  436. package/src/assets/symbols/generic-coin.svg +1 -0
  437. package/src/assets/symbols/glmr.svg +1 -0
  438. package/src/assets/symbols/gno.svg +1 -0
  439. package/src/assets/symbols/gnt.svg +1 -0
  440. package/src/assets/symbols/grs.svg +1 -0
  441. package/src/assets/symbols/gsc.svg +1 -0
  442. package/src/assets/symbols/gto.svg +1 -0
  443. package/src/assets/symbols/gup.svg +1 -0
  444. package/src/assets/symbols/gusd.svg +1 -0
  445. package/src/assets/symbols/gvt.svg +1 -0
  446. package/src/assets/symbols/gzr.svg +1 -0
  447. package/src/assets/symbols/hedg.svg +7 -0
  448. package/src/assets/symbols/hodl.svg +1 -0
  449. package/src/assets/symbols/hot.svg +7 -0
  450. package/src/assets/symbols/hpb.svg +1 -0
  451. package/src/assets/symbols/ht.svg +1 -0
  452. package/src/assets/symbols/husd.svg +7 -0
  453. package/src/assets/symbols/icn.svg +1 -0
  454. package/src/assets/symbols/icp.svg +16 -0
  455. package/src/assets/symbols/icx.svg +1 -0
  456. package/src/assets/symbols/inb.svg +7 -0
  457. package/src/assets/symbols/ino.svg +7 -0
  458. package/src/assets/symbols/ins.svg +1 -0
  459. package/src/assets/symbols/iost.svg +1 -0
  460. package/src/assets/symbols/iotx.svg +1 -0
  461. package/src/assets/symbols/itc.svg +1 -0
  462. package/src/assets/symbols/jnt.svg +1 -0
  463. package/src/assets/symbols/kcs.svg +7 -0
  464. package/src/assets/symbols/kin.svg +1 -0
  465. package/src/assets/symbols/knc.svg +1 -0
  466. package/src/assets/symbols/ksm.svg +1 -0
  467. package/src/assets/symbols/kusd.svg +1 -0
  468. package/src/assets/symbols/ldo.svg +97 -0
  469. package/src/assets/symbols/lend.svg +1 -0
  470. package/src/assets/symbols/leo.svg +7 -0
  471. package/src/assets/symbols/link.svg +7 -0
  472. package/src/assets/symbols/loom.svg +1 -0
  473. package/src/assets/symbols/lpt.svg +1 -0
  474. package/src/assets/symbols/lrc.svg +1 -0
  475. package/src/assets/symbols/lun.svg +1 -0
  476. package/src/assets/symbols/mana.svg +1 -0
  477. package/src/assets/symbols/matic.svg +7 -0
  478. package/src/assets/symbols/mcap.svg +1 -0
  479. package/src/assets/symbols/mco.svg +1 -0
  480. package/src/assets/symbols/mda.svg +1 -0
  481. package/src/assets/symbols/mds.svg +1 -0
  482. package/src/assets/symbols/mkr.svg +1 -0
  483. package/src/assets/symbols/mln.svg +7 -0
  484. package/src/assets/symbols/mnw.svg +1 -0
  485. package/src/assets/symbols/mod.svg +1 -0
  486. package/src/assets/symbols/movr.svg +10 -0
  487. package/src/assets/symbols/mth.svg +1 -0
  488. package/src/assets/symbols/mtl.svg +1 -0
  489. package/src/assets/symbols/mxc.svg +7 -0
  490. package/src/assets/symbols/nas.svg +1 -0
  491. package/src/assets/symbols/ncash.svg +1 -0
  492. package/src/assets/symbols/neu.svg +1 -0
  493. package/src/assets/symbols/nexo.svg +1 -0
  494. package/src/assets/symbols/ngc.svg +1 -0
  495. package/src/assets/symbols/nio.svg +1 -0
  496. package/src/assets/symbols/nmr.svg +7 -0
  497. package/src/assets/symbols/noah.svg +7 -0
  498. package/src/assets/symbols/npxs.svg +1 -0
  499. package/src/assets/symbols/nuls.svg +1 -0
  500. package/src/assets/symbols/nxm.svg +7 -0
  501. package/src/assets/symbols/oax.svg +1 -0
  502. package/src/assets/symbols/ocean.svg +7 -0
  503. package/src/assets/symbols/okb.svg +7 -0
  504. package/src/assets/symbols/omg.svg +1 -0
  505. package/src/assets/symbols/ong.svg +1 -0
  506. package/src/assets/symbols/op.svg +21 -0
  507. package/src/assets/symbols/ost.svg +1 -0
  508. package/src/assets/symbols/pax.svg +1 -0
  509. package/src/assets/symbols/paxg.svg +7 -0
  510. package/src/assets/symbols/pay.svg +1 -0
  511. package/src/assets/symbols/plenty.svg +1 -0
  512. package/src/assets/symbols/plr.svg +1 -0
  513. package/src/assets/symbols/pnk.svg +7 -0
  514. package/src/assets/symbols/poe.svg +1 -0
  515. package/src/assets/symbols/poly.svg +1 -0
  516. package/src/assets/symbols/powr.svg +1 -0
  517. package/src/assets/symbols/ppp.svg +1 -0
  518. package/src/assets/symbols/ppt.svg +1 -0
  519. package/src/assets/symbols/prl.svg +1 -0
  520. package/src/assets/symbols/qash.svg +1 -0
  521. package/src/assets/symbols/qnt.svg +7 -0
  522. package/src/assets/symbols/qrl.svg +1 -0
  523. package/src/assets/symbols/qsp.svg +1 -0
  524. package/src/assets/symbols/qtum.svg +1 -0
  525. package/src/assets/symbols/quipu.png +0 -0
  526. package/src/assets/symbols/r.svg +1 -0
  527. package/src/assets/symbols/rcn.svg +1 -0
  528. package/src/assets/symbols/rdn.svg +1 -0
  529. package/src/assets/symbols/ren.svg +7 -0
  530. package/src/assets/symbols/rep.svg +1 -0
  531. package/src/assets/symbols/repv2.svg +7 -0
  532. package/src/assets/symbols/req.svg +1 -0
  533. package/src/assets/symbols/rev.svg +7 -0
  534. package/src/assets/symbols/rhoc.svg +1 -0
  535. package/src/assets/symbols/rlc.svg +1 -0
  536. package/src/assets/symbols/rsr.svg +7 -0
  537. package/src/assets/symbols/sai.svg +7 -0
  538. package/src/assets/symbols/salt.svg +1 -0
  539. package/src/assets/symbols/san.svg +1 -0
  540. package/src/assets/symbols/sdn.svg +1 -0
  541. package/src/assets/symbols/shx.svg +32 -0
  542. package/src/assets/symbols/sirs.svg +1 -0
  543. package/src/assets/symbols/smart.svg +1 -0
  544. package/src/assets/symbols/sngls.svg +1 -0
  545. package/src/assets/symbols/snm.svg +1 -0
  546. package/src/assets/symbols/snt.svg +1 -0
  547. package/src/assets/symbols/snx.svg +7 -0
  548. package/src/assets/symbols/soc.svg +1 -0
  549. package/src/assets/symbols/sol.svg +1 -0
  550. package/src/assets/symbols/spank.svg +1 -0
  551. package/src/assets/symbols/sphtx.svg +1 -0
  552. package/src/assets/symbols/srm.svg +7 -0
  553. package/src/assets/symbols/srn.svg +1 -0
  554. package/src/assets/symbols/stake.svg +7 -0
  555. package/src/assets/symbols/stellar.png +0 -0
  556. package/src/assets/symbols/storj.svg +1 -0
  557. package/src/assets/symbols/storm.svg +1 -0
  558. package/src/assets/symbols/stq.svg +1 -0
  559. package/src/assets/symbols/stxtz.svg +18 -0
  560. package/src/assets/symbols/sub.svg +1 -0
  561. package/src/assets/symbols/sushi.svg +7 -0
  562. package/src/assets/symbols/sxp.svg +7 -0
  563. package/src/assets/symbols/sxtz.svg +6 -0
  564. package/src/assets/symbols/taas.svg +1 -0
  565. package/src/assets/symbols/tau.svg +1 -0
  566. package/src/assets/symbols/tbx.svg +1 -0
  567. package/src/assets/symbols/tel.svg +1 -0
  568. package/src/assets/symbols/ten.svg +1 -0
  569. package/src/assets/symbols/theta.svg +1 -0
  570. package/src/assets/symbols/tix.svg +1 -0
  571. package/src/assets/symbols/tkn.svg +1 -0
  572. package/src/assets/symbols/tnt.svg +1 -0
  573. package/src/assets/symbols/tomo.svg +1 -0
  574. package/src/assets/symbols/trac.svg +7 -0
  575. package/src/assets/symbols/trb.svg +7 -0
  576. package/src/assets/symbols/trx.svg +1 -0
  577. package/src/assets/symbols/tusd.svg +1 -0
  578. package/src/assets/symbols/tzbtc.svg +1 -0
  579. package/src/assets/symbols/ubt.svg +7 -0
  580. package/src/assets/symbols/ubtc.svg +1 -0
  581. package/src/assets/symbols/udefi.svg +1 -0
  582. package/src/assets/symbols/uma.svg +7 -0
  583. package/src/assets/symbols/usdc.svg +1 -0
  584. package/src/assets/symbols/usdt.png +0 -0
  585. package/src/assets/symbols/usdt.svg +1 -0
  586. package/src/assets/symbols/usdtz.svg +17 -0
  587. package/src/assets/symbols/ust.svg +1 -0
  588. package/src/assets/symbols/utk.svg +1 -0
  589. package/src/assets/symbols/uusd.svg +1 -0
  590. package/src/assets/symbols/uxtz.svg +1 -0
  591. package/src/assets/symbols/velo.svg +5 -0
  592. package/src/assets/symbols/ven.svg +7 -0
  593. package/src/assets/symbols/veri.svg +1 -0
  594. package/src/assets/symbols/verse.svg +1 -0
  595. package/src/assets/symbols/vest.svg +7 -0
  596. package/src/assets/symbols/vib.svg +1 -0
  597. package/src/assets/symbols/vibe.svg +1 -0
  598. package/src/assets/symbols/wabi.svg +1 -0
  599. package/src/assets/symbols/wax.svg +1 -0
  600. package/src/assets/symbols/wbtc.svg +7 -0
  601. package/src/assets/symbols/weth.svg +18 -0
  602. package/src/assets/symbols/wic.svg +7 -0
  603. package/src/assets/symbols/wings.svg +1 -0
  604. package/src/assets/symbols/wnxm.svg +7 -0
  605. package/src/assets/symbols/wpr.svg +1 -0
  606. package/src/assets/symbols/wrap.png +0 -0
  607. package/src/assets/symbols/wtc.svg +1 -0
  608. package/src/assets/symbols/wusdc.png +0 -0
  609. package/src/assets/symbols/xchf.svg +1 -0
  610. package/src/assets/symbols/xdce.svg +7 -0
  611. package/src/assets/symbols/xin.svg +7 -0
  612. package/src/assets/symbols/xpa.svg +1 -0
  613. package/src/assets/symbols/xpl.svg +1 -0
  614. package/src/assets/symbols/xtz.svg +5 -0
  615. package/src/assets/symbols/yfi.svg +7 -0
  616. package/src/assets/symbols/you.svg +1 -0
  617. package/src/assets/symbols/yoyow.svg +1 -0
  618. package/src/assets/symbols/ytez.svg +1 -0
  619. package/src/assets/symbols/zb.svg +7 -0
  620. package/src/assets/symbols/zil.svg +1 -0
  621. package/src/assets/symbols/zrx.svg +1 -0
  622. package/src/assets/workers/airgap-coin-lib.js +119 -0
  623. 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==