@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,103 @@
1
+ /* eslint-disable max-classes-per-file */
2
+ export var ExposedPromiseStatus;
3
+ (function (ExposedPromiseStatus) {
4
+ ExposedPromiseStatus["PENDING"] = "pending";
5
+ ExposedPromiseStatus["RESOLVED"] = "resolved";
6
+ ExposedPromiseStatus["REJECTED"] = "rejected";
7
+ })(ExposedPromiseStatus || (ExposedPromiseStatus = {}));
8
+ const notInitialized = () => {
9
+ throw new Error('ExposedPromise not initialized yet.');
10
+ };
11
+ export class ExposedPromise {
12
+ get promise() {
13
+ return this._promise;
14
+ }
15
+ get resolve() {
16
+ return this._resolve;
17
+ }
18
+ get reject() {
19
+ return this._reject;
20
+ }
21
+ get status() {
22
+ return this._status;
23
+ }
24
+ get promiseResult() {
25
+ return this._promiseResult;
26
+ }
27
+ get promiseError() {
28
+ return this._promiseError;
29
+ }
30
+ constructor() {
31
+ this._resolve = notInitialized;
32
+ this._reject = notInitialized;
33
+ this._status = ExposedPromiseStatus.PENDING;
34
+ this._promise = new Promise((innerResolve, innerReject) => {
35
+ this._resolve = (value) => {
36
+ if (this.isSettled()) {
37
+ return;
38
+ }
39
+ this._promiseResult = value;
40
+ innerResolve(value);
41
+ this._status = ExposedPromiseStatus.RESOLVED;
42
+ return;
43
+ };
44
+ this._reject = (reason) => {
45
+ if (this.isSettled()) {
46
+ return;
47
+ }
48
+ this._promiseError = reason;
49
+ innerReject(reason);
50
+ this._status = ExposedPromiseStatus.REJECTED;
51
+ return;
52
+ };
53
+ });
54
+ }
55
+ static resolve(value) {
56
+ const promise = new ExposedPromise();
57
+ promise.resolve(value);
58
+ return promise;
59
+ }
60
+ static reject(reason) {
61
+ const promise = new ExposedPromise();
62
+ promise.reject(reason);
63
+ return promise;
64
+ }
65
+ isPending() {
66
+ return this.status === ExposedPromiseStatus.PENDING;
67
+ }
68
+ isResolved() {
69
+ return this.status === ExposedPromiseStatus.RESOLVED;
70
+ }
71
+ isRejected() {
72
+ return this.status === ExposedPromiseStatus.REJECTED;
73
+ }
74
+ isSettled() {
75
+ return this.isResolved() || this.isRejected();
76
+ }
77
+ }
78
+ export class ExposedPromiseRegistry {
79
+ constructor() {
80
+ this.exposedPromises = {};
81
+ }
82
+ resolve(key, value) {
83
+ this.getIfNotSettled(key)?.resolve(value);
84
+ }
85
+ reject(key, error) {
86
+ this.getIfNotSettled(key)?.reject(error);
87
+ }
88
+ async yield(key) {
89
+ const exposedPromise = new ExposedPromise();
90
+ this.exposedPromises[key] = exposedPromise;
91
+ const value = await exposedPromise.promise;
92
+ this.exposedPromises[key] = undefined;
93
+ return value;
94
+ }
95
+ getIfNotSettled(key) {
96
+ const promise = this.exposedPromises[key];
97
+ if (promise?.isSettled()) {
98
+ throw new Error('Promise is already settled');
99
+ }
100
+ return promise;
101
+ }
102
+ }
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwb3NlZFByb21pc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL0V4cG9zZWRQcm9taXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUV6QyxNQUFNLENBQU4sSUFBWSxvQkFJWDtBQUpELFdBQVksb0JBQW9CO0lBQzlCLDJDQUFtQixDQUFBO0lBQ25CLDZDQUFxQixDQUFBO0lBQ3JCLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSS9CO0FBS0QsTUFBTSxjQUFjLEdBQUcsR0FBVSxFQUFFO0lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtBQUN4RCxDQUFDLENBQUE7QUFFRCxNQUFNLE9BQU8sY0FBYztJQVN6QixJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUM1QixDQUFDO0lBQ0QsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQTtJQUMzQixDQUFDO0lBRUQ7UUExQlEsYUFBUSxHQUFlLGNBQWMsQ0FBQTtRQUNyQyxZQUFPLEdBQWMsY0FBYyxDQUFBO1FBQ25DLFlBQU8sR0FBeUIsb0JBQW9CLENBQUMsT0FBTyxDQUFBO1FBeUJsRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxDQUFJLENBQUMsWUFBd0IsRUFBRSxXQUFzQixF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QztZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUE7UUFDL0MsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1jbGFzc2VzLXBlci1maWxlICovXG5cbmV4cG9ydCBlbnVtIEV4cG9zZWRQcm9taXNlU3RhdHVzIHtcbiAgUEVORElORyA9ICdwZW5kaW5nJyxcbiAgUkVTT0xWRUQgPSAncmVzb2x2ZWQnLFxuICBSRUpFQ1RFRCA9ICdyZWplY3RlZCdcbn1cblxudHlwZSBSZXNvbHZlPFQ+ID0gKHZhbHVlOiBUIHwgUHJvbWlzZUxpa2U8VD4pID0+IHZvaWRcbnR5cGUgUmVqZWN0PFU+ID0gKHJlYXNvbj86IFUpID0+IHZvaWRcblxuY29uc3Qgbm90SW5pdGlhbGl6ZWQgPSAoKTogbmV2ZXIgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoJ0V4cG9zZWRQcm9taXNlIG5vdCBpbml0aWFsaXplZCB5ZXQuJylcbn1cblxuZXhwb3J0IGNsYXNzIEV4cG9zZWRQcm9taXNlPFQgPSB1bmtub3duLCBVID0gdW5rbm93bj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9wcm9taXNlOiBQcm9taXNlPFQ+XG5cbiAgcHJpdmF0ZSBfcmVzb2x2ZTogUmVzb2x2ZTxUPiA9IG5vdEluaXRpYWxpemVkXG4gIHByaXZhdGUgX3JlamVjdDogUmVqZWN0PFU+ID0gbm90SW5pdGlhbGl6ZWRcbiAgcHJpdmF0ZSBfc3RhdHVzOiBFeHBvc2VkUHJvbWlzZVN0YXR1cyA9IEV4cG9zZWRQcm9taXNlU3RhdHVzLlBFTkRJTkdcbiAgcHJpdmF0ZSBfcHJvbWlzZVJlc3VsdDogVCB8IFByb21pc2VMaWtlPFQ+IHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX3Byb21pc2VFcnJvcjogVSB8IHVuZGVmaW5lZFxuXG4gIHB1YmxpYyBnZXQgcHJvbWlzZSgpOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fcHJvbWlzZVxuICB9XG5cbiAgcHVibGljIGdldCByZXNvbHZlKCk6IFJlc29sdmU8VD4ge1xuICAgIHJldHVybiB0aGlzLl9yZXNvbHZlXG4gIH1cbiAgcHVibGljIGdldCByZWplY3QoKTogUmVqZWN0PFU+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVqZWN0XG4gIH1cbiAgcHVibGljIGdldCBzdGF0dXMoKTogRXhwb3NlZFByb21pc2VTdGF0dXMge1xuICAgIHJldHVybiB0aGlzLl9zdGF0dXNcbiAgfVxuICBwdWJsaWMgZ2V0IHByb21pc2VSZXN1bHQoKTogVCB8IFByb21pc2VMaWtlPFQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvbWlzZVJlc3VsdFxuICB9XG4gIHB1YmxpYyBnZXQgcHJvbWlzZUVycm9yKCk6IFUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wcm9taXNlRXJyb3JcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX3Byb21pc2UgPSBuZXcgUHJvbWlzZTxUPigoaW5uZXJSZXNvbHZlOiBSZXNvbHZlPFQ+LCBpbm5lclJlamVjdDogUmVqZWN0PFU+KTogdm9pZCA9PiB7XG4gICAgICB0aGlzLl9yZXNvbHZlID0gKHZhbHVlOiBUIHwgUHJvbWlzZUxpa2U8VD4pOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNTZXR0bGVkKCkpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Byb21pc2VSZXN1bHQgPSB2YWx1ZVxuXG4gICAgICAgIGlubmVyUmVzb2x2ZSh2YWx1ZSlcblxuICAgICAgICB0aGlzLl9zdGF0dXMgPSBFeHBvc2VkUHJvbWlzZVN0YXR1cy5SRVNPTFZFRFxuXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgdGhpcy5fcmVqZWN0ID0gKHJlYXNvbj86IFUpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNTZXR0bGVkKCkpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Byb21pc2VFcnJvciA9IHJlYXNvblxuXG4gICAgICAgIGlubmVyUmVqZWN0KHJlYXNvbilcblxuICAgICAgICB0aGlzLl9zdGF0dXMgPSBFeHBvc2VkUHJvbWlzZVN0YXR1cy5SRUpFQ1RFRFxuXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlc29sdmU8VD4odmFsdWU6IFQpOiBFeHBvc2VkUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBFeHBvc2VkUHJvbWlzZTxUPigpXG4gICAgcHJvbWlzZS5yZXNvbHZlKHZhbHVlKVxuXG4gICAgcmV0dXJuIHByb21pc2VcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVqZWN0PFQgPSBuZXZlciwgVSA9IHVua25vd24+KHJlYXNvbj86IFUpOiBFeHBvc2VkUHJvbWlzZTxULCBVPiB7XG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBFeHBvc2VkUHJvbWlzZTxULCBVPigpXG4gICAgcHJvbWlzZS5yZWplY3QocmVhc29uKVxuXG4gICAgcmV0dXJuIHByb21pc2VcbiAgfVxuXG4gIHB1YmxpYyBpc1BlbmRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBFeHBvc2VkUHJvbWlzZVN0YXR1cy5QRU5ESU5HXG4gIH1cblxuICBwdWJsaWMgaXNSZXNvbHZlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IEV4cG9zZWRQcm9taXNlU3RhdHVzLlJFU09MVkVEXG4gIH1cblxuICBwdWJsaWMgaXNSZWplY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IEV4cG9zZWRQcm9taXNlU3RhdHVzLlJFSkVDVEVEXG4gIH1cblxuICBwdWJsaWMgaXNTZXR0bGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUmVzb2x2ZWQoKSB8fCB0aGlzLmlzUmVqZWN0ZWQoKVxuICB9XG59XG5cbnR5cGUgUmVzb2x2ZVR5cGVzPEsgZXh0ZW5kcyBzdHJpbmc+ID0gUmVjb3JkPEssIHVua25vd24+XG50eXBlIFJlamVjdFR5cGVzPEsgZXh0ZW5kcyBzdHJpbmc+ID0gUmVjb3JkPEssIHVua25vd24+IHwgdW5rbm93blxudHlwZSBFcnJvcjxLIGV4dGVuZHMgc3RyaW5nLCBFIGV4dGVuZHMgUmVqZWN0VHlwZXM8Sz4+ID0gRSBleHRlbmRzIFJlY29yZDxLLCB1bmtub3duPiA/IEVbS10gOiB1bmtub3duXG5leHBvcnQgY2xhc3MgRXhwb3NlZFByb21pc2VSZWdpc3RyeTxcbiAgS2V5IGV4dGVuZHMgc3RyaW5nLFxuICBSZXNvbHZlVHlwZSBleHRlbmRzIFJlc29sdmVUeXBlczxLZXk+LFxuICBSZWplY3RUeXBlIGV4dGVuZHMgUmVqZWN0VHlwZXM8S2V5PiA9IHVua25vd25cbj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGV4cG9zZWRQcm9taXNlczogeyBba2V5IGluIEtleV0/OiBFeHBvc2VkUHJvbWlzZTxSZXNvbHZlVHlwZVtrZXldLCBFcnJvcjxrZXksIFJlamVjdFR5cGU+PiB9ID0ge31cblxuICBwdWJsaWMgcmVzb2x2ZTxLIGV4dGVuZHMgS2V5PihrZXk6IEssIHZhbHVlOiBSZXNvbHZlVHlwZVtLXSk6IHZvaWQge1xuICAgIHRoaXMuZ2V0SWZOb3RTZXR0bGVkKGtleSk/LnJlc29sdmUodmFsdWUpXG4gIH1cblxuICBwdWJsaWMgcmVqZWN0PEsgZXh0ZW5kcyBLZXk+KGtleTogSywgZXJyb3I6IEVycm9yPEssIFJlamVjdFR5cGU+KTogdm9pZCB7XG4gICAgdGhpcy5nZXRJZk5vdFNldHRsZWQoa2V5KT8ucmVqZWN0KGVycm9yKVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHlpZWxkPEsgZXh0ZW5kcyBLZXk+KGtleTogSyk6IFByb21pc2U8UmVzb2x2ZVR5cGVbS10+IHtcbiAgICBjb25zdCBleHBvc2VkUHJvbWlzZTogRXhwb3NlZFByb21pc2U8UmVzb2x2ZVR5cGVbS10sIEVycm9yPEssIFJlamVjdFR5cGU+PiA9IG5ldyBFeHBvc2VkUHJvbWlzZSgpXG4gICAgdGhpcy5leHBvc2VkUHJvbWlzZXNba2V5XSA9IGV4cG9zZWRQcm9taXNlXG5cbiAgICBjb25zdCB2YWx1ZTogUmVzb2x2ZVR5cGVbS10gPSBhd2FpdCBleHBvc2VkUHJvbWlzZS5wcm9taXNlXG4gICAgdGhpcy5leHBvc2VkUHJvbWlzZXNba2V5XSA9IHVuZGVmaW5lZFxuXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBwcml2YXRlIGdldElmTm90U2V0dGxlZDxLIGV4dGVuZHMgS2V5PihrZXk6IEspOiBFeHBvc2VkUHJvbWlzZTxSZXNvbHZlVHlwZVtLXSwgRXJyb3I8SywgUmVqZWN0VHlwZT4+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwcm9taXNlOiBFeHBvc2VkUHJvbWlzZTxSZXNvbHZlVHlwZVtLXSwgRXJyb3I8SywgUmVqZWN0VHlwZT4+IHwgdW5kZWZpbmVkID0gdGhpcy5leHBvc2VkUHJvbWlzZXNba2V5XVxuICAgIGlmIChwcm9taXNlPy5pc1NldHRsZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm9taXNlIGlzIGFscmVhZHkgc2V0dGxlZCcpXG4gICAgfVxuXG4gICAgcmV0dXJuIHByb21pc2VcbiAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { flattened } from './array';
3
+ export function flattenAirGapTxAddresses(airGapTxs, field) {
4
+ if (!airGapTxs || !Array.isArray(airGapTxs)) {
5
+ return [];
6
+ }
7
+ return flattened(airGapTxs.map((tx) => tx[field]));
8
+ }
9
+ export function sumAirGapTxValues(airGapTxs, field) {
10
+ if (!airGapTxs || !Array.isArray(airGapTxs)) {
11
+ return '0';
12
+ }
13
+ return airGapTxs
14
+ .reduce((sum, next) => {
15
+ let nextValue = new BigNumber(next[field]);
16
+ if (nextValue.isNaN()) {
17
+ nextValue = new BigNumber(0);
18
+ }
19
+ return sum.plus(nextValue);
20
+ }, new BigNumber(0))
21
+ .toFixed();
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlyZ2FwLXRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9haXJnYXAtdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFBO0FBRXBDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFbkMsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFNBQStCLEVBQUUsS0FBb0Q7SUFDNUgsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBc0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN4RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQStCLEVBQUUsS0FBdUQ7SUFDeEgsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7SUFDRCxPQUFPLFNBQVM7U0FDYixNQUFNLENBQUMsQ0FBQyxHQUFjLEVBQUUsSUFBd0IsRUFBRSxFQUFFO1FBQ25ELElBQUksU0FBUyxHQUFjLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3JELElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdEIsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDNUIsQ0FBQyxFQUFFLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CLE9BQU8sRUFBRSxDQUFBO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBaXJHYXBUcmFuc2FjdGlvbiB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlJ1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnXG5cbmltcG9ydCB7IGZsYXR0ZW5lZCB9IGZyb20gJy4vYXJyYXknXG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuQWlyR2FwVHhBZGRyZXNzZXMoYWlyR2FwVHhzOiBJQWlyR2FwVHJhbnNhY3Rpb25bXSwgZmllbGQ6IGtleW9mIFBpY2s8SUFpckdhcFRyYW5zYWN0aW9uLCAnZnJvbScgfCAndG8nPik6IHN0cmluZ1tdIHtcbiAgaWYgKCFhaXJHYXBUeHMgfHwgIUFycmF5LmlzQXJyYXkoYWlyR2FwVHhzKSkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiBmbGF0dGVuZWQoYWlyR2FwVHhzLm1hcCgodHg6IElBaXJHYXBUcmFuc2FjdGlvbikgPT4gdHhbZmllbGRdKSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1bUFpckdhcFR4VmFsdWVzKGFpckdhcFR4czogSUFpckdhcFRyYW5zYWN0aW9uW10sIGZpZWxkOiBrZXlvZiBQaWNrPElBaXJHYXBUcmFuc2FjdGlvbiwgJ2Ftb3VudCcgfCAnZmVlJz4pOiBzdHJpbmcge1xuICBpZiAoIWFpckdhcFR4cyB8fCAhQXJyYXkuaXNBcnJheShhaXJHYXBUeHMpKSB7XG4gICAgcmV0dXJuICcwJ1xuICB9XG4gIHJldHVybiBhaXJHYXBUeHNcbiAgICAucmVkdWNlKChzdW06IEJpZ051bWJlciwgbmV4dDogSUFpckdhcFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICBsZXQgbmV4dFZhbHVlOiBCaWdOdW1iZXIgPSBuZXcgQmlnTnVtYmVyKG5leHRbZmllbGRdKVxuICAgICAgaWYgKG5leHRWYWx1ZS5pc05hTigpKSB7XG4gICAgICAgIG5leHRWYWx1ZSA9IG5ldyBCaWdOdW1iZXIoMClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN1bS5wbHVzKG5leHRWYWx1ZSlcbiAgICB9LCBuZXcgQmlnTnVtYmVyKDApKVxuICAgIC50b0ZpeGVkKClcbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ export function duplicatesRemoved(array) {
2
+ return array.filter((item, index, arr) => arr.indexOf(item) === index);
3
+ }
4
+ export function partition(array, isValid) {
5
+ const pass = [];
6
+ const fail = [];
7
+ array.forEach((element) => {
8
+ if (isValid(element)) {
9
+ pass.push(element);
10
+ }
11
+ else {
12
+ fail.push(element);
13
+ }
14
+ });
15
+ return [pass, fail];
16
+ }
17
+ export function flattened(array) {
18
+ return array.reduce((output, next) => output.concat(next), []);
19
+ }
20
+ export function merged(array) {
21
+ return array.reduce((output, next) => {
22
+ const [t, r] = next;
23
+ if (t !== undefined) {
24
+ output[0].push(t);
25
+ }
26
+ if (r !== undefined) {
27
+ output[1].push(r);
28
+ }
29
+ return output;
30
+ }, [[], []]);
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL2FycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxLQUFVO0lBQzdDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQU8sRUFBRSxLQUFhLEVBQUUsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFBO0FBQ3hGLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFJLEtBQVUsRUFBRSxPQUFnQztJQUN2RSxNQUFNLElBQUksR0FBUSxFQUFFLENBQUE7SUFDcEIsTUFBTSxJQUFJLEdBQVEsRUFBRSxDQUFBO0lBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFVLEVBQUUsRUFBRTtRQUMzQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDckIsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUksS0FBWTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsSUFBUyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzFFLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFPLEtBQXFCO0lBQ2hELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDakIsQ0FBQyxNQUFrQixFQUFFLElBQWtCLEVBQUUsRUFBRTtRQUN6QyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFpQixJQUFJLENBQUE7UUFDakMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNuQixDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNuQixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDLEVBQ0QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQ1QsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFaXRoZXIgfSBmcm9tICcuLi90eXBlcy9FaXRoZXInXG5cbmV4cG9ydCBmdW5jdGlvbiBkdXBsaWNhdGVzUmVtb3ZlZDxUPihhcnJheTogVFtdKTogVFtdIHtcbiAgcmV0dXJuIGFycmF5LmZpbHRlcigoaXRlbTogVCwgaW5kZXg6IG51bWJlciwgYXJyOiBUW10pID0+IGFyci5pbmRleE9mKGl0ZW0pID09PSBpbmRleClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpdGlvbjxUPihhcnJheTogVFtdLCBpc1ZhbGlkOiAoZWxlbWVudDogVCkgPT4gYm9vbGVhbik6IFtUW10sIFRbXV0ge1xuICBjb25zdCBwYXNzOiBUW10gPSBbXVxuICBjb25zdCBmYWlsOiBUW10gPSBbXVxuICBhcnJheS5mb3JFYWNoKChlbGVtZW50OiBUKSA9PiB7XG4gICAgaWYgKGlzVmFsaWQoZWxlbWVudCkpIHtcbiAgICAgIHBhc3MucHVzaChlbGVtZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICBmYWlsLnB1c2goZWxlbWVudClcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIFtwYXNzLCBmYWlsXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbmVkPFQ+KGFycmF5OiBUW11bXSk6IFRbXSB7XG4gIHJldHVybiBhcnJheS5yZWR1Y2UoKG91dHB1dDogVFtdLCBuZXh0OiBUW10pID0+IG91dHB1dC5jb25jYXQobmV4dCksIFtdKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VkPFQsIFI+KGFycmF5OiBFaXRoZXI8VCwgUj5bXSk6IFtUW10sIFJbXV0ge1xuICByZXR1cm4gYXJyYXkucmVkdWNlKFxuICAgIChvdXRwdXQ6IFtUW10sIFJbXV0sIG5leHQ6IEVpdGhlcjxULCBSPikgPT4ge1xuICAgICAgY29uc3QgW3QsIHJdOiBFaXRoZXI8VCwgUj4gPSBuZXh0XG4gICAgICBpZiAodCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG91dHB1dFswXS5wdXNoKHQpXG4gICAgICB9XG5cbiAgICAgIGlmIChyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgb3V0cHV0WzFdLnB1c2gocilcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG91dHB1dFxuICAgIH0sXG4gICAgW1tdLCBbXV1cbiAgKVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ import { implementsInterface } from '@wallfree-dev/module-kit';
2
+ export function isIsolatedModuleMetadata(object) {
3
+ return implementsInterface(object, {
4
+ type: 'required',
5
+ module: 'required',
6
+ manifest: 'required',
7
+ source: 'required'
8
+ });
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWQtbW9kdWxlcy1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvbW9kdWxlcy9pc29sYXRlZC9pc29sYXRlZC1tb2R1bGVzLW1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRzlELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUFlO0lBQ3RELE9BQU8sbUJBQW1CLENBQXlCLE1BQU0sRUFBRTtRQUN6RCxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsVUFBVTtRQUNsQixRQUFRLEVBQUUsVUFBVTtRQUNwQixNQUFNLEVBQUUsVUFBVTtLQUNuQixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW1wbGVtZW50c0ludGVyZmFjZSB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvbW9kdWxlLWtpdCdcbmltcG9ydCB7IElzb2xhdGVkTW9kdWxlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9pc29sYXRlZC1tb2R1bGVzL0lzb2xhdGVkTW9kdWxlTWV0YWRhdGEnXG5cbmV4cG9ydCBmdW5jdGlvbiBpc0lzb2xhdGVkTW9kdWxlTWV0YWRhdGEob2JqZWN0OiB1bmtub3duKTogb2JqZWN0IGlzIElzb2xhdGVkTW9kdWxlTWV0YWRhdGEge1xuICByZXR1cm4gaW1wbGVtZW50c0ludGVyZmFjZTxJc29sYXRlZE1vZHVsZU1ldGFkYXRhPihvYmplY3QsIHtcbiAgICB0eXBlOiAncmVxdWlyZWQnLFxuICAgIG1vZHVsZTogJ3JlcXVpcmVkJyxcbiAgICBtYW5pZmVzdDogJ3JlcXVpcmVkJyxcbiAgICBzb3VyY2U6ICdyZXF1aXJlZCdcbiAgfSlcbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ export function getOfflineProtocolConfiguration(configuration, protocolType) {
2
+ return protocolType === 'offline' || protocolType === 'full' || protocolType === undefined
3
+ ? configuration.type === 'offline'
4
+ ? configuration
5
+ : configuration.type === 'full'
6
+ ? configuration.offline
7
+ : undefined
8
+ : undefined;
9
+ }
10
+ export function getOnlineProtocolConfiguration(configuration, protocolType) {
11
+ return protocolType === 'online' || protocolType === 'full' || protocolType === undefined
12
+ ? configuration.type === 'online'
13
+ ? configuration
14
+ : configuration.type === 'full'
15
+ ? configuration.online
16
+ : undefined
17
+ : undefined;
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1wcm90b2NvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvbW9kdWxlcy9sb2FkLXByb3RvY29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSwrQkFBK0IsQ0FDN0MsYUFBb0MsRUFDcEMsWUFBNEM7SUFFNUMsT0FBTyxZQUFZLEtBQUssU0FBUyxJQUFJLFlBQVksS0FBSyxNQUFNLElBQUksWUFBWSxLQUFLLFNBQVM7UUFDeEYsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssU0FBUztZQUNoQyxDQUFDLENBQUMsYUFBYTtZQUNmLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLE1BQU07Z0JBQy9CLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTztnQkFDdkIsQ0FBQyxDQUFDLFNBQVM7UUFDYixDQUFDLENBQUMsU0FBUyxDQUFBO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FDNUMsYUFBb0MsRUFDcEMsWUFBNEM7SUFFNUMsT0FBTyxZQUFZLEtBQUssUUFBUSxJQUFJLFlBQVksS0FBSyxNQUFNLElBQUksWUFBWSxLQUFLLFNBQVM7UUFDdkYsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUMvQixDQUFDLENBQUMsYUFBYTtZQUNmLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLE1BQU07Z0JBQy9CLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTTtnQkFDdEIsQ0FBQyxDQUFDLFNBQVM7UUFDYixDQUFDLENBQUMsU0FBUyxDQUFBO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9mZmxpbmVQcm90b2NvbENvbmZpZ3VyYXRpb24sIE9ubGluZVByb3RvY29sQ29uZmlndXJhdGlvbiwgUHJvdG9jb2xDb25maWd1cmF0aW9uIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9tb2R1bGUta2l0J1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T2ZmbGluZVByb3RvY29sQ29uZmlndXJhdGlvbihcbiAgY29uZmlndXJhdGlvbjogUHJvdG9jb2xDb25maWd1cmF0aW9uLFxuICBwcm90b2NvbFR5cGU/OiBQcm90b2NvbENvbmZpZ3VyYXRpb25bJ3R5cGUnXVxuKTogT2ZmbGluZVByb3RvY29sQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBwcm90b2NvbFR5cGUgPT09ICdvZmZsaW5lJyB8fCBwcm90b2NvbFR5cGUgPT09ICdmdWxsJyB8fCBwcm90b2NvbFR5cGUgPT09IHVuZGVmaW5lZFxuICAgID8gY29uZmlndXJhdGlvbi50eXBlID09PSAnb2ZmbGluZSdcbiAgICAgID8gY29uZmlndXJhdGlvblxuICAgICAgOiBjb25maWd1cmF0aW9uLnR5cGUgPT09ICdmdWxsJ1xuICAgICAgPyBjb25maWd1cmF0aW9uLm9mZmxpbmVcbiAgICAgIDogdW5kZWZpbmVkXG4gICAgOiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9ubGluZVByb3RvY29sQ29uZmlndXJhdGlvbihcbiAgY29uZmlndXJhdGlvbjogUHJvdG9jb2xDb25maWd1cmF0aW9uLFxuICBwcm90b2NvbFR5cGU/OiBQcm90b2NvbENvbmZpZ3VyYXRpb25bJ3R5cGUnXVxuKTogT25saW5lUHJvdG9jb2xDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHByb3RvY29sVHlwZSA9PT0gJ29ubGluZScgfHwgcHJvdG9jb2xUeXBlID09PSAnZnVsbCcgfHwgcHJvdG9jb2xUeXBlID09PSB1bmRlZmluZWRcbiAgICA/IGNvbmZpZ3VyYXRpb24udHlwZSA9PT0gJ29ubGluZSdcbiAgICAgID8gY29uZmlndXJhdGlvblxuICAgICAgOiBjb25maWd1cmF0aW9uLnR5cGUgPT09ICdmdWxsJ1xuICAgICAgPyBjb25maWd1cmF0aW9uLm9ubGluZVxuICAgICAgOiB1bmRlZmluZWRcbiAgICA6IHVuZGVmaW5lZFxufVxuIl19
@@ -0,0 +1,7 @@
1
+ export function createNotInitialized(name, details) {
2
+ return () => {
3
+ const error = [`${name} not initialized yet.`, details].filter((part) => part !== undefined).join(' ');
4
+ throw new Error(error);
5
+ };
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWluaXRpYWxpemVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9ub3QtaW5pdGlhbGl6ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQVksRUFBRSxPQUFnQjtJQUNqRSxPQUFPLEdBQUcsRUFBRTtRQUNWLE1BQU0sS0FBSyxHQUFXLENBQUMsR0FBRyxJQUFJLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQXdCLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbEksTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU5vdEluaXRpYWxpemVkKG5hbWU6IHN0cmluZywgZGV0YWlscz86IHN0cmluZyk6ICgpID0+IG5ldmVyIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBjb25zdCBlcnJvcjogc3RyaW5nID0gW2Ake25hbWV9IG5vdCBpbml0aWFsaXplZCB5ZXQuYCwgZGV0YWlsc10uZmlsdGVyKChwYXJ0OiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHBhcnQgIT09IHVuZGVmaW5lZCkuam9pbignICcpXG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKVxuICB9XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ /* eslint-disable no-implicit-coercion */
2
+ import { MainProtocolSymbols, SubProtocolSymbols } from '@wallfree-dev/coinlib-core';
3
+ import { TezosProtocol } from '@wallfree-dev/tezos/v0';
4
+ export function supportsV0Delegation(protocol) {
5
+ const delegateProtocol = protocol;
6
+ // temporary until Tezos subprotocols stop inherit TezosProtocol and implement ICoinDelegateProtocol
7
+ const supportingTezosProtocols = [MainProtocolSymbols.XTZ, SubProtocolSymbols.XTZ_KT];
8
+ if (delegateProtocol instanceof TezosProtocol && !supportingTezosProtocols.includes(delegateProtocol.identifier)) {
9
+ return false;
10
+ }
11
+ return (!!delegateProtocol.getDefaultDelegatee &&
12
+ !!delegateProtocol.getCurrentDelegateesForPublicKey &&
13
+ !!delegateProtocol.getCurrentDelegateesForAddress &&
14
+ !!delegateProtocol.getDelegateeDetails &&
15
+ !!delegateProtocol.isPublicKeyDelegating &&
16
+ !!delegateProtocol.isAddressDelegating &&
17
+ !!delegateProtocol.getDelegationDetailsFromPublicKey &&
18
+ !!delegateProtocol.getDelegationDetailsFromAddress &&
19
+ !!delegateProtocol.prepareDelegatorActionFromPublicKey);
20
+ }
21
+ export function supportsV1Delegation(protocol) {
22
+ const delegateProtocol = protocol;
23
+ return (!!delegateProtocol.getDefaultDelegatee &&
24
+ !!delegateProtocol.getCurrentDelegateesForPublicKey &&
25
+ !!delegateProtocol.getCurrentDelegateesForAddress &&
26
+ !!delegateProtocol.getDelegateeDetails &&
27
+ !!delegateProtocol.isPublicKeyDelegating &&
28
+ !!delegateProtocol.isAddressDelegating &&
29
+ !!delegateProtocol.getDelegationDetailsFromPublicKey &&
30
+ !!delegateProtocol.getDelegationDetailsFromAddress &&
31
+ !!delegateProtocol.prepareDelegatorActionFromPublicKey);
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvcHJvdG9jb2wvZGVsZWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFDekMsT0FBTyxFQUF3QyxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBRzFILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUV0RCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsUUFBdUI7SUFDMUQsTUFBTSxnQkFBZ0IsR0FBRyxRQUFpQyxDQUFBO0lBRTFELG9HQUFvRztJQUNwRyxNQUFNLHdCQUF3QixHQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQy9GLElBQUksZ0JBQWdCLFlBQVksYUFBYSxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDakgsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsT0FBTyxDQUNMLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUI7UUFDdEMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQztRQUNuRCxDQUFDLENBQUMsZ0JBQWdCLENBQUMsOEJBQThCO1FBQ2pELENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUI7UUFDdEMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQjtRQUN4QyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CO1FBQ3RDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQ0FBaUM7UUFDcEQsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLCtCQUErQjtRQUNsRCxDQUFDLENBQUMsZ0JBQWdCLENBQUMsbUNBQW1DLENBQ3ZELENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQTJCO0lBQzlELE1BQU0sZ0JBQWdCLEdBQUcsUUFBc0QsQ0FBQTtJQUUvRSxPQUFPLENBQ0wsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQjtRQUN0QyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsZ0NBQWdDO1FBQ25ELENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyw4QkFBOEI7UUFDakQsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQjtRQUN0QyxDQUFDLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCO1FBQ3hDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUI7UUFDdEMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQztRQUNwRCxDQUFDLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCO1FBQ2xELENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxtQ0FBbUMsQ0FDdkQsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1pbXBsaWNpdC1jb2VyY2lvbiAqL1xuaW1wb3J0IHsgSUNvaW5EZWxlZ2F0ZVByb3RvY29sLCBJQ29pblByb3RvY29sLCBNYWluUHJvdG9jb2xTeW1ib2xzLCBTdWJQcm90b2NvbFN5bWJvbHMgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2NvaW5saWItY29yZSdcbmltcG9ydCB7IEFpckdhcEFueVByb3RvY29sIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9tb2R1bGUta2l0J1xuaW1wb3J0IHsgQWlyR2FwRGVsZWdhdGVQcm90b2NvbCB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvbW9kdWxlLWtpdC9pbnRlcm5hbCdcbmltcG9ydCB7IFRlem9zUHJvdG9jb2wgfSBmcm9tICdAd2FsbGZyZWUtZGV2L3Rlem9zL3YwJ1xuXG5leHBvcnQgZnVuY3Rpb24gc3VwcG9ydHNWMERlbGVnYXRpb24ocHJvdG9jb2w6IElDb2luUHJvdG9jb2wpOiBwcm90b2NvbCBpcyBJQ29pbkRlbGVnYXRlUHJvdG9jb2wge1xuICBjb25zdCBkZWxlZ2F0ZVByb3RvY29sID0gcHJvdG9jb2wgYXMgSUNvaW5EZWxlZ2F0ZVByb3RvY29sXG5cbiAgLy8gdGVtcG9yYXJ5IHVudGlsIFRlem9zIHN1YnByb3RvY29scyBzdG9wIGluaGVyaXQgVGV6b3NQcm90b2NvbCBhbmQgaW1wbGVtZW50IElDb2luRGVsZWdhdGVQcm90b2NvbFxuICBjb25zdCBzdXBwb3J0aW5nVGV6b3NQcm90b2NvbHM6IHN0cmluZ1tdID0gW01haW5Qcm90b2NvbFN5bWJvbHMuWFRaLCBTdWJQcm90b2NvbFN5bWJvbHMuWFRaX0tUXVxuICBpZiAoZGVsZWdhdGVQcm90b2NvbCBpbnN0YW5jZW9mIFRlem9zUHJvdG9jb2wgJiYgIXN1cHBvcnRpbmdUZXpvc1Byb3RvY29scy5pbmNsdWRlcyhkZWxlZ2F0ZVByb3RvY29sLmlkZW50aWZpZXIpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICByZXR1cm4gKFxuICAgICEhZGVsZWdhdGVQcm90b2NvbC5nZXREZWZhdWx0RGVsZWdhdGVlICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLmdldEN1cnJlbnREZWxlZ2F0ZWVzRm9yUHVibGljS2V5ICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLmdldEN1cnJlbnREZWxlZ2F0ZWVzRm9yQWRkcmVzcyAmJlxuICAgICEhZGVsZWdhdGVQcm90b2NvbC5nZXREZWxlZ2F0ZWVEZXRhaWxzICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLmlzUHVibGljS2V5RGVsZWdhdGluZyAmJlxuICAgICEhZGVsZWdhdGVQcm90b2NvbC5pc0FkZHJlc3NEZWxlZ2F0aW5nICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLmdldERlbGVnYXRpb25EZXRhaWxzRnJvbVB1YmxpY0tleSAmJlxuICAgICEhZGVsZWdhdGVQcm90b2NvbC5nZXREZWxlZ2F0aW9uRGV0YWlsc0Zyb21BZGRyZXNzICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLnByZXBhcmVEZWxlZ2F0b3JBY3Rpb25Gcm9tUHVibGljS2V5XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzVjFEZWxlZ2F0aW9uKHByb3RvY29sOiBBaXJHYXBBbnlQcm90b2NvbCk6IHByb3RvY29sIGlzIEFpckdhcEFueVByb3RvY29sICYgQWlyR2FwRGVsZWdhdGVQcm90b2NvbCB7XG4gIGNvbnN0IGRlbGVnYXRlUHJvdG9jb2wgPSBwcm90b2NvbCBhcyBBaXJHYXBBbnlQcm90b2NvbCAmIEFpckdhcERlbGVnYXRlUHJvdG9jb2xcblxuICByZXR1cm4gKFxuICAgICEhZGVsZWdhdGVQcm90b2NvbC5nZXREZWZhdWx0RGVsZWdhdGVlICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLmdldEN1cnJlbnREZWxlZ2F0ZWVzRm9yUHVibGljS2V5ICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLmdldEN1cnJlbnREZWxlZ2F0ZWVzRm9yQWRkcmVzcyAmJlxuICAgICEhZGVsZWdhdGVQcm90b2NvbC5nZXREZWxlZ2F0ZWVEZXRhaWxzICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLmlzUHVibGljS2V5RGVsZWdhdGluZyAmJlxuICAgICEhZGVsZWdhdGVQcm90b2NvbC5pc0FkZHJlc3NEZWxlZ2F0aW5nICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLmdldERlbGVnYXRpb25EZXRhaWxzRnJvbVB1YmxpY0tleSAmJlxuICAgICEhZGVsZWdhdGVQcm90b2NvbC5nZXREZWxlZ2F0aW9uRGV0YWlsc0Zyb21BZGRyZXNzICYmXG4gICAgISFkZWxlZ2F0ZVByb3RvY29sLnByZXBhcmVEZWxlZ2F0b3JBY3Rpb25Gcm9tUHVibGljS2V5XG4gIClcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export function getMainIdentifier(subIdentifier) {
2
+ return subIdentifier.split('-')[0];
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2wtaWRlbnRpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvcHJvdG9jb2wvcHJvdG9jb2wtaWRlbnRpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsYUFBOEI7SUFDOUQsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBd0IsQ0FBQTtBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdG9jb2xTeW1ib2xzLCBNYWluUHJvdG9jb2xTeW1ib2xzIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb2lubGliLWNvcmUnXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYWluSWRlbnRpZmllcihzdWJJZGVudGlmaWVyOiBQcm90b2NvbFN5bWJvbHMpOiBNYWluUHJvdG9jb2xTeW1ib2xzIHtcbiAgcmV0dXJuIHN1YklkZW50aWZpZXIuc3BsaXQoJy0nKVswXSBhcyBNYWluUHJvdG9jb2xTeW1ib2xzXG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { RuntimeMode } from '../../types/RuntimeMode';
2
+ export async function getProtocolAndNetworkIdentifier(mode, protocol, network) {
3
+ const protocolIdentifier = typeof protocol === 'string' ? protocol : await protocol.getIdentifier();
4
+ if (mode === RuntimeMode.OFFLINE) {
5
+ return protocolIdentifier;
6
+ }
7
+ const networkIdentifier = typeof protocol !== 'string'
8
+ ? (await protocol.getOptions()).network.identifier
9
+ : typeof network === 'string'
10
+ ? network
11
+ : network?.identifier;
12
+ return networkIdentifier !== undefined ? `${protocolIdentifier}:${networkIdentifier}` : protocolIdentifier;
13
+ }
14
+ export function splitProtocolNetworkIdentifier(protocolAndNetworkIdentifier) {
15
+ const [protocol, network] = protocolAndNetworkIdentifier.split(':', 2);
16
+ return { protocol: protocol, network };
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2wtbmV0d29yay1pZGVudGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9wcm90b2NvbC9wcm90b2NvbC1uZXR3b3JrLWlkZW50aWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRXJELE1BQU0sQ0FBQyxLQUFLLFVBQVUsK0JBQStCLENBQ25ELElBQWlCLEVBQ2pCLFFBQXlDLEVBQ3pDLE9BQWtDO0lBRWxDLE1BQU0sa0JBQWtCLEdBQVcsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzNHLElBQUksSUFBSSxLQUFLLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxPQUFPLGtCQUFrQixDQUFBO0lBQzNCLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUNyQixPQUFPLFFBQVEsS0FBSyxRQUFRO1FBQzFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVU7UUFDbEQsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVE7WUFDN0IsQ0FBQyxDQUFDLE9BQU87WUFDVCxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQTtJQUV6QixPQUFPLGlCQUFpQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQTtBQUM1RyxDQUFDO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUFDLDRCQUFvQztJQUNqRixNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFhLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFaEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUEyQixFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ29pblByb3RvY29sLCBQcm90b2NvbE5ldHdvcmssIFByb3RvY29sU3ltYm9scyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29pbmxpYi1jb3JlJ1xuaW1wb3J0IHsgUnVudGltZU1vZGUgfSBmcm9tICcuLi8uLi90eXBlcy9SdW50aW1lTW9kZSdcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFByb3RvY29sQW5kTmV0d29ya0lkZW50aWZpZXIoXG4gIG1vZGU6IFJ1bnRpbWVNb2RlLFxuICBwcm90b2NvbDogSUNvaW5Qcm90b2NvbCB8IFByb3RvY29sU3ltYm9scyxcbiAgbmV0d29yaz86IFByb3RvY29sTmV0d29yayB8IHN0cmluZ1xuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcHJvdG9jb2xJZGVudGlmaWVyOiBzdHJpbmcgPSB0eXBlb2YgcHJvdG9jb2wgPT09ICdzdHJpbmcnID8gcHJvdG9jb2wgOiBhd2FpdCBwcm90b2NvbC5nZXRJZGVudGlmaWVyKClcbiAgaWYgKG1vZGUgPT09IFJ1bnRpbWVNb2RlLk9GRkxJTkUpIHtcbiAgICByZXR1cm4gcHJvdG9jb2xJZGVudGlmaWVyXG4gIH1cblxuICBjb25zdCBuZXR3b3JrSWRlbnRpZmllcjogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICB0eXBlb2YgcHJvdG9jb2wgIT09ICdzdHJpbmcnXG4gICAgICA/IChhd2FpdCBwcm90b2NvbC5nZXRPcHRpb25zKCkpLm5ldHdvcmsuaWRlbnRpZmllclxuICAgICAgOiB0eXBlb2YgbmV0d29yayA9PT0gJ3N0cmluZydcbiAgICAgID8gbmV0d29ya1xuICAgICAgOiBuZXR3b3JrPy5pZGVudGlmaWVyXG5cbiAgcmV0dXJuIG5ldHdvcmtJZGVudGlmaWVyICE9PSB1bmRlZmluZWQgPyBgJHtwcm90b2NvbElkZW50aWZpZXJ9OiR7bmV0d29ya0lkZW50aWZpZXJ9YCA6IHByb3RvY29sSWRlbnRpZmllclxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRQcm90b2NvbE5ldHdvcmtJZGVudGlmaWVyKHByb3RvY29sQW5kTmV0d29ya0lkZW50aWZpZXI6IHN0cmluZyk6IHsgcHJvdG9jb2w6IFByb3RvY29sU3ltYm9sczsgbmV0d29yaz86IHN0cmluZyB9IHtcbiAgY29uc3QgW3Byb3RvY29sLCBuZXR3b3JrXTogc3RyaW5nW10gPSBwcm90b2NvbEFuZE5ldHdvcmtJZGVudGlmaWVyLnNwbGl0KCc6JywgMilcblxuICByZXR1cm4geyBwcm90b2NvbDogcHJvdG9jb2wgYXMgUHJvdG9jb2xTeW1ib2xzLCBuZXR3b3JrIH1cbn1cbiJdfQ==
@@ -0,0 +1,114 @@
1
+ /* eslint-disable complexity */
2
+ import { AeternityProtocolNetwork, AeternityProtocolOptions } from '@wallfree-dev/aeternity/v0';
3
+ import { BitcoinProtocolNetwork, BitcoinProtocolOptions } from '@wallfree-dev/bitcoin/v0';
4
+ import { CosmosProtocolNetwork, CosmosProtocolOptions } from '@wallfree-dev/cosmos/v0';
5
+ import { EthereumProtocolNetwork, EthereumProtocolOptions } from '@wallfree-dev/ethereum/v0';
6
+ import { GroestlcoinProtocolNetwork, GroestlcoinProtocolOptions } from '@wallfree-dev/groestlcoin/v0';
7
+ import { KusamaProtocolNetwork, KusamaProtocolOptions, PolkadotProtocolNetwork, PolkadotProtocolOptions } from '@wallfree-dev/polkadot/v0';
8
+ import { MoonbaseProtocolNetwork, MoonbaseProtocolOptions, MoonriverProtocolNetwork, MoonriverProtocolOptions } from '@wallfree-dev/moonbeam/v0';
9
+ import { AstarProtocolNetwork, AstarProtocolOptions, ShidenProtocolNetwork, ShidenProtocolOptions } from '@wallfree-dev/astar/v0';
10
+ import { TezosBTCProtocolConfig, TezosBTCTezProtocolConfig, TezosCTezProtocolConfig, TezosDOGAProtocolConfig, TezosFAProtocolOptions, TezosKolibriUSDProtocolConfig, TezosPlentyProtocolConfig, TezosProtocolNetwork, TezosProtocolOptions, TezosQUIPUProtocolConfig, TezosSaplingProtocolOptions, TezosShieldedTezProtocolConfig, TezosSIRSProtocolConfig, TezosStakerProtocolConfig, TezosUBTCProtocolConfig, TezosUDEFIProtocolConfig, TezosUSDProtocolConfig, TezosUSDTProtocolConfig, TezosUUSDProtocolConfig, TezosWrappedProtocolConfig, TezosWRAPProtocolConfig, TezosYOUProtocolConfig } from '@wallfree-dev/tezos/v0';
11
+ import { MainProtocolSymbols, SubProtocolSymbols, Domain } from '@wallfree-dev/coinlib-core';
12
+ import { NotFoundError } from '@wallfree-dev/coinlib-core/errors';
13
+ import { MoonbeamProtocolOptions, MoonbeamProtocolNetwork } from '@wallfree-dev/moonbeam/v0/protocol/moonbeam/MoonbeamProtocolOptions';
14
+ import { TezosETHtzProtocolConfig } from '@wallfree-dev/tezos/v0/protocol/fa/TezosFAProtocolOptions';
15
+ import { ProtocolOptionsAdapter } from '../../protocol/adapter/protocol-v0-adapter';
16
+ import { convertNetworkV1ToV0 } from './protocol-v0-adapter';
17
+ export const getProtocolOptionsByIdentifierLegacy = (identifier, network) => {
18
+ switch (identifier) {
19
+ case MainProtocolSymbols.AE:
20
+ return new AeternityProtocolOptions(network ? network : new AeternityProtocolNetwork());
21
+ case MainProtocolSymbols.BTC:
22
+ case MainProtocolSymbols.BTC_SEGWIT:
23
+ return new BitcoinProtocolOptions(network ? network : new BitcoinProtocolNetwork());
24
+ case MainProtocolSymbols.ETH:
25
+ case SubProtocolSymbols.ETH_ERC20_XCHF:
26
+ case SubProtocolSymbols.ETH_ERC20:
27
+ return new EthereumProtocolOptions(network ? network : new EthereumProtocolNetwork());
28
+ case MainProtocolSymbols.GRS:
29
+ return new GroestlcoinProtocolOptions(network ? network : new GroestlcoinProtocolNetwork());
30
+ case MainProtocolSymbols.COSMOS:
31
+ return new CosmosProtocolOptions(network ? network : new CosmosProtocolNetwork());
32
+ case MainProtocolSymbols.POLKADOT:
33
+ return new PolkadotProtocolOptions(network ? network : new PolkadotProtocolNetwork());
34
+ case MainProtocolSymbols.KUSAMA:
35
+ return new KusamaProtocolOptions(network ? network : new KusamaProtocolNetwork());
36
+ case MainProtocolSymbols.MOONBASE:
37
+ return new MoonbaseProtocolOptions(network ? network : new MoonbaseProtocolNetwork());
38
+ case MainProtocolSymbols.MOONRIVER:
39
+ return new MoonriverProtocolOptions(network ? network : new MoonriverProtocolNetwork());
40
+ case MainProtocolSymbols.MOONBEAM:
41
+ return new MoonbeamProtocolOptions(network ? network : new MoonbeamProtocolNetwork());
42
+ case MainProtocolSymbols.ASTAR:
43
+ return new AstarProtocolOptions(network ? network : new AstarProtocolNetwork());
44
+ case MainProtocolSymbols.SHIDEN:
45
+ return new ShidenProtocolOptions(network ? network : new ShidenProtocolNetwork());
46
+ case MainProtocolSymbols.XTZ:
47
+ case SubProtocolSymbols.XTZ_KT:
48
+ return new TezosProtocolOptions(network ? network : new TezosProtocolNetwork());
49
+ case MainProtocolSymbols.XTZ_SHIELDED:
50
+ return network
51
+ ? new TezosSaplingProtocolOptions(network, new TezosShieldedTezProtocolConfig())
52
+ : new TezosSaplingProtocolOptions();
53
+ case SubProtocolSymbols.XTZ_BTC:
54
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosBTCProtocolConfig());
55
+ case SubProtocolSymbols.XTZ_ETHTZ:
56
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosETHtzProtocolConfig());
57
+ case SubProtocolSymbols.XTZ_UUSD:
58
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosUUSDProtocolConfig());
59
+ case SubProtocolSymbols.XTZ_UBTC:
60
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosUBTCProtocolConfig());
61
+ case SubProtocolSymbols.XTZ_YOU:
62
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosYOUProtocolConfig());
63
+ case SubProtocolSymbols.XTZ_W:
64
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosWrappedProtocolConfig());
65
+ case SubProtocolSymbols.XTZ_KUSD:
66
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosKolibriUSDProtocolConfig());
67
+ case SubProtocolSymbols.XTZ_USD:
68
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosUSDProtocolConfig());
69
+ case SubProtocolSymbols.XTZ_USDT:
70
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosUSDTProtocolConfig());
71
+ case SubProtocolSymbols.XTZ_STKR:
72
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosStakerProtocolConfig());
73
+ case SubProtocolSymbols.XTZ_UDEFI:
74
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosUDEFIProtocolConfig());
75
+ case SubProtocolSymbols.XTZ_CTEZ:
76
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosCTezProtocolConfig());
77
+ case SubProtocolSymbols.XTZ_PLENTY:
78
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosPlentyProtocolConfig());
79
+ case SubProtocolSymbols.XTZ_WRAP:
80
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosWRAPProtocolConfig());
81
+ case SubProtocolSymbols.XTZ_QUIPU:
82
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosQUIPUProtocolConfig());
83
+ case SubProtocolSymbols.XTZ_DOGA:
84
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosDOGAProtocolConfig());
85
+ case SubProtocolSymbols.XTZ_SIRS:
86
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosSIRSProtocolConfig());
87
+ case SubProtocolSymbols.XTZ_BTC_TEZ:
88
+ return new TezosFAProtocolOptions(network ? network : new TezosProtocolNetwork(), new TezosBTCTezProtocolConfig());
89
+ default:
90
+ // Maybe we get an identifier of a sub-protocol that is not in the known list. In that case, get the options of the parent
91
+ if (identifier.includes('-')) {
92
+ return getProtocolOptionsByIdentifierLegacy(identifier.split('-')[0]);
93
+ }
94
+ throw new NotFoundError(Domain.UTILS, `No protocol options found for ${identifier}`);
95
+ }
96
+ };
97
+ const cache = {};
98
+ export const getProtocolOptionsByIdentifier = async (modulesController, identifier, network) => {
99
+ try {
100
+ return getProtocolOptionsByIdentifierLegacy(identifier, network);
101
+ }
102
+ catch {
103
+ if (network) {
104
+ return new ProtocolOptionsAdapter(network);
105
+ }
106
+ if (!cache[identifier]) {
107
+ const defaultNetwork = await modulesController.getProtocolNetwork(identifier);
108
+ const blockExplorer = defaultNetwork ? await modulesController.getProtocolBlockExplorer(identifier, defaultNetwork) : undefined;
109
+ cache[identifier] = new ProtocolOptionsAdapter(convertNetworkV1ToV0(defaultNetwork ?? { name: 'Mainnet', type: 'mainnet', rpcUrl: '', blockExplorerUrl: '' }, blockExplorer));
110
+ }
111
+ return cache[identifier];
112
+ }
113
+ };
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2wtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvcHJvdG9jb2wvcHJvdG9jb2wtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDL0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDckcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDMUksT0FBTyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEosT0FBTyxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFHakksT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLHlCQUF5QixFQUN6QixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsOEJBQThCLEVBQzlCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsdUJBQXVCLEVB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aUJBQW9DLEVBQ3BDLFVBQTJCLEVBQzNCLE9BQXlCLEVBQ0MsRUFBRTtJQUM1QixJQUFJLENBQUM7UUFDSCxPQUFPLG9DQUFvQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM1QyxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sY0FBYyxHQUFHLE1BQU0saUJBQWlCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDN0UsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1lBRS9ILEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLHNCQUFzQixDQUM1QyxvQkFBb0IsQ0FBQyxjQUFjLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FDOUgsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMxQixDQUFDO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuaW1wb3J0IHsgQWV0ZXJuaXR5UHJvdG9jb2xOZXR3b3JrLCBBZXRlcm5pdHlQcm90b2NvbE9wdGlvbnMgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2FldGVybml0eS92MCdcbmltcG9ydCB7IEJpdGNvaW5Qcm90b2NvbE5ldHdvcmssIEJpdGNvaW5Qcm90b2NvbE9wdGlvbnMgfSBmcm9tICdAd2FsbGZyZWUtZGV2L2JpdGNvaW4vdjAnXG5pbXBvcnQgeyBDb3Ntb3NQcm90b2NvbE5ldHdvcmssIENvc21vc1Byb3RvY29sT3B0aW9ucyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvY29zbW9zL3YwJ1xuaW1wb3J0IHsgRXRoZXJldW1Qcm90b2NvbE5ldHdvcmssIEV0aGVyZXVtUHJvdG9jb2xPcHRpb25zIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9ldGhlcmV1bS92MCdcbmltcG9ydCB7IEdyb2VzdGxjb2luUHJvdG9jb2xOZXR3b3JrLCBHcm9lc3RsY29pblByb3RvY29sT3B0aW9ucyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvZ3JvZXN0bGNvaW4vdjAnXG5pbXBvcnQgeyBLdXNhbWFQcm90b2NvbE5ldHdvcmssIEt1c2FtYVByb3RvY29sT3B0aW9ucywgUG9sa2Fkb3RQcm90b2NvbE5ldHdvcmssIFBvbGthZG90UHJvdG9jb2xPcHRpb25zIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9wb2xrYWRvdC92MCdcbmltcG9ydCB7IE1vb25iYXNlUHJvdG9jb2xOZXR3b3JrLCBNb29uYmFzZVByb3RvY29sT3B0aW9ucywgTW9vbnJpdmVyUHJvdG9jb2xOZXR3b3JrLCBNb29ucml2ZXJQcm90b2NvbE9wdGlvbnMgfSBmcm9tICdAd2FsbGZyZWUtZGV2L21vb25iZWFtL3YwJ1xuaW1wb3J0IHsgQXN0YXJQcm90b2NvbE5ldHdvcmssIEFzdGFyUHJvdG9jb2xPcHRpb25zLCBTaGlkZW5Qcm90b2NvbE5ldHdvcmssIFNoaWRlblByb3RvY29sT3B0aW9ucyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvYXN0YXIvdjAnXG5pbXBvcnQgeyBTb2xhbmFCbG9ja0V4cGxvcmVyIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9zb2xhbmEvdjEvYmxvY2stZXhwbG9yZXIvU29sYW5hQmxvY2tFeHBsb3JlcidcbmltcG9ydCB7IFNvbGFuYVByb3RvY29sTmV0d29yaywgU29sYW5hUHJvdG9jb2xPcHRpb25zIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9zb2xhbmEnXG5pbXBvcnQge1xuICBUZXpvc0JUQ1Byb3RvY29sQ29uZmlnLFxuICBUZXpvc0JUQ1RlelByb3RvY29sQ29uZmlnLFxuICBUZXpvc0NUZXpQcm90b2NvbENvbmZpZyxcbiAgVGV6b3NET0dBUHJvdG9jb2xDb25maWcsXG4gIFRlem9zRkFQcm90b2NvbE9wdGlvbnMsXG4gIFRlem9zS29saWJyaVVTRFByb3RvY29sQ29uZmlnLFxuICBUZXpvc1BsZW50eVByb3RvY29sQ29uZmlnLFxuICBUZXpvc1Byb3RvY29sTmV0d29yayxcbiAgVGV6b3NQcm90b2NvbE9wdGlvbnMsXG4gIFRlem9zUVVJUFVQcm90b2NvbENvbmZpZyxcbiAgVGV6b3NTYXBsaW5nUHJvdG9jb2xPcHRpb25zLFxuICBUZXpvc1NoaWVsZGVkVGV6UHJvdG9jb2xDb25maWcsXG4gIFRlem9zU0lSU1Byb3RvY29sQ29uZmlnLFxuICBUZXpvc1N0YWtlclByb3RvY29sQ29uZmlnLFxuICBUZXpvc1VCVENQcm90b2NvbENvbmZpZyxcbiAgVGV6b3NVREVGSVByb3RvY29sQ29uZmlnLFxuICBUZXpvc1VTRFByb3RvY29sQ29uZmlnLFxuICBUZXpvc1VTRFRQcm90b2NvbENvbmZpZyxcbiAgVGV6b3NVVVNEUHJvdG9jb2xDb25maWcsXG4gIFRlem9zV3JhcHBlZFByb3RvY29sQ29uZmlnLFxuICBUZXpvc1dSQVBQcm90b2NvbENvbmZpZyxcbiAgVGV6b3NZT1VQcm90b2NvbENvbmZpZ1xufSBmcm9tICdAd2FsbGZyZWUtZGV2L3Rlem9zL3YwJ1xuaW1wb3J0IHsgUHJvdG9jb2xTeW1ib2xzLCBQcm90b2NvbE5ldHdvcmssIE1haW5Qcm90b2NvbFN5bWJvbHMsIFN1YlByb3RvY29sU3ltYm9scywgRG9tYWluIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb2lubGliLWNvcmUnXG5pbXBvcnQgeyBOb3RGb3VuZEVycm9yIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb2lubGliLWNvcmUvZXJyb3JzJ1xuaW1wb3J0IHsgUHJvdG9jb2xPcHRpb25zIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9jb2lubGliLWNvcmUvdXRpbHMvUHJvdG9jb2xPcHRpb25zJ1xuaW1wb3J0IHsgTW9vbmJlYW1Qcm90b2NvbE9wdGlvbnMsIE1vb25iZWFtUHJvdG9jb2xOZXR3b3JrIH0gZnJvbSAnQHdhbGxmcmVlLWRldi9tb29uYmVhbS92MC9wcm90b2NvbC9tb29uYmVhbS9Nb29uYmVhbVByb3RvY29sT3B0aW9ucydcbmltcG9ydCB7IFRlem9zRVRIdHpQcm90b2NvbENvbmZpZyB9IGZyb20gJ0B3YWxsZnJlZS1kZXYvdGV6b3MvdjAvcHJvdG9jb2wvZmEvVGV6b3NGQVByb3RvY29sT3B0aW9ucydcbmltcG9ydCB7IFByb3RvY29sT3B0aW9uc0FkYXB0ZXIgfSBmcm9tICcuLi8uLi9wcm90b2NvbC9hZGFwdGVyL3Byb3RvY29sLXYwLWFkYXB0ZXInXG5pbXBvcnQgeyBNb2R1bGVzQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21vZHVsZXMvY29udHJvbGxlci9tb2R1bGVzLmNvbnRyb2xsZXInXG5pbXBvcnQgeyBjb252ZXJ0TmV0d29ya1YxVG9WMCB9IGZyb20gJy4vcHJvdG9jb2wtdjAtYWRhcHRlcidcblxuZXhwb3J0IGNvbnN0IGdldFByb3RvY29sT3B0aW9uc0J5SWRlbnRpZmllckxlZ2FjeTogKGlkZW50aWZpZXI6IFByb3RvY29sU3ltYm9scywgbmV0d29yaz86IFByb3RvY29sTmV0d29yaykgPT4gUHJvdG9jb2xPcHRpb25zID0gKFxuICBpZGVudGlmaWVyOiBQcm90b2NvbFN5bWJvbHMsXG4gIG5ldHdvcms/OiBQcm90b2NvbE5ldHdvcmtcbik6IFByb3RvY29sT3B0aW9ucyA9PiB7XG4gIHN3aXRjaCAoaWRlbnRpZmllcikge1xuICAgIGNhc2UgTWFpblByb3RvY29sU3ltYm9scy5BRTpcbiAgICAgIHJldHVybiBuZXcgQWV0ZXJuaXR5UHJvdG9jb2xPcHRpb25zKG5ldHdvcmsgPyAobmV0d29yayBhcyBBZXRlcm5pdHlQcm90b2NvbE5ldHdvcmspIDogbmV3IEFldGVybml0eVByb3RvY29sTmV0d29yaygpKVxuICAgIGNhc2UgTWFpblByb3RvY29sU3ltYm9scy5CVEM6XG4gICAgY2FzZSBNYWluUHJvdG9jb2xTeW1ib2xzLkJUQ19TRUdXSVQ6XG4gICAgICByZXR1cm4gbmV3IEJpdGNvaW5Qcm90b2NvbE9wdGlvbnMobmV0d29yayA/IChuZXR3b3JrIGFzIEJpdGNvaW5Qcm90b2NvbE5ldHdvcmspIDogbmV3IEJpdGNvaW5Qcm90b2NvbE5ldHdvcmsoKSlcbiAgICBjYXNlIE1haW5Qcm90b2NvbFN5bWJvbHMuRVRIOlxuICAgIGNhc2UgU3ViUHJvdG9jb2xTeW1ib2xzLkVUSF9FUkMyMF9YQ0hGOlxuICAgIGNhc2UgU3ViUHJvdG9jb2xTeW1ib2xzLkVUSF9FUkMyMDpcbiAgICAgIHJldHVybiBuZXcgRXRoZXJldW1Qcm90b2NvbE9wdGlvbnMobmV0d29yayA/IChuZXR3b3JrIGFzIEV0aGVyZXVtUHJvdG9jb2xOZXR3b3JrKSA6IG5ldyBFdGhlcmV1bVByb3RvY29sTmV0d29yaygpKVxuICAgIGNhc2UgTWFpblByb3RvY29sU3ltYm9scy5HUlM6XG4gICAgICByZXR1cm4gbmV3IEdyb2VzdGxjb2luUHJvdG9jb2xPcHRpb25zKG5ldHdvcmsgPyAobmV0d29yayBhcyBHcm9lc3RsY29pblByb3RvY29sTmV0d29yaykgOiBuZXcgR3JvZXN0bGNvaW5Qcm90b2NvbE5ldHdvcmsoKSlcbiAgICBjYXNlIE1haW5Qcm90b2NvbFN5bWJvbHMuQ09TTU9TOlxuICAgICAgcmV0dXJuIG5ldyBDb3Ntb3NQcm90b2NvbE9wdGlvbnMobmV0d29yayA/IChuZXR3b3JrIGFzIENvc21vc1Byb3RvY29sTmV0d29yaykgOiBuZXcgQ29zbW9zUHJvdG9jb2xOZXR3b3JrKCkpXG4gICAgY2FzZSBNYWluUHJvdG9jb2xTeW1ib2xzLlBPTEtBRE9UOlxuICAgICAgcmV0dXJuIG5ldyBQb2xrYWRvdFByb3RvY29sT3B0aW9ucyhuZXR3b3JrID8gKG5ldHdvcmsgYXMgUG9sa2Fkb3RQcm90b2NvbE5ldHdvcmspIDogbmV3IFBvbGthZG90UHJvdG9jb2xOZXR3b3JrKCkpXG4gICAgY2FzZSBNYWluUHJvdG9jb2xTeW1ib2xzLktVU0FNQTpcbiAgICAgIHJldHVybiBuZXcgS3VzYW1hUHJvdG9jb2xPcHRpb25zKG5ldHdvcmsgPyAobmV0d29yayBhcyBLdXNhbWFQcm90b2NvbE5ldHdvcmspIDogbmV3IEt1c2FtYVByb3RvY29sTmV0d29yaygpKVxuICAgIGNhc2UgTWFpblByb3RvY29sU3ltYm9scy5NT09OQkFTRTpcbiAgICAgIHJldHVybiBuZXcgTW9vbmJhc2VQcm90b2NvbE9wdGlvbnMobmV0d29yayA/IChuZXR3b3JrIGFzIE1vb25iYXNlUHJvdG9jb2xOZXR3b3JrKSA6IG5ldyBNb29uYmFzZVByb3RvY29sTmV0d29yaygpKVxuICAgIGNhc2UgTWFpblByb3RvY29sU3ltYm9scy5NT09OUklWRVI6XG4gICAgICByZXR1cm4gbmV3IE1vb25yaXZlclByb3RvY29sT3B0aW9ucyhuZXR3b3JrID8gKG5ldHdvcmsgYXMgTW9vbnJpdmVyUHJvdG9jb2xOZXR3b3JrKSA6IG5ldyBNb29ucml2ZXJQcm90b2NvbE5ldHdvcmsoKSlcbiAgICBjYXNlIE1haW5Qcm90b2NvbFN5bWJvbHMuTU9PTkJFQU06XG4gICAgICByZXR1cm4gbmV3IE1vb25iZWFtUHJvdG9jb2xPcHRpb25zKG5ldHdvcmsgPyAobmV0d29yayBhcyBNb29uYmVhbVByb3RvY29sTmV0d29yaykgOiBuZXcgTW9vbmJlYW1Qcm90b2NvbE5ldHdvcmsoKSlcbiAgICBjYXNlIE1haW5Qcm90b2NvbFN5bWJvbHMuQVNUQVI6XG4gICAgICByZXR1cm4gbmV3IEFzdGFyUHJvdG9jb2xPcHRpb25zKG5ldHdvcmsgPyAobmV0d29yayBhcyBBc3RhclByb3RvY29sTmV0d29yaykgOiBuZXcgQXN0YXJQcm90b2NvbE5ldHdvcmsoKSlcbiAgICBjYXNlIE1haW5Qcm90b2NvbFN5bWJvbHMuU0hJREVOOlxuICAgICAgcmV0dXJuIG5ldyBTaGlkZW5Qcm90b2NvbE9wdGlvbnMobmV0d29yayA/IChuZXR3b3JrIGFzIFNoaWRlblByb3RvY29sTmV0d29yaykgOiBuZXcgU2hpZGVuUHJvdG9jb2xOZXR3b3JrKCkpXG4gICAgY2FzZSBNYWluUHJvdG9jb2xTeW1ib2xzLlhUWjpcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfS1Q6XG4gICAgICByZXR1cm4gbmV3IFRlem9zUHJvdG9jb2xPcHRpb25zKG5ldHdvcmsgPyAobmV0d29yayBhcyBUZXpvc1Byb3RvY29sTmV0d29yaykgOiBuZXcgVGV6b3NQcm90b2NvbE5ldHdvcmsoKSlcbiAgICBjYXNlIE1haW5Qcm90b2NvbFN5bWJvbHMuWFRaX1NISUVMREVEOlxuICAgICAgcmV0dXJuIG5ldHdvcmtcbiAgICAgICAgPyBuZXcgVGV6b3NTYXBsaW5nUHJvdG9jb2xPcHRpb25zKG5ldHdvcmsgYXMgVGV6b3NQcm90b2NvbE5ldHdvcmssIG5ldyBUZXpvc1NoaWVsZGVkVGV6UHJvdG9jb2xDb25maWcoKSlcbiAgICAgICAgOiBuZXcgVGV6b3NTYXBsaW5nUHJvdG9jb2xPcHRpb25zKClcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfQlRDOlxuICAgICAgcmV0dXJuIG5ldyBUZXpvc0ZBUHJvdG9jb2xPcHRpb25zKFxuICAgICAgICBuZXR3b3JrID8gKG5ldHdvcmsgYXMgVGV6b3NQcm90b2NvbE5ldHdvcmspIDogbmV3IFRlem9zUHJvdG9jb2xOZXR3b3JrKCksXG4gICAgICAgIG5ldyBUZXpvc0JUQ1Byb3RvY29sQ29uZmlnKClcbiAgICAgIClcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfRVRIVFo6XG4gICAgICByZXR1cm4gbmV3IFRlem9zRkFQcm90b2NvbE9wdGlvbnMoXG4gICAgICAgIG5ldHdvcmsgPyAobmV0d29yayBhcyBUZXpvc1Byb3RvY29sTmV0d29yaykgOiBuZXcgVGV6b3NQcm90b2NvbE5ldHdvcmsoKSxcbiAgICAgICAgbmV3IFRlem9zRVRIdHpQcm90b2NvbENvbmZpZygpXG4gICAgICApXG4gICAgY2FzZSBTdWJQcm90b2NvbFN5bWJvbHMuWFRaX1VVU0Q6XG4gICAgICByZXR1cm4gbmV3IFRlem9zRkFQcm90b2NvbE9wdGlvbnMoXG4gICAgICAgIG5ldHdvcmsgPyAobmV0d29yayBhcyBUZXpvc1Byb3RvY29sTmV0d29yaykgOiBuZXcgVGV6b3NQcm90b2NvbE5ldHdvcmsoKSxcbiAgICAgICAgbmV3IFRlem9zVVVTRFByb3RvY29sQ29uZmlnKClcbiAgICAgIClcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfVUJUQzpcbiAgICAgIHJldHVybiBuZXcgVGV6b3NGQVByb3RvY29sT3B0aW9ucyhcbiAgICAgICAgbmV0d29yayA/IChuZXR3b3JrIGFzIFRlem9zUHJvdG9jb2xOZXR3b3JrKSA6IG5ldyBUZXpvc1Byb3RvY29sTmV0d29yaygpLFxuICAgICAgICBuZXcgVGV6b3NVQlRDUHJvdG9jb2xDb25maWcoKVxuICAgICAgKVxuICAgIGNhc2UgU3ViUHJvdG9jb2xTeW1ib2xzLlhUWl9ZT1U6XG4gICAgICByZXR1cm4gbmV3IFRlem9zRkFQcm90b2NvbE9wdGlvbnMoXG4gICAgICAgIG5ldHdvcmsgPyAobmV0d29yayBhcyBUZXpvc1Byb3RvY29sTmV0d29yaykgOiBuZXcgVGV6b3NQcm90b2NvbE5ldHdvcmsoKSxcbiAgICAgICAgbmV3IFRlem9zWU9VUHJvdG9jb2xDb25maWcoKVxuICAgICAgKVxuICAgIGNhc2UgU3ViUHJvdG9jb2xTeW1ib2xzLlhUWl9XOlxuICAgICAgcmV0dXJuIG5ldyBUZXpvc0ZBUHJvdG9jb2xPcHRpb25zKFxuICAgICAgICBuZXR3b3JrID8gKG5ldHdvcmsgYXMgVGV6b3NQcm90b2NvbE5ldHdvcmspIDogbmV3IFRlem9zUHJvdG9jb2xOZXR3b3JrKCksXG4gICAgICAgIG5ldyBUZXpvc1dyYXBwZWRQcm90b2NvbENvbmZpZygpXG4gICAgICApXG4gICAgY2FzZSBTdWJQcm90b2NvbFN5bWJvbHMuWFRaX0tVU0Q6XG4gICAgICByZXR1cm4gbmV3IFRlem9zRkFQcm90b2NvbE9wdGlvbnMoXG4gICAgICAgIG5ldHdvcmsgPyAobmV0d29yayBhcyBUZXpvc1Byb3RvY29sTmV0d29yaykgOiBuZXcgVGV6b3NQcm90b2NvbE5ldHdvcmsoKSxcbiAgICAgICAgbmV3IFRlem9zS29saWJyaVVTRFByb3RvY29sQ29uZmlnKClcbiAgICAgIClcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfVVNEOlxuICAgICAgcmV0dXJuIG5ldyBUZXpvc0ZBUHJvdG9jb2xPcHRpb25zKFxuICAgICAgICBuZXR3b3JrID8gKG5ldHdvcmsgYXMgVGV6b3NQcm90b2NvbE5ldHdvcmspIDogbmV3IFRlem9zUHJvdG9jb2xOZXR3b3JrKCksXG4gICAgICAgIG5ldyBUZXpvc1VTRFByb3RvY29sQ29uZmlnKClcbiAgICAgIClcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfVVNEVDpcbiAgICAgIHJldHVybiBuZXcgVGV6b3NGQVByb3RvY29sT3B0aW9ucyhcbiAgICAgICAgbmV0d29yayA/IChuZXR3b3JrIGFzIFRlem9zUHJvdG9jb2xOZXR3b3JrKSA6IG5ldyBUZXpvc1Byb3RvY29sTmV0d29yaygpLFxuICAgICAgICBuZXcgVGV6b3NVU0RUUHJvdG9jb2xDb25maWcoKVxuICAgICAgKVxuICAgIGNhc2UgU3ViUHJvdG9jb2xTeW1ib2xzLlhUWl9TVEtSOlxuICAgICAgcmV0dXJuIG5ldyBUZXpvc0ZBUHJvdG9jb2xPcHRpb25zKFxuICAgICAgICBuZXR3b3JrID8gKG5ldHdvcmsgYXMgVGV6b3NQcm90b2NvbE5ldHdvcmspIDogbmV3IFRlem9zUHJvdG9jb2xOZXR3b3JrKCksXG4gICAgICAgIG5ldyBUZXpvc1N0YWtlclByb3RvY29sQ29uZmlnKClcbiAgICAgIClcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfVURFRkk6XG4gICAgICByZXR1cm4gbmV3IFRlem9zRkFQcm90b2NvbE9wdGlvbnMoXG4gICAgICAgIG5ldHdvcmsgPyAobmV0d29yayBhcyBUZXpvc1Byb3RvY29sTmV0d29yaykgOiBuZXcgVGV6b3NQcm90b2NvbE5ldHdvcmsoKSxcbiAgICAgICAgbmV3IFRlem9zVURFRklQcm90b2NvbENvbmZpZygpXG4gICAgICApXG4gICAgY2FzZSBTdWJQcm90b2NvbFN5bWJvbHMuWFRaX0NURVo6XG4gICAgICByZXR1cm4gbmV3IFRlem9zRkFQcm90b2NvbE9wdGlvbnMoXG4gICAgICAgIG5ldHdvcmsgPyAobmV0d29yayBhcyBUZXpvc1Byb3RvY29sTmV0d29yaykgOiBuZXcgVGV6b3NQcm90b2NvbE5ldHdvcmsoKSxcbiAgICAgICAgbmV3IFRlem9zQ1RlelByb3RvY29sQ29uZmlnKClcbiAgICAgIClcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfUExFTlRZOlxuICAgICAgcmV0dXJuIG5ldyBUZXpvc0ZBUHJvdG9jb2xPcHRpb25zKFxuICAgICAgICBuZXR3b3JrID8gKG5ldHdvcmsgYXMgVGV6b3NQcm90b2NvbE5ldHdvcmspIDogbmV3IFRlem9zUHJvdG9jb2xOZXR3b3JrKCksXG4gICAgICAgIG5ldyBUZXpvc1BsZW50eVByb3RvY29sQ29uZmlnKClcbiAgICAgIClcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfV1JBUDpcbiAgICAgIHJldHVybiBuZXcgVGV6b3NGQVByb3RvY29sT3B0aW9ucyhcbiAgICAgICAgbmV0d29yayA/IChuZXR3b3JrIGFzIFRlem9zUHJvdG9jb2xOZXR3b3JrKSA6IG5ldyBUZXpvc1Byb3RvY29sTmV0d29yaygpLFxuICAgICAgICBuZXcgVGV6b3NXUkFQUHJvdG9jb2xDb25maWcoKVxuICAgICAgKVxuICAgIGNhc2UgU3ViUHJvdG9jb2xTeW1ib2xzLlhUWl9RVUlQVTpcbiAgICAgIHJldHVybiBuZXcgVGV6b3NGQVByb3RvY29sT3B0aW9ucyhcbiAgICAgICAgbmV0d29yayA/IChuZXR3b3JrIGFzIFRlem9zUHJvdG9jb2xOZXR3b3JrKSA6IG5ldyBUZXpvc1Byb3RvY29sTmV0d29yaygpLFxuICAgICAgICBuZXcgVGV6b3NRVUlQVVByb3RvY29sQ29uZmlnKClcbiAgICAgIClcbiAgICBjYXNlIFN1YlByb3RvY29sU3ltYm9scy5YVFpfRE9HQTpcbiAgICAgIHJldHVybiBuZXcgVGV6b3NGQVByb3RvY29sT3B0aW9ucyhcbiAgICAgICAgbmV0d29yayA/IChuZXR3b3JrIGFzIFRlem9zUHJvdG9jb2xOZXR3b3JrKSA6IG5ldyBUZXpvc1Byb3RvY29sTmV0d29yaygpLFxuICAgICAgICBuZXcgVGV6b3NET0dBUHJvdG9jb2xDb25maWcoKVxuICAgICAgKVxuICAgIGNhc2UgU3ViUHJvdG9jb2xTeW1ib2xzLlhUWl9TSVJTOlxuICAgICAgcmV0dXJuIG5ldyBUZXpvc0ZBUHJvdG9jb2xPcHRpb25zKFxuICAgICAgICBuZXR3b3JrID8gKG5ldHdvcmsgYXMgVGV6b3NQcm90b2NvbE5ldHdvcmspIDogbmV3IFRlem9zUHJvdG9jb2xOZXR3b3JrKCksXG4gICAgICAgIG5ldyBUZXpvc1NJUlNQcm90b2NvbENvbmZpZygpXG4gICAgICApXG4gICAgY2FzZSBTdWJQcm90b2NvbFN5bWJvbHMuWFRaX0JUQ19URVo6XG4gICAgICByZXR1cm4gbmV3IFRlem9zRkFQcm90b2NvbE9wdGlvbnMoXG4gICAgICAgIG5ldHdvcmsgPyAobmV0d29yayBhcyBUZXpvc1Byb3RvY29sTmV0d29yaykgOiBuZXcgVGV6b3NQcm90b2NvbE5ldHdvcmsoKSxcbiAgICAgICAgbmV3IFRlem9zQlRDVGV6UHJvdG9jb2xDb25maWcoKVxuICAgICAgKVxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBNYXliZSB3ZSBnZXQgYW4gaWRlbnRpZmllciBvZiBhIHN1Yi1wcm90b2NvbCB0aGF0IGlzIG5vdCBpbiB0aGUga25vd24gbGlzdC4gSW4gdGhhdCBjYXNlLCBnZXQgdGhlIG9wdGlvbnMgb2YgdGhlIHBhcmVudFxuICAgICAgaWYgKChpZGVudGlmaWVyIGFzIHN0cmluZykuaW5jbHVkZXMoJy0nKSkge1xuICAgICAgICByZXR1cm4gZ2V0UHJvdG9jb2xPcHRpb25zQnlJZGVudGlmaWVyTGVnYWN5KChpZGVudGlmaWVyIGFzIHN0cmluZykuc3BsaXQoJy0nKVswXSBhcyBhbnkpXG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihEb21haW4uVVRJTFMsIGBObyBwcm90b2NvbCBvcHRpb25zIGZvdW5kIGZvciAke2lkZW50aWZpZXJ9YClcbiAgfVxufVxuXG5jb25zdCBjYWNoZTogUmVjb3JkPHN0cmluZywgUHJvdG9jb2xPcHRpb25zPiA9IHt9XG5leHBvcnQgY29uc3QgZ2V0UHJvdG9jb2xPcHRpb25zQnlJZGVudGlmaWVyOiAoXG4gIG1vZHVsZXNDb250cm9sbGVyOiBNb2R1bGVzQ29udHJvbGxlcixcbiAgaWRlbnRpZmllcjogUHJvdG9jb2xTeW1ib2xzLFxuICBuZXR3b3JrPzogUHJvdG9jb2xOZXR3b3JrXG4pID0+IFByb21pc2U8UHJvdG9jb2xPcHRpb25zPiA9IGFzeW5jIChcbiAgbW9kdWxlc0NvbnRyb2xsZXI6IE1vZHVsZXNDb250cm9sbGVyLFxuICBpZGVudGlmaWVyOiBQcm90b2NvbFN5bWJvbHMsXG4gIG5ldHdvcms/OiBQcm90b2NvbE5ldHdvcmtcbik6IFByb21pc2U8UHJvdG9jb2xPcHRpb25zPiA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdldFByb3RvY29sT3B0aW9uc0J5SWRlbnRpZmllckxlZ2FjeShpZGVudGlmaWVyLCBuZXR3b3JrKVxuICB9IGNhdGNoIHtcbiAgICBpZiAobmV0d29yaykge1xuICAgICAgcmV0dXJuIG5ldyBQcm90b2NvbE9wdGlvbnNBZGFwdGVyKG5ldHdvcmspXG4gICAgfVxuXG4gICAgaWYgKCFjYWNoZVtpZGVudGlmaWVyXSkge1xuICAgICAgY29uc3QgZGVmYXVsdE5ldHdvcmsgPSBhd2FpdCBtb2R1bGVzQ29udHJvbGxlci5nZXRQcm90b2NvbE5ldHdvcmsoaWRlbnRpZmllcilcbiAgICAgIGNvbnN0IGJsb2NrRXhwbG9yZXIgPSBkZWZhdWx0TmV0d29yayA/IGF3YWl0IG1vZHVsZXNDb250cm9sbGVyLmdldFByb3RvY29sQmxvY2tFeHBsb3JlcihpZGVudGlmaWVyLCBkZWZhdWx0TmV0d29yaykgOiB1bmRlZmluZWRcblxuICAgICAgY2FjaGVbaWRlbnRpZmllcl0gPSBuZXcgUHJvdG9jb2xPcHRpb25zQWRhcHRlcihcbiAgICAgICAgY29udmVydE5ldHdvcmtWMVRvVjAoZGVmYXVsdE5ldHdvcmsgPz8geyBuYW1lOiAnTWFpbm5ldCcsIHR5cGU6ICdtYWlubmV0JywgcnBjVXJsOiAnJywgYmxvY2tFeHBsb3JlclVybDogJycgfSwgYmxvY2tFeHBsb3JlcilcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gY2FjaGVbaWRlbnRpZmllcl1cbiAgfVxufVxuIl19