@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,247 @@
1
+ /* eslint-disable max-lines */
2
+ /* eslint-disable max-classes-per-file */
3
+ import { WebPlugin } from '@capacitor/core';
4
+ import { AeternityModule } from '@wallfree-dev/aeternity';
5
+ import { AstarModule } from '@wallfree-dev/astar';
6
+ import { BitcoinModule } from '@wallfree-dev/bitcoin';
7
+ import { CosmosModule } from '@wallfree-dev/cosmos';
8
+ import { EthereumModule } from '@wallfree-dev/ethereum';
9
+ import { GroestlcoinModule } from '@wallfree-dev/groestlcoin';
10
+ import { ICPModule } from '@wallfree-dev/icp';
11
+ import { CoreumModule } from '@wallfree-dev/coreum';
12
+ import { AcurastModule } from '@wallfree-dev/acurast';
13
+ import { StellarModule } from '@wallfree-dev/stellar';
14
+ import { TronModule } from '@wallfree-dev/tron';
15
+ import { hasConfigurableContract, isSubProtocol } from '@wallfree-dev/module-kit';
16
+ import { MoonbeamModule } from '@wallfree-dev/moonbeam';
17
+ import { OptimismModule } from '@wallfree-dev/optimism';
18
+ import { PolkadotModule } from '@wallfree-dev/polkadot';
19
+ import { TezosModule } from '@wallfree-dev/tezos';
20
+ import { flattened } from '../../utils/array';
21
+ import { assertNever } from '../../utils/utils';
22
+ import { getOfflineProtocolConfiguration, getOnlineProtocolConfiguration } from '../../utils/modules/load-protocol';
23
+ export class IsolatedModules extends WebPlugin {
24
+ constructor(modules = [
25
+ new BitcoinModule(),
26
+ new EthereumModule(),
27
+ new TezosModule(),
28
+ new PolkadotModule(),
29
+ new CosmosModule(),
30
+ new AeternityModule(),
31
+ new GroestlcoinModule(),
32
+ new MoonbeamModule(),
33
+ new AstarModule(),
34
+ new ICPModule(),
35
+ new CoreumModule(),
36
+ new OptimismModule(),
37
+ new AcurastModule(),
38
+ new StellarModule(),
39
+ new TronModule()
40
+ ]) {
41
+ super();
42
+ this.modules = modules;
43
+ this.offlineProtocols = {};
44
+ this.onlineProtocols = {};
45
+ this.blockExplorers = {};
46
+ this.v3SerializerCompanions = {};
47
+ this.moduleIndices = {};
48
+ }
49
+ async previewDynamicModule(_options) {
50
+ throw new Error('Dynamic isolated module preview not supported in a browser');
51
+ }
52
+ async verifyDynamicModule(_options) {
53
+ throw new Error('Dynamic isolated module verification not supported in a browser');
54
+ }
55
+ async registerDynamicModule(_options) {
56
+ throw new Error('Dynamic isolated module registration not supported in a browser');
57
+ }
58
+ async readDynamicModule(_options) {
59
+ throw new Error('Dynamic isolated module read not supported in a browser');
60
+ }
61
+ async removeDynamicModules(_options) {
62
+ throw new Error('Dynamic isolated module removal not supported in a browser');
63
+ }
64
+ async readAssetModule(_options) {
65
+ throw new Error('Asset isolated module read not supported in a browser');
66
+ }
67
+ async loadAllModules(options = {}) {
68
+ const modules = await Promise.all(this.modules.map((module, index) => this.loadModule(module, index, options.protocolType, new Set(options.ignoreProtocols ?? []))));
69
+ return { modules };
70
+ }
71
+ async loadModule(module, index, protocolType, ignoreProtocols) {
72
+ const moduleIdentifier = index.toString();
73
+ const v3SerializerCompanion = await module.createV3SerializerCompanion();
74
+ this.v3SerializerCompanions[moduleIdentifier] = v3SerializerCompanion;
75
+ const protocols = await Promise.all(Object.entries(module.supportedProtocols)
76
+ .filter(([identifier, _]) => !ignoreProtocols.has(identifier))
77
+ .map(([identifier, configuration]) => this.loadModuleProtocols(module, index, identifier, configuration, protocolType)));
78
+ return {
79
+ identifier: moduleIdentifier,
80
+ type: 'static',
81
+ protocols: flattened(protocols),
82
+ v3SchemaConfigurations: v3SerializerCompanion.schemas
83
+ };
84
+ }
85
+ async loadModuleProtocols(module, moduleIndex, identifier, configuration, protocolType) {
86
+ const offlineConfiguration = getOfflineProtocolConfiguration(configuration, protocolType);
87
+ const onlineConfiguration = getOnlineProtocolConfiguration(configuration, protocolType);
88
+ const [offlineProtocols, onlineProtocols] = await Promise.all([
89
+ offlineConfiguration ? this.loadOfflineProtocols(module, moduleIndex, identifier, offlineConfiguration) : Promise.resolve([]),
90
+ onlineConfiguration ? this.loadOnlineProtocols(module, moduleIndex, identifier, onlineConfiguration) : Promise.resolve([])
91
+ ]);
92
+ return offlineProtocols.concat(onlineProtocols);
93
+ }
94
+ async loadOfflineProtocols(module, moduleIndex, identifier, _configuration) {
95
+ const protocol = await module.createOfflineProtocol(identifier);
96
+ if (protocol === undefined) {
97
+ return [];
98
+ }
99
+ this.moduleIndices[identifier] = moduleIndex;
100
+ this.offlineProtocols[this.protocolKey(identifier)] = protocol;
101
+ const crypto = await protocol.getCryptoConfiguration();
102
+ return [await this.getIsolatedProtocolConfiguration(protocol, 'offline', undefined, undefined, crypto)];
103
+ }
104
+ async loadOnlineProtocols(module, moduleIndex, identifier, configuration) {
105
+ const protocols = await Promise.all(Object.entries(configuration.networks).map(async ([networkId, _]) => {
106
+ const [protocol, blockExplorer] = await Promise.all([
107
+ module.createOnlineProtocol(identifier, networkId),
108
+ module.createBlockExplorer(identifier, networkId)
109
+ ]);
110
+ if (protocol === undefined) {
111
+ return undefined;
112
+ }
113
+ this.moduleIndices[identifier] = moduleIndex;
114
+ this.onlineProtocols[this.protocolKey(identifier, networkId)] = protocol;
115
+ if (blockExplorer !== undefined) {
116
+ this.blockExplorers[this.protocolKey(identifier, networkId)] = blockExplorer;
117
+ }
118
+ const [network, blockExplorerMetadata] = await Promise.all([
119
+ protocol.getNetwork(),
120
+ blockExplorer?.getMetadata() ?? Promise.resolve(undefined)
121
+ ]);
122
+ return this.getIsolatedProtocolConfiguration(protocol, 'online', blockExplorerMetadata, network);
123
+ }));
124
+ return protocols.filter((protocol) => protocol !== undefined);
125
+ }
126
+ async getIsolatedProtocolConfiguration(protocol, mode, blockExplorerMetadata, network, crypto) {
127
+ const protocolMetadata = await protocol.getMetadata();
128
+ const configuration = {
129
+ mode,
130
+ identifier: protocolMetadata.identifier,
131
+ protocolMetadata,
132
+ blockExplorerMetadata: blockExplorerMetadata ?? null,
133
+ network: network ?? null,
134
+ methods: this.collectMethods(protocol),
135
+ cachedValues: {
136
+ getCryptoConfiguration: crypto
137
+ }
138
+ };
139
+ if (isSubProtocol(protocol)) {
140
+ const [subType, mainProtocol, contractAddress] = await Promise.all([
141
+ protocol.getType(),
142
+ protocol.mainProtocol(),
143
+ hasConfigurableContract(protocol) ? protocol.getContractAddress() : Promise.resolve(undefined)
144
+ ]);
145
+ return {
146
+ ...configuration,
147
+ type: 'sub',
148
+ cachedValues: Object.assign(configuration.cachedValues, {
149
+ getType: subType,
150
+ mainProtocol,
151
+ getContractAddress: contractAddress
152
+ }),
153
+ subType,
154
+ mainProtocolIdentifier: mainProtocol,
155
+ contractAddress: contractAddress ?? null
156
+ };
157
+ }
158
+ else {
159
+ return {
160
+ ...configuration,
161
+ type: 'main'
162
+ };
163
+ }
164
+ }
165
+ collectMethods(protocol) {
166
+ let propertyNames = [];
167
+ let obj = protocol;
168
+ while (obj) {
169
+ propertyNames = propertyNames.concat(Object.getOwnPropertyNames(obj));
170
+ obj = Object.getPrototypeOf(obj);
171
+ }
172
+ return propertyNames.filter((key) => typeof protocol[key] === 'function');
173
+ }
174
+ async callMethod(options) {
175
+ switch (options.target) {
176
+ case 'offlineProtocol':
177
+ return this.callOfflineProtocolMethod(options);
178
+ case 'onlineProtocol':
179
+ return this.callOnlineProtocolMethod(options);
180
+ case 'blockExplorer':
181
+ return this.callBlockExplorerMethod(options);
182
+ case 'v3SerializerCompanion':
183
+ return this.callV3SerializerCompanionMethod(options);
184
+ default:
185
+ assertNever('options', options);
186
+ }
187
+ }
188
+ async callOfflineProtocolMethod(options) {
189
+ const protocol = await this.getOfflineProtocol(options.protocolIdentifier);
190
+ const method = protocol[options.method].bind(protocol);
191
+ return { value: await method(...(options.args ?? [])) };
192
+ }
193
+ async callOnlineProtocolMethod(options) {
194
+ const protocol = await this.getOnlineProtocol(options.protocolIdentifier, options.networkId);
195
+ const method = protocol[options.method].bind(protocol);
196
+ return { value: await method(...(options.args ?? [])) };
197
+ }
198
+ async callBlockExplorerMethod(options) {
199
+ const blockExplorer = await this.getBlockExplorer(options.protocolIdentifier, options.networkId);
200
+ const method = blockExplorer[options.method].bind(blockExplorer);
201
+ return { value: await method(...(options.args ?? [])) };
202
+ }
203
+ async callV3SerializerCompanionMethod(options) {
204
+ const v3SerializerCompanion = await this.getV3SerializerCompanion(options.moduleIdentifier);
205
+ const method = v3SerializerCompanion[options.method].bind(v3SerializerCompanion);
206
+ return { value: await method(...(options.args ?? [])) };
207
+ }
208
+ async getOfflineProtocol(protocolIdentifier) {
209
+ return this.getModuleComponent(protocolIdentifier, undefined, this.offlineProtocols, (module) => module.createOfflineProtocol(protocolIdentifier), (identifier) => this.moduleIndices[identifier]);
210
+ }
211
+ async getOnlineProtocol(protocolIdentifier, networkId) {
212
+ return this.getModuleComponent(protocolIdentifier, networkId, this.onlineProtocols, (module) => module.createOnlineProtocol(protocolIdentifier, networkId), (identifier) => this.moduleIndices[identifier]);
213
+ }
214
+ async getBlockExplorer(protocolIdentifier, networkId) {
215
+ return this.getModuleComponent(protocolIdentifier, networkId, this.blockExplorers, (module) => module.createBlockExplorer(protocolIdentifier, networkId), (identifier) => this.moduleIndices[identifier]);
216
+ }
217
+ async getV3SerializerCompanion(moduleIdentifier) {
218
+ return this.getModuleComponent(moduleIdentifier, undefined, this.v3SerializerCompanions, (module) => module.createV3SerializerCompanion(), (identifier) => parseInt(identifier, 10));
219
+ }
220
+ async getModuleComponent(identifier, networkId, componentCollection, createComponent, identifierToModuleIndex) {
221
+ const protocolKey = this.protocolKey(identifier, networkId);
222
+ if (componentCollection[protocolKey] === undefined) {
223
+ const moduleIndex = identifierToModuleIndex(identifier);
224
+ if (moduleIndex === undefined) {
225
+ return undefined;
226
+ }
227
+ componentCollection[protocolKey] = await createComponent(this.modules[moduleIndex]);
228
+ }
229
+ return componentCollection[protocolKey];
230
+ }
231
+ async batchCallMethod(options) {
232
+ const values = await Promise.all(options.options.map(async (o) => {
233
+ try {
234
+ const { value } = await this.callMethod(o);
235
+ return { type: 'success', value };
236
+ }
237
+ catch (error) {
238
+ return { type: 'error', error };
239
+ }
240
+ }));
241
+ return { values };
242
+ }
243
+ protocolKey(identifier, networkId) {
244
+ return networkId ? `${identifier}_${networkId}` : identifier;
245
+ }
246
+ }
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWQtbW9kdWxlcy5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NhcGFjaXRvci1wbHVnaW5zL2lzb2xhdGVkLW1vZHVsZXMvaXNvbGF0ZWQtbW9kdWxlcy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLHlDQUF5QztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRS9DLE9BQU8sRUFTTCx1QkFBdUIsRUFDdkIsYUFBYSxFQU9kLE1BQU0sMEJBQTBCLENBQUE7QUFDakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1B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SSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO1FBQ3JGLENBQUM7UUFFRCxPQUFPLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQStCO1FBQzFELE1BQU0sTUFBTSxHQUFrQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzdELE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFvQixFQUF3QyxFQUFFO1lBQ3ZGLElBQUksQ0FBQztnQkFDSCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUUxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQTtZQUNuQyxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQTtZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtRQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRU8sV0FBVyxDQUFDLFVBQWtCLEVBQUUsU0FBa0I7UUFDeEQsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxJQUFJLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7SUFDOUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxpbmVzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtY2xhc3Nlcy1wZXItZmlsZSAqL1xuaW1wb3J0IHsgV2ViUGx1Z2luIH0gZnJvbSAnQGNhcGFjaXRvci9jb3JlJ1xuaW1wb3J0IHsgQWV0ZXJuaXR5TW9kdWxlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9hZXRlcm5pdHknXG5pbXBvcnQgeyBBc3Rhck1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYXN0YXInXG5pbXBvcnQgeyBCaXRjb2luTW9kdWxlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9iaXRjb2luJ1xuaW1wb3J0IHsgQ29zbW9zTW9kdWxlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb3Ntb3MnXG5pbXBvcnQgeyBFdGhlcmV1bU1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvZXRoZXJldW0nXG5pbXBvcnQgeyBHcm9lc3RsY29pbk1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvZ3JvZXN0bGNvaW4nXG5pbXBvcnQgeyBJQ1BNb2R1bGUgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2ljcCdcbmltcG9ydCB7IENvcmV1bU1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29yZXVtJ1xuaW1wb3J0IHsgQWN1cmFzdE1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYWN1cmFzdCdcbmltcG9ydCB7IFN0ZWxsYXJNb2R1bGUgfSBmcm9tICdAd2FsbGZyZWUtZGV2L3N0ZWxsYXInXG5pbXBvcnQgeyBUcm9uTW9kdWxlIH0gZnJvbSAnQHdhbGxmcmVlLWRldi90cm9uJ1xuXG5pbXBvcnQge1xuICBBaXJHYXBBbnlQcm90b2NvbCxcbiAgQWlyR2FwQmxvY2tFeHBsb3JlcixcbiAgQWlyR2FwTW9kdWxlLFxuICBBaXJHYXBPZmZsaW5lUHJvdG9jb2wsXG4gIEFpckdhcE9ubGluZVByb3RvY29sLFxuICBBaXJHYXBWM1NlcmlhbGl6ZXJDb21wYW5pb24sXG4gIEJsb2NrRXhwbG9yZXJNZXRhZGF0YSxcbiAgQ3J5cHRvQ29uZmlndXJhdGlvbixcbiAgaGFzQ29uZmlndXJhYmxlQ29udHJhY3QsXG4gIGlzU3ViUHJvdG9jb2wsXG4gIE9mZmxpbmVQcm90b2NvbENvbmZpZ3VyYXRpb24sXG4gIE9ubGluZVByb3RvY29sQ29uZmlndXJhdGlvbixcbiAgUHJvdG9jb2xDb25maWd1cmF0aW9uLFxuICBQcm90b2NvbE1ldGFkYXRhLFxuICBQcm90b2NvbE5ldHdvcmssXG4gIFN1YlByb3RvY29sVHlwZVxufSBmcm9tICdAd2FsbGZyZWUtZGV2L21vZHVsZS1raXQnXG5pbXBvcnQgeyBNb29uYmVhbU1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvbW9vbmJlYW0nXG5pbXBvcnQgeyBPcHRpbWlzbU1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvb3B0aW1pc20nXG5pbXBvcnQgeyBQb2xrYWRvdE1vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvcG9sa2Fkb3QnXG5pbXBvcnQgeyBUZXpvc01vZHVsZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvdGV6b3MnXG5cbmltcG9ydCB7XG4gIEJhdGNoQ2FsbE1ldGhvZE9wdGlvbnMsXG4gIEJhdGNoQ2FsbE1ldGhvZFJlc3VsdCxcbiAgQmF0Y2hDYWxsTWV0aG9kU2luZ2xlUmVzdWx0LFxuICBCbG9ja0V4cGxvcmVyQ2FsbE1ldGhvZE9wdGlvbnMsXG4gIENhbGxNZXRob2RPcHRpb25zLFxuICBDYWxsTWV0aG9kUmVzdWx0LFxuICBJc29sYXRlZE1vZHVsZXNQbHVnaW4sXG4gIExvYWRBbGxNb2R1bGVzT3B0aW9ucyxcbiAgTG9hZEFsbE1vZHVsZXNSZXN1bHQsXG4gIE9mZmxpbmVQcm90b2NvbENhbGxNZXRob2RPcHRpb25zLFxuICBPbmxpbmVQcm90b2NvbENhbGxNZXRob2RPcHRpb25zLFxuICBQcmV2aWV3RHluYW1pY01vZHVsZU9wdGlvbnMsXG4gIFByZXZpZXdEeW5hbWljTW9kdWxlUmVzdWx0LFxuICBSZWFkQXNzZXRNb2R1bGVPcHRpb25zLFxuICBSZWFkQXNzZXRNb2R1bGVSZXN1bHQsXG4gIFJlYWREeW5hbWljTW9kdWxlT3B0aW9ucyxcbiAgUmVhZER5bmFtaWNNb2R1bGVSZXN1bHQsXG4gIFJlZ2lzdGVyRHluYW1pY01vZHVsZU9wdGlvbnMsXG4gIFJlbW92ZUR5bmFtaWNNb2R1bGVzT3B0aW9ucyxcbiAgVjNTZXJpYWxpemVyQ29tcGFuaW9uQ2FsbE1ldGhvZE9wdGlvbnMsXG4gIFZlcmlmeUR5bmFtaWNNb2R1bGVPcHRpb25zLFxuICBWZXJpZnlEeW5hbWljTW9kdWxlUmVzdWx0XG59IGZyb20gJy4uL2RlZmluaXRpb25zJ1xuaW1wb3J0IHsgZmxhdHRlbmVkIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXknXG5pbXBvcnQgeyBhc3NlcnROZXZlciB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJ1xuaW1wb3J0IHsgSXNvbGF0ZWRNb2R1bGUsIElzb2xhdGVkUHJvdG9jb2wgfSBmcm9tICcuLi8uLi90eXBlcy9pc29sYXRlZC1tb2R1bGVzL0lzb2xhdGVkTW9kdWxlJ1xuaW1wb3J0IHsgZ2V0T2ZmbGluZVByb3RvY29sQ29uZmlndXJhdGlvbiwgZ2V0T25saW5lUHJvdG9jb2xDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbW9kdWxlcy9sb2FkLXByb3RvY29sJ1xuXG5leHBvcnQgY2xhc3MgSXNvbGF0ZWRNb2R1bGVzIGV4dGVuZHMgV2ViUGx1Z2luIGltcGxlbWVudHMgSXNvbGF0ZWRNb2R1bGVzUGx1Z2luIHtcbiAgcHJpdmF0ZSByZWFkb25seSBvZmZsaW5lUHJvdG9jb2xzOiBSZWNvcmQ8c3RyaW5nLCBBaXJHYXBPZmZsaW5lUHJvdG9jb2w+ID0ge31cbiAgcHJpdmF0ZSByZWFkb25seSBvbmxpbmVQcm90b2NvbHM6IFJlY29yZDxzdHJpbmcsIEFpckdhcE9ubGluZVByb3RvY29sPiA9IHt9XG4gIHByaXZhdGUgcmVhZG9ubHkgYmxvY2tFeHBsb3JlcnM6IFJlY29yZDxzdHJpbmcsIEFpckdhcEJsb2NrRXhwbG9yZXI+ID0ge31cbiAgcHJpdmF0ZSByZWFkb25seSB2M1NlcmlhbGl6ZXJDb21wYW5pb25zOiBSZWNvcmQ8c3RyaW5nLCBBaXJHYXBWM1NlcmlhbGl6ZXJDb21wYW5pb24+ID0ge31cblxuICBwcml2YXRlIHJlYWRvbmx5IG1vZHVsZUluZGljZXM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kdWxlczogQWlyR2FwTW9kdWxlW10gPSBbXG4gICAgICBuZXcgQml0Y29pbk1vZHVsZSgpLFxuICAgICAgbmV3IEV0aGVyZXVtTW9kdWxlKCksXG4gICAgICBuZXcgVGV6b3NNb2R1bGUoKSxcbiAgICAgIG5ldyBQb2xrYWRvdE1vZHVsZSgpLFxuICAgICAgbmV3IENvc21vc01vZHVsZSgpLFxuICAgICAgbmV3IEFldGVybml0eU1vZHVsZSgpLFxuICAgICAgbmV3IEdyb2VzdGxjb2luTW9kdWxlKCksXG4gICAgICBuZXcgTW9vbmJlYW1Nb2R1bGUoKSxcbiAgICAgIG5ldyBBc3Rhck1vZHVsZSgpLFxuICAgICAgbmV3IElDUE1vZHVsZSgpLFxuICAgICAgbmV3IENvcmV1bU1vZHVsZSgpLFxuICAgICAgbmV3IE9wdGltaXNtTW9kdWxlKCksXG4gICAgICBuZXcgQWN1cmFzdE1vZHVsZSgpLFxuICAgICAgbmV3IFN0ZWxsYXJNb2R1bGUoKSxcbiAgICAgIG5ldyBUcm9uTW9kdWxlKClcbiAgICBdXG4gICkge1xuICAgIHN1cGVyKClcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcmV2aWV3RHluYW1pY01vZHVsZShfb3B0aW9uczogUHJldmlld0R5bmFtaWNNb2R1bGVPcHRpb25zKTogUHJvbWlzZTxQcmV2aWV3RHluYW1pY01vZHVsZVJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignRHluYW1pYyBpc29sYXRlZCBtb2R1bGUgcHJldmlldyBub3Qgc3VwcG9ydGVkIGluIGEgYnJvd3NlcicpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmVyaWZ5RHluYW1pY01vZHVsZShfb3B0aW9uczogVmVyaWZ5RHluYW1pY01vZHVsZU9wdGlvbnMpOiBQcm9taXNlPFZlcmlmeUR5bmFtaWNNb2R1bGVSZXN1bHQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0R5bmFtaWMgaXNvbGF0ZWQgbW9kdWxlIHZlcmlmaWNhdGlvbiBub3Qgc3VwcG9ydGVkIGluIGEgYnJvd3NlcicpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXJEeW5hbWljTW9kdWxlKF9vcHRpb25zOiBSZWdpc3RlckR5bmFtaWNNb2R1bGVPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEeW5hbWljIGlzb2xhdGVkIG1vZHVsZSByZWdpc3RyYXRpb24gbm90IHN1cHBvcnRlZCBpbiBhIGJyb3dzZXInKVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHJlYWREeW5hbWljTW9kdWxlKF9vcHRpb25zOiBSZWFkRHluYW1pY01vZHVsZU9wdGlvbnMpOiBQcm9taXNlPFJlYWREeW5hbWljTW9kdWxlUmVzdWx0PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEeW5hbWljIGlzb2xhdGVkIG1vZHVsZSByZWFkIG5vdCBzdXBwb3J0ZWQgaW4gYSBicm93c2VyJylcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZW1vdmVEeW5hbWljTW9kdWxlcyhfb3B0aW9uczogUmVtb3ZlRHluYW1pY01vZHVsZXNPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEeW5hbWljIGlzb2xhdGVkIG1vZHVsZSByZW1vdmFsIG5vdCBzdXBwb3J0ZWQgaW4gYSBicm93c2VyJylcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZWFkQXNzZXRNb2R1bGUoX29wdGlvbnM6IFJlYWRBc3NldE1vZHVsZU9wdGlvbnMpOiBQcm9taXNlPFJlYWRBc3NldE1vZHVsZVJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignQXNzZXQgaXNvbGF0ZWQgbW9kdWxlIHJlYWQgbm90IHN1cHBvcnRlZCBpbiBhIGJyb3dzZXInKVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRBbGxNb2R1bGVzKG9wdGlvbnM6IExvYWRBbGxNb2R1bGVzT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxMb2FkQWxsTW9kdWxlc1Jlc3VsdD4ge1xuICAgIGNvbnN0IG1vZHVsZXM6IElzb2xhdGVkTW9kdWxlW10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHRoaXMubW9kdWxlcy5tYXAoKG1vZHVsZTogQWlyR2FwTW9kdWxlLCBpbmRleDogbnVtYmVyKSA9PlxuICAgICAgICB0aGlzLmxvYWRNb2R1bGUobW9kdWxlLCBpbmRleCwgb3B0aW9ucy5wcm90b2NvbFR5cGUsIG5ldyBTZXQob3B0aW9ucy5pZ25vcmVQcm90b2NvbHMgPz8gW10pKVxuICAgICAgKVxuICAgIClcblxuICAgIHJldHVybiB7IG1vZHVsZXMgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkTW9kdWxlKFxuICAgIG1vZHVsZTogQWlyR2FwTW9kdWxlLFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgcHJvdG9jb2xUeXBlOiBQcm90b2NvbENvbmZpZ3VyYXRpb25bJ3R5cGUnXSB8IHVuZGVmaW5lZCxcbiAgICBpZ25vcmVQcm90b2NvbHM6IFNldDxzdHJpbmc+XG4gICk6IFByb21pc2U8SXNvbGF0ZWRNb2R1bGU+IHtcbiAgICBjb25zdCBtb2R1bGVJZGVudGlmaWVyOiBzdHJpbmcgPSBpbmRleC50b1N0cmluZygpXG4gICAgY29uc3QgdjNTZXJpYWxpemVyQ29tcGFuaW9uOiBBaXJHYXBWM1NlcmlhbGl6ZXJDb21wYW5pb24gPSBhd2FpdCBtb2R1bGUuY3JlYXRlVjNTZXJpYWxpemVyQ29tcGFuaW9uKClcblxuICAgIHRoaXMudjNTZXJpYWxpemVyQ29tcGFuaW9uc1ttb2R1bGVJZGVudGlmaWVyXSA9IHYzU2VyaWFsaXplckNvbXBhbmlvblxuXG4gICAgY29uc3QgcHJvdG9jb2xzOiBJc29sYXRlZFByb3RvY29sW11bXSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgT2JqZWN0LmVudHJpZXMobW9kdWxlLnN1cHBvcnRlZFByb3RvY29scylcbiAgICAgICAgLmZpbHRlcigoW2lkZW50aWZpZXIsIF9dKSA9PiAhaWdub3JlUHJvdG9jb2xzLmhhcyhpZGVudGlmaWVyKSlcbiAgICAgICAgLm1hcCgoW2lkZW50aWZpZXIsIGNvbmZpZ3VyYXRpb25dOiBbc3RyaW5nLCBQcm90b2NvbENvbmZpZ3VyYXRpb25dKSA9PlxuICAgICAgICAgIHRoaXMubG9hZE1vZHVsZVByb3RvY29scyhtb2R1bGUsIGluZGV4LCBpZGVudGlmaWVyLCBjb25maWd1cmF0aW9uLCBwcm90b2NvbFR5cGUpXG4gICAgICAgIClcbiAgICApXG5cbiAgICByZXR1cm4ge1xuICAgICAgaWRlbnRpZmllcjogbW9kdWxlSWRlbnRpZmllcixcbiAgICAgIHR5cGU6ICdzdGF0aWMnLFxuICAgICAgcHJvdG9jb2xzOiBmbGF0dGVuZWQocHJvdG9jb2xzKSxcbiAgICAgIHYzU2NoZW1hQ29uZmlndXJhdGlvbnM6IHYzU2VyaWFsaXplckNvbXBhbmlvbi5zY2hlbWFzXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkTW9kdWxlUHJvdG9jb2xzKFxuICAgIG1vZHVsZTogQWlyR2FwTW9kdWxlLFxuICAgIG1vZHVsZUluZGV4OiBudW1iZXIsXG4gICAgaWRlbnRpZmllcjogc3RyaW5nLFxuICAgIGNvbmZpZ3VyYXRpb246IFByb3RvY29sQ29uZmlndXJhdGlvbixcbiAgICBwcm90b2NvbFR5cGU/OiBQcm90b2NvbENvbmZpZ3VyYXRpb25bJ3R5cGUnXVxuICApOiBQcm9taXNlPElzb2xhdGVkUHJvdG9jb2xbXT4ge1xuICAgIGNvbnN0IG9mZmxpbmVDb25maWd1cmF0aW9uOiBPZmZsaW5lUHJvdG9jb2xDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkID0gZ2V0T2ZmbGluZVByb3RvY29sQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uLCBwcm90b2NvbFR5cGUpXG4gICAgY29uc3Qgb25saW5lQ29uZmlndXJhdGlvbjogT25saW5lUHJvdG9jb2xDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkID0gZ2V0T25saW5lUHJvdG9jb2xDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24sIHByb3RvY29sVHlwZSlcblxuICAgIGNvbnN0IFtvZmZsaW5lUHJvdG9jb2xzLCBvbmxpbmVQcm90b2NvbHNdOiBbSXNvbGF0ZWRQcm90b2NvbFtdLCBJc29sYXRlZFByb3RvY29sW11dID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgb2ZmbGluZUNvbmZpZ3VyYXRpb24gPyB0aGlzLmxvYWRPZmZsaW5lUHJvdG9jb2xzKG1vZHVsZSwgbW9kdWxlSW5kZXgsIGlkZW50aWZpZXIsIG9mZmxpbmVDb25maWd1cmF0aW9uKSA6IFByb21pc2UucmVzb2x2ZShbXSksXG4gICAgICBvbmxpbmVDb25maWd1cmF0aW9uID8gdGhpcy5sb2FkT25saW5lUHJvdG9jb2xzKG1vZHVsZSwgbW9kdWxlSW5kZXgsIGlkZW50aWZpZXIsIG9ubGluZUNvbmZpZ3VyYXRpb24pIDogUHJvbWlzZS5yZXNvbHZlKFtdKVxuICAgIF0pXG5cbiAgICByZXR1cm4gb2ZmbGluZVByb3RvY29scy5jb25jYXQob25saW5lUHJvdG9jb2xzKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkT2ZmbGluZVByb3RvY29scyhcbiAgICBtb2R1bGU6IEFpckdhcE1vZHVsZSxcbiAgICBtb2R1bGVJbmRleDogbnVtYmVyLFxuICAgIGlkZW50aWZpZXI6IHN0cmluZyxcbiAgICBfY29uZmlndXJhdGlvbjogT2ZmbGluZVByb3RvY29sQ29uZmlndXJhdGlvblxuICApOiBQcm9taXNlPElzb2xhdGVkUHJvdG9jb2xbXT4ge1xuICAgIGNvbnN0IHByb3RvY29sOiBBaXJHYXBPZmZsaW5lUHJvdG9jb2wgfCB1bmRlZmluZWQgPSBhd2FpdCBtb2R1bGUuY3JlYXRlT2ZmbGluZVByb3RvY29sKGlkZW50aWZpZXIpXG4gICAgaWYgKHByb3RvY29sID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cblxuICAgIHRoaXMubW9kdWxlSW5kaWNlc1tpZGVudGlmaWVyXSA9IG1vZHVsZUluZGV4XG4gICAgdGhpcy5vZmZsaW5lUHJvdG9jb2xzW3RoaXMucHJvdG9jb2xLZXkoaWRlbnRpZmllcildID0gcHJvdG9jb2xcblxuICAgIGNvbnN0IGNyeXB0bzogQ3J5cHRvQ29uZmlndXJhdGlvbiA9IGF3YWl0IHByb3RvY29sLmdldENyeXB0b0NvbmZpZ3VyYXRpb24oKVxuXG4gICAgcmV0dXJuIFthd2FpdCB0aGlzLmdldElzb2xhdGVkUHJvdG9jb2xDb25maWd1cmF0aW9uKHByb3RvY29sLCAnb2ZmbGluZScsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjcnlwdG8pXVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkT25saW5lUHJvdG9jb2xzKFxuICAgIG1vZHVsZTogQWlyR2FwTW9kdWxlLFxuICAgIG1vZHVsZUluZGV4OiBudW1iZXIsXG4gICAgaWRlbnRpZmllcjogc3RyaW5nLFxuICAgIGNvbmZpZ3VyYXRpb246IE9ubGluZVByb3RvY29sQ29uZmlndXJhdGlvblxuICApOiBQcm9taXNlPElzb2xhdGVkUHJvdG9jb2xbXT4ge1xuICAgIGNvbnN0IHByb3RvY29sczogKElzb2xhdGVkUHJvdG9jb2wgfCB1bmRlZmluZWQpW10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIE9iamVjdC5lbnRyaWVzKGNvbmZpZ3VyYXRpb24ubmV0d29ya3MpLm1hcChhc3luYyAoW25ldHdvcmtJZCwgX106IFtzdHJpbmcsIFByb3RvY29sTmV0d29ya10pID0+IHtcbiAgICAgICAgY29uc3QgW3Byb3RvY29sLCBibG9ja0V4cGxvcmVyXTogW0FpckdhcE9ubGluZVByb3RvY29sIHwgdW5kZWZpbmVkLCBBaXJHYXBCbG9ja0V4cGxvcmVyIHwgdW5kZWZpbmVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICBtb2R1bGUuY3JlYXRlT25saW5lUHJvdG9jb2woaWRlbnRpZmllciwgbmV0d29ya0lkKSxcbiAgICAgICAgICBtb2R1bGUuY3JlYXRlQmxvY2tFeHBsb3JlcihpZGVudGlmaWVyLCBuZXR3b3JrSWQpXG4gICAgICAgIF0pXG4gICAgICAgIGlmIChwcm90b2NvbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tb2R1bGVJbmRpY2VzW2lkZW50aWZpZXJdID0gbW9kdWxlSW5kZXhcbiAgICAgICAgdGhpcy5vbmxpbmVQcm90b2NvbHNbdGhpcy5wcm90b2NvbEtleShpZGVudGlmaWVyLCBuZXR3b3JrSWQpXSA9IHByb3RvY29sXG5cbiAgICAgICAgaWYgKGJsb2NrRXhwbG9yZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMuYmxvY2tFeHBsb3JlcnNbdGhpcy5wcm90b2NvbEtleShpZGVudGlmaWVyLCBuZXR3b3JrSWQpXSA9IGJsb2NrRXhwbG9yZXJcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtuZXR3b3JrLCBibG9ja0V4cGxvcmVyTWV0YWRhdGFdOiBbUHJvdG9jb2xOZXR3b3JrLCBCbG9ja0V4cGxvcmVyTWV0YWRhdGEgfCB1bmRlZmluZWRdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgIHByb3RvY29sLmdldE5ldHdvcmsoKSxcbiAgICAgICAgICBibG9ja0V4cGxvcmVyPy5nZXRNZXRhZGF0YSgpID8/IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpXG4gICAgICAgIF0pXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SXNvbGF0ZWRQcm90b2NvbENvbmZpZ3VyYXRpb24ocHJvdG9jb2wsICdvbmxpbmUnLCBibG9ja0V4cGxvcmVyTWV0YWRhdGEsIG5ldHdvcmspXG4gICAgICB9KVxuICAgIClcblxuICAgIHJldHVybiBwcm90b2NvbHMuZmlsdGVyKChwcm90b2NvbDogSXNvbGF0ZWRQcm90b2NvbCB8IHVuZGVmaW5lZCkgPT4gcHJvdG9jb2wgIT09IHVuZGVmaW5lZClcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0SXNvbGF0ZWRQcm90b2NvbENvbmZpZ3VyYXRpb24oXG4gICAgcHJvdG9jb2w6IEFpckdhcEFueVByb3RvY29sLFxuICAgIG1vZGU6IElzb2xhdGVkUHJvdG9jb2xbJ21vZGUnXSxcbiAgICBibG9ja0V4cGxvcmVyTWV0YWRhdGE/OiBCbG9ja0V4cGxvcmVyTWV0YWRhdGEsXG4gICAgbmV0d29yaz86IFByb3RvY29sTmV0d29yayxcbiAgICBjcnlwdG8/OiBDcnlwdG9Db25maWd1cmF0aW9uXG4gICk6IFByb21pc2U8SXNvbGF0ZWRQcm90b2NvbD4ge1xuICAgIGNvbnN0IHByb3RvY29sTWV0YWRhdGE6IFByb3RvY29sTWV0YWRhdGEgPSBhd2FpdCBwcm90b2NvbC5nZXRNZXRhZGF0YSgpXG5cbiAgICBjb25zdCBjb25maWd1cmF0aW9uOiBPbWl0PElzb2xhdGVkUHJvdG9jb2wsICd0eXBlJz4gPSB7XG4gICAgICBtb2RlLFxuICAgICAgaWRlbnRpZmllcjogcHJvdG9jb2xNZXRhZGF0YS5pZGVudGlmaWVyLFxuICAgICAgcHJvdG9jb2xNZXRhZGF0YSxcbiAgICAgIGJsb2NrRXhwbG9yZXJNZXRhZGF0YTogYmxvY2tFeHBsb3Jlck1ldGFkYXRhID8/IG51bGwsXG4gICAgICBuZXR3b3JrOiBuZXR3b3JrID8/IG51bGwsXG4gICAgICBtZXRob2RzOiB0aGlzLmNvbGxlY3RNZXRob2RzKHByb3RvY29sKSxcbiAgICAgIGNhY2hlZFZhbHVlczoge1xuICAgICAgICBnZXRDcnlwdG9Db25maWd1cmF0aW9uOiBjcnlwdG9cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNTdWJQcm90b2NvbChwcm90b2NvbCkpIHtcbiAgICAgIGNvbnN0IFtzdWJUeXBlLCBtYWluUHJvdG9jb2wsIGNvbnRyYWN0QWRkcmVzc106IFtTdWJQcm90b2NvbFR5cGUsIHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgcHJvdG9jb2wuZ2V0VHlwZSgpLFxuICAgICAgICBwcm90b2NvbC5tYWluUHJvdG9jb2woKSxcbiAgICAgICAgaGFzQ29uZmlndXJhYmxlQ29udHJhY3QocHJvdG9jb2wpID8gcHJvdG9jb2wuZ2V0Q29udHJhY3RBZGRyZXNzKCkgOiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKVxuICAgICAgXSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbixcbiAgICAgICAgdHlwZTogJ3N1YicsXG4gICAgICAgIGNhY2hlZFZhbHVlczogT2JqZWN0LmFzc2lnbihjb25maWd1cmF0aW9uLmNhY2hlZFZhbHVlcywge1xuICAgICAgICAgIGdldFR5cGU6IHN1YlR5cGUsXG4gICAgICAgICAgbWFpblByb3RvY29sLFxuICAgICAgICAgIGdldENvbnRyYWN0QWRkcmVzczogY29udHJhY3RBZGRyZXNzXG4gICAgICAgIH0pLFxuICAgICAgICBzdWJUeXBlLFxuICAgICAgICBtYWluUHJvdG9jb2xJZGVudGlmaWVyOiBtYWluUHJvdG9jb2wsXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogY29udHJhY3RBZGRyZXNzID8/IG51bGxcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbixcbiAgICAgICAgdHlwZTogJ21haW4nXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0TWV0aG9kcyhwcm90b2NvbDogQWlyR2FwQW55UHJvdG9jb2wpOiBzdHJpbmdbXSB7XG4gICAgbGV0IHByb3BlcnR5TmFtZXM6IHN0cmluZ1tdID0gW11cbiAgICBsZXQgb2JqID0gcHJvdG9jb2xcbiAgICB3aGlsZSAob2JqKSB7XG4gICAgICBwcm9wZXJ0eU5hbWVzID0gcHJvcGVydHlOYW1lcy5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKSlcbiAgICAgIG9iaiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopXG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5TmFtZXMuZmlsdGVyKChrZXk6IHN0cmluZykgPT4gdHlwZW9mIHByb3RvY29sW2tleV0gPT09ICdmdW5jdGlvbicpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2FsbE1ldGhvZChvcHRpb25zOiBDYWxsTWV0aG9kT3B0aW9ucyk6IFByb21pc2U8Q2FsbE1ldGhvZFJlc3VsdD4ge1xuICAgIHN3aXRjaCAob3B0aW9ucy50YXJnZXQpIHtcbiAgICAgIGNhc2UgJ29mZmxpbmVQcm90b2NvbCc6XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxPZmZsaW5lUHJvdG9jb2xNZXRob2Qob3B0aW9ucylcbiAgICAgIGNhc2UgJ29ubGluZVByb3RvY29sJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbE9ubGluZVByb3RvY29sTWV0aG9kKG9wdGlvbnMpXG4gICAgICBjYXNlICdibG9ja0V4cGxvcmVyJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEJsb2NrRXhwbG9yZXJNZXRob2Qob3B0aW9ucylcbiAgICAgIGNhc2UgJ3YzU2VyaWFsaXplckNvbXBhbmlvbic6XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxWM1NlcmlhbGl6ZXJDb21wYW5pb25NZXRob2Qob3B0aW9ucylcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFzc2VydE5ldmVyKCdvcHRpb25zJywgb3B0aW9ucylcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNhbGxPZmZsaW5lUHJvdG9jb2xNZXRob2Qob3B0aW9uczogT2ZmbGluZVByb3RvY29sQ2FsbE1ldGhvZE9wdGlvbnMpOiBQcm9taXNlPENhbGxNZXRob2RSZXN1bHQ+IHtcbiAgICBjb25zdCBwcm90b2NvbDogQWlyR2FwT2ZmbGluZVByb3RvY29sID0gYXdhaXQgdGhpcy5nZXRPZmZsaW5lUHJvdG9jb2wob3B0aW9ucy5wcm90b2NvbElkZW50aWZpZXIpXG4gICAgY29uc3QgbWV0aG9kID0gcHJvdG9jb2xbb3B0aW9ucy5tZXRob2RdLmJpbmQocHJvdG9jb2wpXG5cbiAgICByZXR1cm4geyB2YWx1ZTogYXdhaXQgbWV0aG9kKC4uLihvcHRpb25zLmFyZ3MgPz8gW10pKSB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNhbGxPbmxpbmVQcm90b2NvbE1ldGhvZChvcHRpb25zOiBPbmxpbmVQcm90b2NvbENhbGxNZXRob2RPcHRpb25zKTogUHJvbWlzZTxDYWxsTWV0aG9kUmVzdWx0PiB7XG4gICAgY29uc3QgcHJvdG9jb2w6IEFpckdhcE9ubGluZVByb3RvY29sID0gYXdhaXQgdGhpcy5nZXRPbmxpbmVQcm90b2NvbChvcHRpb25zLnByb3RvY29sSWRlbnRpZmllciwgb3B0aW9ucy5uZXR3b3JrSWQpXG4gICAgY29uc3QgbWV0aG9kID0gcHJvdG9jb2xbb3B0aW9ucy5tZXRob2RdLmJpbmQocHJvdG9jb2wpXG5cbiAgICByZXR1cm4geyB2YWx1ZTogYXdhaXQgbWV0aG9kKC4uLihvcHRpb25zLmFyZ3MgPz8gW10pKSB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNhbGxCbG9ja0V4cGxvcmVyTWV0aG9kKG9wdGlvbnM6IEJsb2NrRXhwbG9yZXJDYWxsTWV0aG9kT3B0aW9ucyk6IFByb21pc2U8Q2FsbE1ldGhvZFJlc3VsdD4ge1xuICAgIGNvbnN0IGJsb2NrRXhwbG9yZXI6IEFpckdhcEJsb2NrRXhwbG9yZXIgPSBhd2FpdCB0aGlzLmdldEJsb2NrRXhwbG9yZXIob3B0aW9ucy5wcm90b2NvbElkZW50aWZpZXIsIG9wdGlvbnMubmV0d29ya0lkKVxuICAgIGNvbnN0IG1ldGhvZCA9IGJsb2NrRXhwbG9yZXJbb3B0aW9ucy5tZXRob2RdLmJpbmQoYmxvY2tFeHBsb3JlcilcblxuICAgIHJldHVybiB7IHZhbHVlOiBhd2FpdCBtZXRob2QoLi4uKG9wdGlvbnMuYXJncyA/PyBbXSkpIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2FsbFYzU2VyaWFsaXplckNvbXBhbmlvbk1ldGhvZChvcHRpb25zOiBWM1NlcmlhbGl6ZXJDb21wYW5pb25DYWxsTWV0aG9kT3B0aW9ucyk6IFByb21pc2U8Q2FsbE1ldGhvZFJlc3VsdD4ge1xuICAgIGNvbnN0IHYzU2VyaWFsaXplckNvbXBhbmlvbjogQWlyR2FwVjNTZXJpYWxpemVyQ29tcGFuaW9uID0gYXdhaXQgdGhpcy5nZXRWM1NlcmlhbGl6ZXJDb21wYW5pb24ob3B0aW9ucy5tb2R1bGVJZGVudGlmaWVyKVxuICAgIGNvbnN0IG1ldGhvZCA9IHYzU2VyaWFsaXplckNvbXBhbmlvbltvcHRpb25zLm1ldGhvZF0uYmluZCh2M1NlcmlhbGl6ZXJDb21wYW5pb24pXG5cbiAgICByZXR1cm4geyB2YWx1ZTogYXdhaXQgbWV0aG9kKC4uLihvcHRpb25zLmFyZ3MgPz8gW10pKSB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldE9mZmxpbmVQcm90b2NvbChwcm90b2NvbElkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8QWlyR2FwT2ZmbGluZVByb3RvY29sIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TW9kdWxlQ29tcG9uZW50KFxuICAgICAgcHJvdG9jb2xJZGVudGlmaWVyLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdGhpcy5vZmZsaW5lUHJvdG9jb2xzLFxuICAgICAgKG1vZHVsZTogQWlyR2FwTW9kdWxlKSA9PiBtb2R1bGUuY3JlYXRlT2ZmbGluZVByb3RvY29sKHByb3RvY29sSWRlbnRpZmllciksXG4gICAgICAoaWRlbnRpZmllcjogc3RyaW5nKSA9PiB0aGlzLm1vZHVsZUluZGljZXNbaWRlbnRpZmllcl1cbiAgICApXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldE9ubGluZVByb3RvY29sKHByb3RvY29sSWRlbnRpZmllcjogc3RyaW5nLCBuZXR3b3JrSWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFpckdhcE9ubGluZVByb3RvY29sIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TW9kdWxlQ29tcG9uZW50KFxuICAgICAgcHJvdG9jb2xJZGVudGlmaWVyLFxuICAgICAgbmV0d29ya0lkLFxuICAgICAgdGhpcy5vbmxpbmVQcm90b2NvbHMsXG4gICAgICAobW9kdWxlOiBBaXJHYXBNb2R1bGUpID0+IG1vZHVsZS5jcmVhdGVPbmxpbmVQcm90b2NvbChwcm90b2NvbElkZW50aWZpZXIsIG5ldHdvcmtJZCksXG4gICAgICAoaWRlbnRpZmllcjogc3RyaW5nKSA9PiB0aGlzLm1vZHVsZUluZGljZXNbaWRlbnRpZmllcl1cbiAgICApXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEJsb2NrRXhwbG9yZXIocHJvdG9jb2xJZGVudGlmaWVyOiBzdHJpbmcsIG5ldHdvcmtJZD86IHN0cmluZyk6IFByb21pc2U8QWlyR2FwQmxvY2tFeHBsb3JlciB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmdldE1vZHVsZUNvbXBvbmVudChcbiAgICAgIHByb3RvY29sSWRlbnRpZmllcixcbiAgICAgIG5ldHdvcmtJZCxcbiAgICAgIHRoaXMuYmxvY2tFeHBsb3JlcnMsXG4gICAgICAobW9kdWxlOiBBaXJHYXBNb2R1bGUpID0+IG1vZHVsZS5jcmVhdGVCbG9ja0V4cGxvcmVyKHByb3RvY29sSWRlbnRpZmllciwgbmV0d29ya0lkKSxcbiAgICAgIChpZGVudGlmaWVyOiBzdHJpbmcpID0+IHRoaXMubW9kdWxlSW5kaWNlc1tpZGVudGlmaWVyXVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0VjNTZXJpYWxpemVyQ29tcGFuaW9uKG1vZHVsZUlkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8QWlyR2FwVjNTZXJpYWxpemVyQ29tcGFuaW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TW9kdWxlQ29tcG9uZW50KFxuICAgICAgbW9kdWxlSWRlbnRpZmllcixcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHRoaXMudjNTZXJpYWxpemVyQ29tcGFuaW9ucyxcbiAgICAgIChtb2R1bGU6IEFpckdhcE1vZHVsZSkgPT4gbW9kdWxlLmNyZWF0ZVYzU2VyaWFsaXplckNvbXBhbmlvbigpLFxuICAgICAgKGlkZW50aWZpZXI6IHN0cmluZykgPT4gcGFyc2VJbnQoaWRlbnRpZmllciwgMTApXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRNb2R1bGVDb21wb25lbnQ8VD4oXG4gICAgaWRlbnRpZmllcjogc3RyaW5nLFxuICAgIG5ldHdvcmtJZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbXBvbmVudENvbGxlY3Rpb246IFJlY29yZDxzdHJpbmcsIFQ+LFxuICAgIGNyZWF0ZUNvbXBvbmVudDogKG1vZHVsZTogQWlyR2FwTW9kdWxlKSA9PiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+LFxuICAgIGlkZW50aWZpZXJUb01vZHVsZUluZGV4OiAoaWQ6IHN0cmluZykgPT4gbnVtYmVyIHwgdW5kZWZpbmVkXG4gICk6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHByb3RvY29sS2V5OiBzdHJpbmcgPSB0aGlzLnByb3RvY29sS2V5KGlkZW50aWZpZXIsIG5ldHdvcmtJZClcbiAgICBpZiAoY29tcG9uZW50Q29sbGVjdGlvbltwcm90b2NvbEtleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgbW9kdWxlSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCA9IGlkZW50aWZpZXJUb01vZHVsZUluZGV4KGlkZW50aWZpZXIpXG4gICAgICBpZiAobW9kdWxlSW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudENvbGxlY3Rpb25bcHJvdG9jb2xLZXldID0gYXdhaXQgY3JlYXRlQ29tcG9uZW50KHRoaXMubW9kdWxlc1ttb2R1bGVJbmRleF0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudENvbGxlY3Rpb25bcHJvdG9jb2xLZXldXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYmF0Y2hDYWxsTWV0aG9kKG9wdGlvbnM6IEJhdGNoQ2FsbE1ldGhvZE9wdGlvbnMpOiBQcm9taXNlPEJhdGNoQ2FsbE1ldGhvZFJlc3VsdD4ge1xuICAgIGNvbnN0IHZhbHVlczogQmF0Y2hDYWxsTWV0aG9kU2luZ2xlUmVzdWx0W10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIG9wdGlvbnMub3B0aW9ucy5tYXAoYXN5bmMgKG86IENhbGxNZXRob2RPcHRpb25zKTogUHJvbWlzZTxCYXRjaENhbGxNZXRob2RTaW5nbGVSZXN1bHQ+ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBhd2FpdCB0aGlzLmNhbGxNZXRob2QobylcblxuICAgICAgICAgIHJldHVybiB7IHR5cGU6ICdzdWNjZXNzJywgdmFsdWUgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHJldHVybiB7IHR5cGU6ICdlcnJvcicsIGVycm9yIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG5cbiAgICByZXR1cm4geyB2YWx1ZXMgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm90b2NvbEtleShpZGVudGlmaWVyOiBzdHJpbmcsIG5ldHdvcmtJZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldHdvcmtJZCA/IGAke2lkZW50aWZpZXJ9XyR7bmV0d29ya0lkfWAgOiBpZGVudGlmaWVyXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@ionic/angular";
5
+ import * as i3 from "../identicon/identicon.component";
6
+ import * as i4 from "../currency-symbol/currency-symbol.component";
7
+ export class AccountItemComponent {
8
+ async ngOnChanges(_changes) {
9
+ this.address = this.wallet?.receivingPublicAddress;
10
+ const [protocolSymbol, protocolIdentifier, protocolName] = await Promise.all([
11
+ this.wallet?.protocol.getSymbol() ?? Promise.resolve(undefined),
12
+ this.wallet?.protocol.getIdentifier() ?? Promise.resolve(undefined),
13
+ this.wallet?.protocol.getName() ?? Promise.resolve(undefined)
14
+ ]);
15
+ this.protocolSymbol = protocolSymbol;
16
+ this.protocolIdentifier = protocolIdentifier;
17
+ this.protocolName = protocolName;
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AccountItemComponent, selector: "airgap-account-item", inputs: { wallet: "wallet", label: "label" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"address && protocolSymbol && protocolIdentifier && protocolName\">\n <ion-item lines=\"none\" class=\"ion-no-padding\">\n <ion-avatar slot=\"start\">\n <airgap-identicon [address]=\"address\"></airgap-identicon>\n <airgap-currency-symbol [symbol]=\"protocolSymbol\" [protocolIdentifier]=\"protocolIdentifier\"></airgap-currency-symbol>\n </ion-avatar>\n <ion-label>\n <div style=\"display: flex; justify-content: space-between; align-items: center\">\n <h2>\n <span class=\"font--weight__med\">{{ protocolName }}</span>\n {{ protocolSymbol }}\n </h2>\n <p>{{ label }}</p>\n </div>\n <p class=\"typography--mono\">{{ wallet.receivingPublicAddress }}</p>\n </ion-label>\n </ion-item>\n</ng-container>\n", styles: ["airgap-currency-symbol{position:absolute;left:24px;top:32px;height:24px;width:24px}airgap-identicon,airgap-identicon img{height:40px;width:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonAvatar, selector: "ion-avatar" }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IdenticonComponent, selector: "airgap-identicon", inputs: ["address"] }, { kind: "component", type: i4.CurrencySymbolComponent, selector: "airgap-currency-symbol", inputs: ["symbol", "protocolIdentifier"] }] }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountItemComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'airgap-account-item', template: "<ng-container *ngIf=\"address && protocolSymbol && protocolIdentifier && protocolName\">\n <ion-item lines=\"none\" class=\"ion-no-padding\">\n <ion-avatar slot=\"start\">\n <airgap-identicon [address]=\"address\"></airgap-identicon>\n <airgap-currency-symbol [symbol]=\"protocolSymbol\" [protocolIdentifier]=\"protocolIdentifier\"></airgap-currency-symbol>\n </ion-avatar>\n <ion-label>\n <div style=\"display: flex; justify-content: space-between; align-items: center\">\n <h2>\n <span class=\"font--weight__med\">{{ protocolName }}</span>\n {{ protocolSymbol }}\n </h2>\n <p>{{ label }}</p>\n </div>\n <p class=\"typography--mono\">{{ wallet.receivingPublicAddress }}</p>\n </ion-label>\n </ion-item>\n</ng-container>\n", styles: ["airgap-currency-symbol{position:absolute;left:24px;top:32px;height:24px;width:24px}airgap-identicon,airgap-identicon img{height:40px;width:40px}\n"] }]
25
+ }], propDecorators: { wallet: [{
26
+ type: Input
27
+ }], label: [{
28
+ type: Input
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWl0ZW0vYWNjb3VudC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LWl0ZW0vYWNjb3VudC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQTs7Ozs7O0FBUTFFLE1BQU0sT0FBTyxvQkFBb0I7SUFheEIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUF1QjtRQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQUE7UUFFbEQsTUFBTSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLENBQUMsR0FBc0MsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzlHLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQy9ELElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQ25FLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQzlELENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQTtRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQTtJQUNsQyxDQUFDOytHQXpCVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw4SENSakMsa3lCQWtCQTs7NEZEVmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLHFCQUFxQjs4QkFNeEIsTUFBTTtzQkFEWixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBaXJHYXBXYWxsZXQsIFByb3RvY29sU3ltYm9scyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhaXJnYXAtYWNjb3VudC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY291bnQtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY291bnQtaXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgcHVibGljIHdhbGxldDogQWlyR2FwV2FsbGV0IHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBwdWJsaWMgYWRkcmVzczogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgcHVibGljIHByb3RvY29sU3ltYm9sOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcHVibGljIHByb3RvY29sSWRlbnRpZmllcjogUHJvdG9jb2xTeW1ib2xzIHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBwcm90b2NvbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIHB1YmxpYyBhc3luYyBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYWRkcmVzcyA9IHRoaXMud2FsbGV0Py5yZWNlaXZpbmdQdWJsaWNBZGRyZXNzXG5cbiAgICBjb25zdCBbcHJvdG9jb2xTeW1ib2wsIHByb3RvY29sSWRlbnRpZmllciwgcHJvdG9jb2xOYW1lXTogW3N0cmluZywgUHJvdG9jb2xTeW1ib2xzLCBzdHJpbmddID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgdGhpcy53YWxsZXQ/LnByb3RvY29sLmdldFN5bWJvbCgpID8/IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpLFxuICAgICAgdGhpcy53YWxsZXQ/LnByb3RvY29sLmdldElkZW50aWZpZXIoKSA/PyBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKSxcbiAgICAgIHRoaXMud2FsbGV0Py5wcm90b2NvbC5nZXROYW1lKCkgPz8gUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZClcbiAgICBdKVxuXG4gICAgdGhpcy5wcm90b2NvbFN5bWJvbCA9IHByb3RvY29sU3ltYm9sXG4gICAgdGhpcy5wcm90b2NvbElkZW50aWZpZXIgPSBwcm90b2NvbElkZW50aWZpZXJcbiAgICB0aGlzLnByb3RvY29sTmFtZSA9IHByb3RvY29sTmFtZVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWRkcmVzcyAmJiBwcm90b2NvbFN5bWJvbCAmJiBwcm90b2NvbElkZW50aWZpZXIgJiYgcHJvdG9jb2xOYW1lXCI+XG4gIDxpb24taXRlbSBsaW5lcz1cIm5vbmVcIiBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCI+XG4gICAgPGlvbi1hdmF0YXIgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8YWlyZ2FwLWlkZW50aWNvbiBbYWRkcmVzc109XCJhZGRyZXNzXCI+PC9haXJnYXAtaWRlbnRpY29uPlxuICAgICAgPGFpcmdhcC1jdXJyZW5jeS1zeW1ib2wgW3N5bWJvbF09XCJwcm90b2NvbFN5bWJvbFwiIFtwcm90b2NvbElkZW50aWZpZXJdPVwicHJvdG9jb2xJZGVudGlmaWVyXCI+PC9haXJnYXAtY3VycmVuY3ktc3ltYm9sPlxuICAgIDwvaW9uLWF2YXRhcj5cbiAgICA8aW9uLWxhYmVsPlxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxuICAgICAgICA8aDI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LS13ZWlnaHRfX21lZFwiPnt7IHByb3RvY29sTmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICB7eyBwcm90b2NvbFN5bWJvbCB9fVxuICAgICAgICA8L2gyPlxuICAgICAgICA8cD57eyBsYWJlbCB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPHAgY2xhc3M9XCJ0eXBvZ3JhcGh5LS1tb25vXCI+e3sgd2FsbGV0LnJlY2VpdmluZ1B1YmxpY0FkZHJlc3MgfX08L3A+XG4gICAgPC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { Component, Input, EventEmitter, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@ionic/angular";
5
+ import * as i3 from "../account-item/account-item.component";
6
+ export class AccountSelectionComponent {
7
+ constructor() {
8
+ this.walletSetEmitter = new EventEmitter();
9
+ this.dismissEmitter = new EventEmitter();
10
+ this.filteredWallets = [];
11
+ }
12
+ ngOnChanges(changes) {
13
+ if (changes.wallets && changes.wallets.currentValue) {
14
+ // Handle when wallets input changes or is set initially
15
+ this.filteredWallets = [...this.wallets];
16
+ }
17
+ }
18
+ filterItems(event) {
19
+ const value = this.isInputElement(event.target) ? event.target.value : undefined;
20
+ this.symbolFilter = this.isValidFilterQuery(value) ? value.trim().toLowerCase() : undefined;
21
+ }
22
+ filterWallet(event) {
23
+ const value = this.isInputElement(event.target) ? event.target.value : undefined;
24
+ this.filteredWallets = this.isValidFilterQuery(value)
25
+ ? this.wallets?.filter((wallet) => wallet.label?.trim().toLowerCase().startsWith(value.trim().toLowerCase())) || []
26
+ : this.wallets
27
+ ? [...this.wallets]
28
+ : [];
29
+ }
30
+ selectAccount(wallet) {
31
+ this.walletSetEmitter.emit(wallet);
32
+ }
33
+ dismiss() {
34
+ this.dismissEmitter.emit();
35
+ }
36
+ isInputElement(target) {
37
+ return target !== null && 'value' in target;
38
+ }
39
+ isValidFilterQuery(data) {
40
+ return typeof data === 'string' && data.length > 0;
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AccountSelectionComponent, selector: "airgap-account-selection", inputs: { title: "title", heading: "heading", placeholder: "placeholder", wallets: "wallets" }, outputs: { walletSetEmitter: "walletSetEmitter", dismissEmitter: "dismissEmitter" }, usesOnChanges: true, ngImport: i0, template: "<ion-header class=\"ion-no-border\">\n <ion-grid fixed=\"true\" class=\"ion-no-padding\">\n <ion-toolbar color=\"secondary\">\n <ion-button (click)=\"dismiss()\" fill=\"clear\" color=\"primary\" float-right>\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n <ion-title color=\"primary\">{{ title }}</ion-title>\n </ion-toolbar>\n <ion-toolbar color=\"secondary\">\n <ion-searchbar placeholder=\"{{ placeholder }}\" (ionInput)=\"filterWallet($event)\"></ion-searchbar>\n </ion-toolbar>\n </ion-grid>\n</ion-header>\n<ion-content [fullscreen]=\"true\">\n <h3 [innerHTML]=\"heading\" class=\"ion-padding\"></h3>\n <ion-list class=\"ion-padding\" *ngIf=\"wallets\">\n <ng-container *ngFor=\"let wallet of filteredWallets\">\n <airgap-account-item [wallet]=\"wallet\" [label]=\"wallet.label\" (click)=\"selectAccount(wallet)\"></airgap-account-item>\n </ng-container>\n </ion-list>\n</ion-content>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i2.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocapitalize", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "component", type: i3.AccountItemComponent, selector: "airgap-account-item", inputs: ["wallet", "label"] }] }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountSelectionComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'airgap-account-selection', template: "<ion-header class=\"ion-no-border\">\n <ion-grid fixed=\"true\" class=\"ion-no-padding\">\n <ion-toolbar color=\"secondary\">\n <ion-button (click)=\"dismiss()\" fill=\"clear\" color=\"primary\" float-right>\n <ion-icon name=\"close\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n <ion-title color=\"primary\">{{ title }}</ion-title>\n </ion-toolbar>\n <ion-toolbar color=\"secondary\">\n <ion-searchbar placeholder=\"{{ placeholder }}\" (ionInput)=\"filterWallet($event)\"></ion-searchbar>\n </ion-toolbar>\n </ion-grid>\n</ion-header>\n<ion-content [fullscreen]=\"true\">\n <h3 [innerHTML]=\"heading\" class=\"ion-padding\"></h3>\n <ion-list class=\"ion-padding\" *ngIf=\"wallets\">\n <ng-container *ngFor=\"let wallet of filteredWallets\">\n <airgap-account-item [wallet]=\"wallet\" [label]=\"wallet.label\" (click)=\"selectAccount(wallet)\"></airgap-account-item>\n </ng-container>\n </ion-list>\n</ion-content>\n" }]
48
+ }], propDecorators: { title: [{
49
+ type: Input
50
+ }], heading: [{
51
+ type: Input
52
+ }], placeholder: [{
53
+ type: Input
54
+ }], wallets: [{
55
+ type: Input
56
+ }], walletSetEmitter: [{
57
+ type: Output
58
+ }], dismissEmitter: [{
59
+ type: Output
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZWxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2FjY291bnQtc2VsZWN0aW9uL2FjY291bnQtc2VsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50LXNlbGVjdGlvbi9hY2NvdW50LXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQTs7Ozs7QUFPckYsTUFBTSxPQUFPLHlCQUF5QjtJQUx0QztRQW1CbUIscUJBQWdCLEdBQStCLElBQUksWUFBWSxFQUFFLENBQUE7UUFHakUsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUlqRSxvQkFBZSxHQUFtQixFQUFFLENBQUE7S0FxQzVDO0lBbkNRLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwRCx3REFBd0Q7WUFDeEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVk7UUFDN0IsTUFBTSxLQUFLLEdBQVksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDekYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQzdGLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBWTtRQUM5QixNQUFNLEtBQUssR0FBWSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUV6RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7WUFDbkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDbkgsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO2dCQUNkLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDbkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNSLENBQUM7SUFDTSxhQUFhLENBQUMsTUFBb0I7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBQ00sT0FBTztRQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUEwQjtRQUMvQyxPQUFPLE1BQU0sS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLE1BQU0sQ0FBQTtJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBYTtRQUN0QyxPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNwRCxDQUFDOytHQXpEVSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwUUNQdEMsaTlCQXFCQTs7NEZEZGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLDBCQUEwQjs4QkFNN0IsS0FBSztzQkFEWCxLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJVyxnQkFBZ0I7c0JBRGhDLE1BQU07Z0JBSVUsY0FBYztzQkFEOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFpckdhcFdhbGxldCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlJ1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWlyZ2FwLWFjY291bnQtc2VsZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY291bnQtc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3VudC1zZWxlY3Rpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VsZWN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGluZzogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKVxuICBwdWJsaWMgd2FsbGV0czogQWlyR2FwV2FsbGV0W10gfCB1bmRlZmluZWRcblxuICBAT3V0cHV0KClcbiAgcHJpdmF0ZSByZWFkb25seSB3YWxsZXRTZXRFbWl0dGVyOiBFdmVudEVtaXR0ZXI8QWlyR2FwV2FsbGV0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBPdXRwdXQoKVxuICBwcml2YXRlIHJlYWRvbmx5IGRpc21pc3NFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBwdWJsaWMgc3ltYm9sRmlsdGVyOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBwdWJsaWMgZmlsdGVyZWRXYWxsZXRzOiBBaXJHYXBXYWxsZXRbXSA9IFtdXG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy53YWxsZXRzICYmIGNoYW5nZXMud2FsbGV0cy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIC8vIEhhbmRsZSB3aGVuIHdhbGxldHMgaW5wdXQgY2hhbmdlcyBvciBpcyBzZXQgaW5pdGlhbGx5XG4gICAgICB0aGlzLmZpbHRlcmVkV2FsbGV0cyA9IFsuLi50aGlzLndhbGxldHNdXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbHRlckl0ZW1zKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlOiB1bmtub3duID0gdGhpcy5pc0lucHV0RWxlbWVudChldmVudC50YXJnZXQpID8gZXZlbnQudGFyZ2V0LnZhbHVlIDogdW5kZWZpbmVkXG4gICAgdGhpcy5zeW1ib2xGaWx0ZXIgPSB0aGlzLmlzVmFsaWRGaWx0ZXJRdWVyeSh2YWx1ZSkgPyB2YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKSA6IHVuZGVmaW5lZFxuICB9XG5cbiAgcHVibGljIGZpbHRlcldhbGxldChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZTogdW5rbm93biA9IHRoaXMuaXNJbnB1dEVsZW1lbnQoZXZlbnQudGFyZ2V0KSA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IHVuZGVmaW5lZFxuXG4gICAgdGhpcy5maWx0ZXJlZFdhbGxldHMgPSB0aGlzLmlzVmFsaWRGaWx0ZXJRdWVyeSh2YWx1ZSlcbiAgICAgID8gdGhpcy53YWxsZXRzPy5maWx0ZXIoKHdhbGxldCkgPT4gd2FsbGV0LmxhYmVsPy50cmltKCkudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpKSkgfHwgW11cbiAgICAgIDogdGhpcy53YWxsZXRzXG4gICAgICA/IFsuLi50aGlzLndhbGxldHNdXG4gICAgICA6IFtdXG4gIH1cbiAgcHVibGljIHNlbGVjdEFjY291bnQod2FsbGV0OiBBaXJHYXBXYWxsZXQpOiB2b2lkIHtcbiAgICB0aGlzLndhbGxldFNldEVtaXR0ZXIuZW1pdCh3YWxsZXQpXG4gIH1cbiAgcHVibGljIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNtaXNzRW1pdHRlci5lbWl0KClcbiAgfVxuXG4gIHByaXZhdGUgaXNJbnB1dEVsZW1lbnQodGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGwpOiB0YXJnZXQgaXMgRXZlbnRUYXJnZXQgJiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICByZXR1cm4gdGFyZ2V0ICE9PSBudWxsICYmICd2YWx1ZScgaW4gdGFyZ2V0XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWRGaWx0ZXJRdWVyeShkYXRhOiB1bmtub3duKTogZGF0YSBpcyBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycgJiYgZGF0YS5sZW5ndGggPiAwXG4gIH1cbn1cbiIsIjxpb24taGVhZGVyIGNsYXNzPVwiaW9uLW5vLWJvcmRlclwiPlxuICA8aW9uLWdyaWQgZml4ZWQ9XCJ0cnVlXCIgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgIDxpb24tdG9vbGJhciBjb2xvcj1cInNlY29uZGFyeVwiPlxuICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImRpc21pc3MoKVwiIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwicHJpbWFyeVwiIGZsb2F0LXJpZ2h0PlxuICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlXCIgc2xvdD1cImljb24tb25seVwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8aW9uLXRpdGxlIGNvbG9yPVwicHJpbWFyeVwiPnt7IHRpdGxlIH19PC9pb24tdGl0bGU+XG4gICAgPC9pb24tdG9vbGJhcj5cbiAgICA8aW9uLXRvb2xiYXIgY29sb3I9XCJzZWNvbmRhcnlcIj5cbiAgICAgIDxpb24tc2VhcmNoYmFyIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIiAoaW9uSW5wdXQpPVwiZmlsdGVyV2FsbGV0KCRldmVudClcIj48L2lvbi1zZWFyY2hiYXI+XG4gICAgPC9pb24tdG9vbGJhcj5cbiAgPC9pb24tZ3JpZD5cbjwvaW9uLWhlYWRlcj5cbjxpb24tY29udGVudCBbZnVsbHNjcmVlbl09XCJ0cnVlXCI+XG4gIDxoMyBbaW5uZXJIVE1MXT1cImhlYWRpbmdcIiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+PC9oMz5cbiAgPGlvbi1saXN0IGNsYXNzPVwiaW9uLXBhZGRpbmdcIiAqbmdJZj1cIndhbGxldHNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB3YWxsZXQgb2YgZmlsdGVyZWRXYWxsZXRzXCI+XG4gICAgICA8YWlyZ2FwLWFjY291bnQtaXRlbSBbd2FsbGV0XT1cIndhbGxldFwiIFtsYWJlbF09XCJ3YWxsZXQubGFiZWxcIiAoY2xpY2spPVwic2VsZWN0QWNjb3VudCh3YWxsZXQpXCI+PC9haXJnYXAtYWNjb3VudC1pdGVtPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2lvbi1saXN0PlxuPC9pb24tY29udGVudD5cbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { IonicModule } from '@ionic/angular';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { QRCodeModule } from 'angularx-qrcode';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { PipesModule } from '../pipes/pipes.module';
8
+ import { CurrencySymbolComponent } from './currency-symbol/currency-symbol.component';
9
+ import { FromToComponent } from './from-to/from-to.component';
10
+ import { IdenticonComponent } from './identicon/identicon.component';
11
+ import { NetworkBadgeComponent } from './network-badge/network-badge.component';
12
+ import { TitledAddressComponent } from './titled-address/titled-address.component';
13
+ import { TitledTextComponent } from './titled-text/titled-text.component';
14
+ import { AccountItemComponent } from './account-item/account-item.component';
15
+ import { AccountSelectionComponent } from './account-selection/account-selection.component';
16
+ import { QrComponent } from './qr/qr.component';
17
+ import { QrSettingsComponent } from './qr-settings/qr-settings.component';
18
+ import { IACQrComponent } from './iac-qr/iac-qr.component';
19
+ import { IsolatedModulesListComponent } from './isolated-modules-list/isolated-modules-list.component';
20
+ import { IsolatedModulesOnboardingComponent } from './isolated-modules-onboarding/isolated-modules-onboarding.component';
21
+ import { IsolatedModulesDetailsComponent } from './isolated-modules-details/isolated-modules-details.component';
22
+ import { IsolatedModulesBadgesComponent } from './isolated-modules-badges/isolated-modules-badges.component';
23
+ import * as i0 from "@angular/core";
24
+ export class ComponentsModule {
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, declarations: [FromToComponent,
27
+ IdenticonComponent,
28
+ TitledTextComponent,
29
+ TitledAddressComponent,
30
+ CurrencySymbolComponent,
31
+ NetworkBadgeComponent,
32
+ QrComponent,
33
+ IACQrComponent,
34
+ AccountItemComponent,
35
+ AccountSelectionComponent,
36
+ QrSettingsComponent,
37
+ IsolatedModulesDetailsComponent,
38
+ IsolatedModulesListComponent,
39
+ IsolatedModulesOnboardingComponent,
40
+ IsolatedModulesBadgesComponent], imports: [CommonModule, IonicModule, TranslateModule, PipesModule, QRCodeModule, FormsModule], exports: [FromToComponent,
41
+ IdenticonComponent,
42
+ TitledTextComponent,
43
+ TitledAddressComponent,
44
+ CurrencySymbolComponent,
45
+ NetworkBadgeComponent,
46
+ AccountItemComponent,
47
+ AccountSelectionComponent,
48
+ QrComponent,
49
+ IACQrComponent,
50
+ QrSettingsComponent,
51
+ IsolatedModulesDetailsComponent,
52
+ IsolatedModulesListComponent,
53
+ IsolatedModulesOnboardingComponent,
54
+ IsolatedModulesBadgesComponent] }); }
55
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule, IonicModule, TranslateModule, PipesModule, QRCodeModule, FormsModule] }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, decorators: [{
58
+ type: NgModule,
59
+ args: [{
60
+ declarations: [
61
+ FromToComponent,
62
+ IdenticonComponent,
63
+ TitledTextComponent,
64
+ TitledAddressComponent,
65
+ CurrencySymbolComponent,
66
+ NetworkBadgeComponent,
67
+ QrComponent,
68
+ IACQrComponent,
69
+ AccountItemComponent,
70
+ AccountSelectionComponent,
71
+ QrSettingsComponent,
72
+ IsolatedModulesDetailsComponent,
73
+ IsolatedModulesListComponent,
74
+ IsolatedModulesOnboardingComponent,
75
+ IsolatedModulesBadgesComponent
76
+ ],
77
+ imports: [CommonModule, IonicModule, TranslateModule, PipesModule, QRCodeModule, FormsModule],
78
+ exports: [
79
+ FromToComponent,
80
+ IdenticonComponent,
81
+ TitledTextComponent,
82
+ TitledAddressComponent,
83
+ CurrencySymbolComponent,
84
+ NetworkBadgeComponent,
85
+ AccountItemComponent,
86
+ AccountSelectionComponent,
87
+ QrComponent,
88
+ IACQrComponent,
89
+ QrSettingsComponent,
90
+ IsolatedModulesDetailsComponent,
91
+ IsolatedModulesListComponent,
92
+ IsolatedModulesOnboardingComponent,
93
+ IsolatedModulesBadgesComponent
94
+ ]
95
+ }]
96
+ }] });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUE7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQTtBQUN0RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQTtBQUN4SCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQTtBQUMvRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQTs7QUF1QzVHLE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQW5DekIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIsV0FBVztZQUNYLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIseUJBQXlCO1lBQ3pCLG1CQUFtQjtZQUNuQiwrQkFBK0I7WUFDL0IsNEJBQTRCO1lBQzVCLGtDQUFrQztZQUNsQyw4QkFBOEIsYUFFdEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLGFBRTFGLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFDekIsV0FBVztZQUNYLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsK0JBQStCO1lBQy9CLDRCQUE0QjtZQUM1QixrQ0FBa0M7WUFDbEMsOEJBQThCO2dIQUdyQixnQkFBZ0IsWUFuQmpCLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVzs7NEZBbUJqRixnQkFBZ0I7a0JBckM1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsK0JBQStCO3dCQUMvQiw0QkFBNEI7d0JBQzVCLGtDQUFrQzt3QkFDbEMsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDN0YsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQiwrQkFBK0I7d0JBQy9CLDRCQUE0Qjt3QkFDNUIsa0NBQWtDO3dCQUNsQyw4QkFBOEI7cUJBQy9CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBRUkNvZGVNb2R1bGUgfSBmcm9tICdhbmd1bGFyeC1xcmNvZGUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuLi9waXBlcy9waXBlcy5tb2R1bGUnXG5pbXBvcnQgeyBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCB9IGZyb20gJy4vY3VycmVuY3ktc3ltYm9sL2N1cnJlbmN5LXN5bWJvbC5jb21wb25lbnQnXG5pbXBvcnQgeyBGcm9tVG9Db21wb25lbnQgfSBmcm9tICcuL2Zyb20tdG8vZnJvbS10by5jb21wb25lbnQnXG5pbXBvcnQgeyBJZGVudGljb25Db21wb25lbnQgfSBmcm9tICcuL2lkZW50aWNvbi9pZGVudGljb24uY29tcG9uZW50J1xuaW1wb3J0IHsgTmV0d29ya0JhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9uZXR3b3JrLWJhZGdlL25ldHdvcmstYmFkZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgVGl0bGVkQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4vdGl0bGVkLWFkZHJlc3MvdGl0bGVkLWFkZHJlc3MuY29tcG9uZW50J1xuaW1wb3J0IHsgVGl0bGVkVGV4dENvbXBvbmVudCB9IGZyb20gJy4vdGl0bGVkLXRleHQvdGl0bGVkLXRleHQuY29tcG9uZW50J1xuaW1wb3J0IHsgQWNjb3VudEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FjY291bnQtaXRlbS9hY2NvdW50LWl0ZW0uY29tcG9uZW50J1xuaW1wb3J0IHsgQWNjb3VudFNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWNjb3VudC1zZWxlY3Rpb24vYWNjb3VudC1zZWxlY3Rpb24uY29tcG9uZW50J1xuaW1wb3J0IHsgUXJDb21wb25lbnQgfSBmcm9tICcuL3FyL3FyLmNvbXBvbmVudCdcbmltcG9ydCB7IFFyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3FyLXNldHRpbmdzL3FyLXNldHRpbmdzLmNvbXBvbmVudCdcbmltcG9ydCB7IElBQ1FyQ29tcG9uZW50IH0gZnJvbSAnLi9pYWMtcXIvaWFjLXFyLmNvbXBvbmVudCdcbmltcG9ydCB7IElzb2xhdGVkTW9kdWxlc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2lzb2xhdGVkLW1vZHVsZXMtbGlzdC9pc29sYXRlZC1tb2R1bGVzLWxpc3QuY29tcG9uZW50J1xuaW1wb3J0IHsgSXNvbGF0ZWRNb2R1bGVzT25ib2FyZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vaXNvbGF0ZWQtbW9kdWxlcy1vbmJvYXJkaW5nL2lzb2xhdGVkLW1vZHVsZXMtb25ib2FyZGluZy5jb21wb25lbnQnXG5pbXBvcnQgeyBJc29sYXRlZE1vZHVsZXNEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9pc29sYXRlZC1tb2R1bGVzLWRldGFpbHMvaXNvbGF0ZWQtbW9kdWxlcy1kZXRhaWxzLmNvbXBvbmVudCdcbmltcG9ydCB7IElzb2xhdGVkTW9kdWxlc0JhZGdlc0NvbXBvbmVudCB9IGZyb20gJy4vaXNvbGF0ZWQtbW9kdWxlcy1iYWRnZXMvaXNvbGF0ZWQtbW9kdWxlcy1iYWRnZXMuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGcm9tVG9Db21wb25lbnQsXG4gICAgSWRlbnRpY29uQ29tcG9uZW50LFxuICAgIFRpdGxlZFRleHRDb21wb25lbnQsXG4gICAgVGl0bGVkQWRkcmVzc0NvbXBvbmVudCxcbiAgICBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCxcbiAgICBOZXR3b3JrQmFkZ2VDb21wb25lbnQsXG4gICAgUXJDb21wb25lbnQsXG4gICAgSUFDUXJDb21wb25lbnQsXG4gICAgQWNjb3VudEl0ZW1Db21wb25lbnQsXG4gICAgQWNjb3VudFNlbGVjdGlvbkNvbXBvbmVudCxcbiAgICBRclNldHRpbmdzQ29tcG9uZW50LFxuICAgIElzb2xhdGVkTW9kdWxlc0RldGFpbHNDb21wb25lbnQsXG4gICAgSXNvbGF0ZWRNb2R1bGVzTGlzdENvbXBvbmVudCxcbiAgICBJc29sYXRlZE1vZHVsZXNPbmJvYXJkaW5nQ29tcG9uZW50LFxuICAgIElzb2xhdGVkTW9kdWxlc0JhZGdlc0NvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25pY01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBQaXBlc01vZHVsZSwgUVJDb2RlTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBGcm9tVG9Db21wb25lbnQsXG4gICAgSWRlbnRpY29uQ29tcG9uZW50LFxuICAgIFRpdGxlZFRleHRDb21wb25lbnQsXG4gICAgVGl0bGVkQWRkcmVzc0NvbXBvbmVudCxcbiAgICBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCxcbiAgICBOZXR3b3JrQmFkZ2VDb21wb25lbnQsXG4gICAgQWNjb3VudEl0ZW1Db21wb25lbnQsXG4gICAgQWNjb3VudFNlbGVjdGlvbkNvbXBvbmVudCxcbiAgICBRckNvbXBvbmVudCxcbiAgICBJQUNRckNvbXBvbmVudCxcbiAgICBRclNldHRpbmdzQ29tcG9uZW50LFxuICAgIElzb2xhdGVkTW9kdWxlc0RldGFpbHNDb21wb25lbnQsXG4gICAgSXNvbGF0ZWRNb2R1bGVzTGlzdENvbXBvbmVudCxcbiAgICBJc29sYXRlZE1vZHVsZXNPbmJvYXJkaW5nQ29tcG9uZW50LFxuICAgIElzb2xhdGVkTW9kdWxlc0JhZGdlc0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { Component, Inject, Injector, Input } from '@angular/core';
2
+ import { first, map } from 'rxjs/operators';
3
+ import { BaseComponent } from '../../base/base.component';
4
+ import { currencySymbolFacade, CURRENCY_SYMBOL_FACADE } from './currency-symbol.facade';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/platform-browser";
7
+ import * as i2 from "@angular/common";
8
+ export class CurrencySymbolComponent extends BaseComponent {
9
+ constructor(facade, domSanitizer) {
10
+ super(facade);
11
+ this.domSanitizer = domSanitizer;
12
+ this.symbolSrc$ = facade.symbolSrc$.pipe(map((src) => this.domSanitizer.bypassSecurityTrustUrl(src)));
13
+ }
14
+ ngOnInit() {
15
+ this.facade.initWithSymbol(this.symbol, this.protocolIdentifier);
16
+ return super.ngOnInit();
17
+ }
18
+ ngOnChanges(changes) {
19
+ if (changes.symbol === undefined || changes.protocolIdentifier === undefined) {
20
+ return;
21
+ }
22
+ if (changes.symbol.previousValue !== changes.symbol.currentValue ||
23
+ changes.protocolIdentifier.previousValue !== changes.protocolIdentifier.currentValue) {
24
+ this.facade.onSymbolChanged(changes.symbol.currentValue, changes.protocolIdentifier.currentValue);
25
+ }
26
+ }
27
+ async onError() {
28
+ const symbolSrc = await this.facade.symbolSrc$.pipe(first()).toPromise();
29
+ this.facade.onError(this.symbol, this.protocolIdentifier, symbolSrc);
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolComponent, deps: [{ token: CURRENCY_SYMBOL_FACADE }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CurrencySymbolComponent, selector: "airgap-currency-symbol", inputs: { symbol: "symbol", protocolIdentifier: "protocolIdentifier" }, providers: [{ provide: CURRENCY_SYMBOL_FACADE, useFactory: currencySymbolFacade, deps: [Injector] }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<img [src]=\"symbolSrc$ | async\" (error)=\"onError()\" />", styles: [""], dependencies: [{ kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencySymbolComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'airgap-currency-symbol', providers: [{ provide: CURRENCY_SYMBOL_FACADE, useFactory: currencySymbolFacade, deps: [Injector] }], template: "<img [src]=\"symbolSrc$ | async\" (error)=\"onError()\" />" }]
37
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
38
+ type: Inject,
39
+ args: [CURRENCY_SYMBOL_FACADE]
40
+ }] }, { type: i1.DomSanitizer }], propDecorators: { symbol: [{
41
+ type: Input
42
+ }], protocolIdentifier: [{
43
+ type: Input
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktc3ltYm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jdXJyZW5jeS1zeW1ib2wvY3VycmVuY3ktc3ltYm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jdXJyZW5jeS1zeW1ib2wvY3VycmVuY3ktc3ltYm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFBO0FBRzVGLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBd0Isc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztBQVE3RyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsYUFBbUM7SUFTOUUsWUFBNEMsTUFBNEIsRUFBbUIsWUFBMEI7UUFDbkgsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRDRFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBR25ILElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvRyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFaEUsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDekIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3RSxPQUFNO1FBQ1IsQ0FBQztRQUVELElBQ0UsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQzVELE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEtBQUssT0FBTyxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFDcEYsQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNuRyxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7UUFFeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDdEUsQ0FBQzsrR0F0Q1UsdUJBQXVCLGtCQVNkLHNCQUFzQjttR0FUL0IsdUJBQXVCLHlIQUZ2QixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLHNFQ1p0Ryw0REFBc0Q7OzRGRGN6Qyx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usd0JBQXdCLGFBR3ZCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7OzBCQVd2RixNQUFNOzJCQUFDLHNCQUFzQjtvRUFQbkMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLGtCQUFrQjtzQkFEeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3RvY29sU3ltYm9scyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlJ1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlL2Jhc2UuY29tcG9uZW50J1xuaW1wb3J0IHsgY3VycmVuY3lTeW1ib2xGYWNhZGUsIEN1cnJlbmN5U3ltYm9sRmFjYWRlLCBDVVJSRU5DWV9TWU1CT0xfRkFDQURFIH0gZnJvbSAnLi9jdXJyZW5jeS1zeW1ib2wuZmFjYWRlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhaXJnYXAtY3VycmVuY3ktc3ltYm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LXN5bWJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LXN5bWJvbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENVUlJFTkNZX1NZTUJPTF9GQUNBREUsIHVzZUZhY3Rvcnk6IGN1cnJlbmN5U3ltYm9sRmFjYWRlLCBkZXBzOiBbSW5qZWN0b3JdIH1dXG59KVxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5U3ltYm9sQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudDxDdXJyZW5jeVN5bWJvbEZhY2FkZT4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3ltYm9sOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJvdG9jb2xJZGVudGlmaWVyOiBQcm90b2NvbFN5bWJvbHMgfCB1bmRlZmluZWRcblxuICBwdWJsaWMgcmVhZG9ubHkgc3ltYm9sU3JjJDogT2JzZXJ2YWJsZTxTYWZlVXJsPlxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQ1VSUkVOQ1lfU1lNQk9MX0ZBQ0FERSkgZmFjYWRlOiBDdXJyZW5jeVN5bWJvbEZhY2FkZSwgcHJpdmF0ZSByZWFkb25seSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIHN1cGVyKGZhY2FkZSlcblxuICAgIHRoaXMuc3ltYm9sU3JjJCA9IGZhY2FkZS5zeW1ib2xTcmMkLnBpcGUobWFwKChzcmM6IHN0cmluZykgPT4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChzcmMpKSlcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZhY2FkZS5pbml0V2l0aFN5bWJvbCh0aGlzLnN5bWJvbCwgdGhpcy5wcm90b2NvbElkZW50aWZpZXIpXG5cbiAgICByZXR1cm4gc3VwZXIubmdPbkluaXQoKVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zeW1ib2wgPT09IHVuZGVmaW5lZCB8fCBjaGFuZ2VzLnByb3RvY29sSWRlbnRpZmllciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLnN5bWJvbC5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzLnN5bWJvbC5jdXJyZW50VmFsdWUgfHxcbiAgICAgIGNoYW5nZXMucHJvdG9jb2xJZGVudGlmaWVyLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXMucHJvdG9jb2xJZGVudGlmaWVyLmN1cnJlbnRWYWx1ZVxuICAgICkge1xuICAgICAgdGhpcy5mYWNhZGUub25TeW1ib2xDaGFuZ2VkKGNoYW5nZXMuc3ltYm9sLmN1cnJlbnRWYWx1ZSwgY2hhbmdlcy5wcm90b2NvbElkZW50aWZpZXIuY3VycmVudFZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvbkVycm9yKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN5bWJvbFNyYyA9IGF3YWl0IHRoaXMuZmFjYWRlLnN5bWJvbFNyYyQucGlwZShmaXJzdCgpKS50b1Byb21pc2UoKVxuXG4gICAgdGhpcy5mYWNhZGUub25FcnJvcih0aGlzLnN5bWJvbCwgdGhpcy5wcm90b2NvbElkZW50aWZpZXIsIHN5bWJvbFNyYylcbiAgfVxufVxuIiwiPGltZyBbc3JjXT1cInN5bWJvbFNyYyQgfCBhc3luY1wiIChlcnJvcik9XCJvbkVycm9yKClcIiAvPiJdfQ==