@cardano-sdk/cardano-services 0.11.0-nightly.1 → 0.11.0-nightly.10

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 (275) hide show
  1. package/README.md +19 -2
  2. package/dist/cjs/Asset/AssetHttpService.d.ts.map +1 -1
  3. package/dist/cjs/Asset/AssetHttpService.js +3 -2
  4. package/dist/cjs/Asset/AssetHttpService.js.map +1 -1
  5. package/dist/cjs/Asset/CardanoTokenRegistry.d.ts +2 -0
  6. package/dist/cjs/Asset/CardanoTokenRegistry.d.ts.map +1 -1
  7. package/dist/cjs/Asset/CardanoTokenRegistry.js +15 -11
  8. package/dist/cjs/Asset/CardanoTokenRegistry.js.map +1 -1
  9. package/dist/cjs/Asset/DbSyncAssetProvider/AssetBuilder.d.ts +1 -2
  10. package/dist/cjs/Asset/DbSyncAssetProvider/AssetBuilder.d.ts.map +1 -1
  11. package/dist/cjs/Asset/DbSyncAssetProvider/AssetBuilder.js +15 -17
  12. package/dist/cjs/Asset/DbSyncAssetProvider/AssetBuilder.js.map +1 -1
  13. package/dist/cjs/Asset/DbSyncAssetProvider/DbSyncAssetProvider.d.ts +8 -3
  14. package/dist/cjs/Asset/DbSyncAssetProvider/DbSyncAssetProvider.d.ts.map +1 -1
  15. package/dist/cjs/Asset/DbSyncAssetProvider/DbSyncAssetProvider.js +52 -17
  16. package/dist/cjs/Asset/DbSyncAssetProvider/DbSyncAssetProvider.js.map +1 -1
  17. package/dist/cjs/Asset/DbSyncAssetProvider/queries.d.ts +1 -3
  18. package/dist/cjs/Asset/DbSyncAssetProvider/queries.d.ts.map +1 -1
  19. package/dist/cjs/Asset/DbSyncAssetProvider/queries.js +13 -11
  20. package/dist/cjs/Asset/DbSyncAssetProvider/queries.js.map +1 -1
  21. package/dist/cjs/Asset/DbSyncAssetProvider/types.d.ts +2 -5
  22. package/dist/cjs/Asset/DbSyncAssetProvider/types.d.ts.map +1 -1
  23. package/dist/cjs/Asset/openApi.json +98 -3
  24. package/dist/cjs/Blockfrost/BlockfrostService.d.ts +1 -1
  25. package/dist/cjs/Blockfrost/BlockfrostService.d.ts.map +1 -1
  26. package/dist/cjs/Blockfrost/BlockfrostService.js +1 -1
  27. package/dist/cjs/Blockfrost/BlockfrostService.js.map +1 -1
  28. package/dist/cjs/ChainHistory/ChainHistoryHttpService.js +2 -2
  29. package/dist/cjs/ChainHistory/ChainHistoryHttpService.js.map +1 -1
  30. package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.d.ts +2 -1
  31. package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.d.ts.map +1 -1
  32. package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js +71 -18
  33. package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js.map +1 -1
  34. package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.d.ts +2 -2
  35. package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.d.ts.map +1 -1
  36. package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js +11 -9
  37. package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js.map +1 -1
  38. package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.d.ts.map +1 -1
  39. package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.js +1 -3
  40. package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.js.map +1 -1
  41. package/dist/cjs/Http/HttpServer.d.ts +2 -7
  42. package/dist/cjs/Http/HttpServer.d.ts.map +1 -1
  43. package/dist/cjs/Http/HttpServer.js +88 -41
  44. package/dist/cjs/Http/HttpServer.js.map +1 -1
  45. package/dist/cjs/Http/HttpService.js +1 -1
  46. package/dist/cjs/Http/HttpService.js.map +1 -1
  47. package/dist/cjs/Http/index.d.ts +1 -0
  48. package/dist/cjs/Http/index.d.ts.map +1 -1
  49. package/dist/cjs/Http/index.js +1 -0
  50. package/dist/cjs/Http/index.js.map +1 -1
  51. package/dist/cjs/Http/types.d.ts +1 -0
  52. package/dist/cjs/Http/types.d.ts.map +1 -1
  53. package/dist/cjs/Http/util.d.ts +13 -0
  54. package/dist/cjs/Http/util.d.ts.map +1 -0
  55. package/dist/cjs/Http/util.js +21 -0
  56. package/dist/cjs/Http/util.js.map +1 -0
  57. package/dist/cjs/InMemoryCache/InMemoryCache.js +1 -1
  58. package/dist/cjs/InMemoryCache/InMemoryCache.js.map +1 -1
  59. package/dist/cjs/Metadata/DbSyncMetadataService.d.ts.map +1 -1
  60. package/dist/cjs/Metadata/DbSyncMetadataService.js +10 -2
  61. package/dist/cjs/Metadata/DbSyncMetadataService.js.map +1 -1
  62. package/dist/cjs/Metadata/mappers.d.ts.map +1 -1
  63. package/dist/cjs/Metadata/mappers.js +1 -1
  64. package/dist/cjs/Metadata/mappers.js.map +1 -1
  65. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/DbSyncNetworkInfoProvider.d.ts +7 -4
  66. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/DbSyncNetworkInfoProvider.d.ts.map +1 -1
  67. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/DbSyncNetworkInfoProvider.js +18 -13
  68. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/DbSyncNetworkInfoProvider.js.map +1 -1
  69. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/keys.d.ts +1 -0
  70. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/keys.d.ts.map +1 -1
  71. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/keys.js +2 -1
  72. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/keys.js.map +1 -1
  73. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/queries.d.ts +1 -1
  74. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/queries.d.ts.map +1 -1
  75. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/queries.js +1 -19
  76. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/queries.js.map +1 -1
  77. package/dist/cjs/NetworkInfo/NetworkInfoHttpService.d.ts.map +1 -1
  78. package/dist/cjs/NetworkInfo/NetworkInfoHttpService.js +2 -3
  79. package/dist/cjs/NetworkInfo/NetworkInfoHttpService.js.map +1 -1
  80. package/dist/cjs/NetworkInfo/openApi.json +11 -67
  81. package/dist/cjs/Program/errors/MissingProgramOption.d.ts +3 -0
  82. package/dist/cjs/Program/errors/MissingProgramOption.d.ts.map +1 -1
  83. package/dist/cjs/Program/errors/MissingProgramOption.js +8 -1
  84. package/dist/cjs/Program/errors/MissingProgramOption.js.map +1 -1
  85. package/dist/cjs/Program/options/common.d.ts +2 -0
  86. package/dist/cjs/Program/options/common.d.ts.map +1 -1
  87. package/dist/cjs/Program/options/common.js +9 -3
  88. package/dist/cjs/Program/options/common.js.map +1 -1
  89. package/dist/cjs/Program/programs/blockfrostWorker.js +4 -4
  90. package/dist/cjs/Program/programs/blockfrostWorker.js.map +1 -1
  91. package/dist/cjs/Program/programs/index.d.ts +1 -5
  92. package/dist/cjs/Program/programs/index.d.ts.map +1 -1
  93. package/dist/cjs/Program/programs/index.js +1 -7
  94. package/dist/cjs/Program/programs/index.js.map +1 -1
  95. package/dist/cjs/Program/programs/projector.d.ts +20 -0
  96. package/dist/cjs/Program/programs/projector.d.ts.map +1 -0
  97. package/dist/cjs/Program/programs/projector.js +67 -0
  98. package/dist/cjs/Program/programs/projector.js.map +1 -0
  99. package/dist/cjs/Program/programs/providerServer.d.ts +4 -36
  100. package/dist/cjs/Program/programs/providerServer.d.ts.map +1 -1
  101. package/dist/cjs/Program/programs/providerServer.js +97 -72
  102. package/dist/cjs/Program/programs/providerServer.js.map +1 -1
  103. package/dist/cjs/Program/programs/types.d.ts +53 -0
  104. package/dist/cjs/Program/programs/types.d.ts.map +1 -0
  105. package/dist/cjs/Program/programs/types.js +40 -0
  106. package/dist/cjs/Program/programs/types.js.map +1 -0
  107. package/dist/cjs/Program/services/ogmios.d.ts +3 -1
  108. package/dist/cjs/Program/services/ogmios.d.ts.map +1 -1
  109. package/dist/cjs/Program/services/ogmios.js +14 -1
  110. package/dist/cjs/Program/services/ogmios.js.map +1 -1
  111. package/dist/cjs/Program/services/postgres.d.ts +3 -0
  112. package/dist/cjs/Program/services/postgres.d.ts.map +1 -1
  113. package/dist/cjs/Program/services/postgres.js +71 -5
  114. package/dist/cjs/Program/services/postgres.js.map +1 -1
  115. package/dist/cjs/Program/services/rabbitmq.d.ts +1 -1
  116. package/dist/cjs/Program/services/rabbitmq.d.ts.map +1 -1
  117. package/dist/cjs/Program/services/rabbitmq.js +3 -3
  118. package/dist/cjs/Program/services/rabbitmq.js.map +1 -1
  119. package/dist/cjs/Projection/ProjectionHttpService.d.ts +25 -0
  120. package/dist/cjs/Projection/ProjectionHttpService.d.ts.map +1 -0
  121. package/dist/cjs/Projection/ProjectionHttpService.js +68 -0
  122. package/dist/cjs/Projection/ProjectionHttpService.js.map +1 -0
  123. package/dist/cjs/Projection/createTypeormProjection.d.ts +15 -0
  124. package/dist/cjs/Projection/createTypeormProjection.d.ts.map +1 -0
  125. package/dist/cjs/Projection/createTypeormProjection.js +46 -0
  126. package/dist/cjs/Projection/createTypeormProjection.js.map +1 -0
  127. package/dist/cjs/Projection/index.d.ts +4 -0
  128. package/dist/cjs/Projection/index.d.ts.map +1 -0
  129. package/dist/cjs/Projection/index.js +20 -0
  130. package/dist/cjs/Projection/index.js.map +1 -0
  131. package/dist/cjs/Projection/migrations/1682519108358-block-table.d.ts +8 -0
  132. package/dist/cjs/Projection/migrations/1682519108358-block-table.d.ts.map +1 -0
  133. package/dist/cjs/Projection/migrations/1682519108358-block-table.js +19 -0
  134. package/dist/cjs/Projection/migrations/1682519108358-block-table.js.map +1 -0
  135. package/dist/cjs/Projection/migrations/1682519108359-block-data-table.d.ts +8 -0
  136. package/dist/cjs/Projection/migrations/1682519108359-block-data-table.d.ts.map +1 -0
  137. package/dist/cjs/Projection/migrations/1682519108359-block-data-table.js +17 -0
  138. package/dist/cjs/Projection/migrations/1682519108359-block-data-table.js.map +1 -0
  139. package/dist/cjs/Projection/migrations/1682519108360-pool-registration-table.d.ts +8 -0
  140. package/dist/cjs/Projection/migrations/1682519108360-pool-registration-table.d.ts.map +1 -0
  141. package/dist/cjs/Projection/migrations/1682519108360-pool-registration-table.js +17 -0
  142. package/dist/cjs/Projection/migrations/1682519108360-pool-registration-table.js.map +1 -0
  143. package/dist/cjs/Projection/migrations/1682519108361-pool-retirement-table.d.ts +8 -0
  144. package/dist/cjs/Projection/migrations/1682519108361-pool-retirement-table.d.ts.map +1 -0
  145. package/dist/cjs/Projection/migrations/1682519108361-pool-retirement-table.js +17 -0
  146. package/dist/cjs/Projection/migrations/1682519108361-pool-retirement-table.js.map +1 -0
  147. package/dist/cjs/Projection/migrations/1682519108362-stake-pool-table.d.ts +8 -0
  148. package/dist/cjs/Projection/migrations/1682519108362-stake-pool-table.d.ts.map +1 -0
  149. package/dist/cjs/Projection/migrations/1682519108362-stake-pool-table.js +19 -0
  150. package/dist/cjs/Projection/migrations/1682519108362-stake-pool-table.js.map +1 -0
  151. package/dist/cjs/Projection/migrations/1682519108363-pool-metadata-table.d.ts +8 -0
  152. package/dist/cjs/Projection/migrations/1682519108363-pool-metadata-table.d.ts.map +1 -0
  153. package/dist/cjs/Projection/migrations/1682519108363-pool-metadata-table.js +23 -0
  154. package/dist/cjs/Projection/migrations/1682519108363-pool-metadata-table.js.map +1 -0
  155. package/dist/cjs/Projection/migrations/1682519108365-asset-table.d.ts +8 -0
  156. package/dist/cjs/Projection/migrations/1682519108365-asset-table.d.ts.map +1 -0
  157. package/dist/cjs/Projection/migrations/1682519108365-asset-table.js +17 -0
  158. package/dist/cjs/Projection/migrations/1682519108365-asset-table.js.map +1 -0
  159. package/dist/cjs/Projection/migrations/1682519108367-output-table.d.ts +8 -0
  160. package/dist/cjs/Projection/migrations/1682519108367-output-table.d.ts.map +1 -0
  161. package/dist/cjs/Projection/migrations/1682519108367-output-table.js +23 -0
  162. package/dist/cjs/Projection/migrations/1682519108367-output-table.js.map +1 -0
  163. package/dist/cjs/Projection/migrations/1682519108368-tokens-table.d.ts +8 -0
  164. package/dist/cjs/Projection/migrations/1682519108368-tokens-table.d.ts.map +1 -0
  165. package/dist/cjs/Projection/migrations/1682519108368-tokens-table.js +19 -0
  166. package/dist/cjs/Projection/migrations/1682519108368-tokens-table.js.map +1 -0
  167. package/dist/cjs/Projection/migrations/1682519108369-fk-pool-registration.d.ts +8 -0
  168. package/dist/cjs/Projection/migrations/1682519108369-fk-pool-registration.d.ts.map +1 -0
  169. package/dist/cjs/Projection/migrations/1682519108369-fk-pool-registration.js +17 -0
  170. package/dist/cjs/Projection/migrations/1682519108369-fk-pool-registration.js.map +1 -0
  171. package/dist/cjs/Projection/migrations/1682519108370-fk-pool-retirement.d.ts +8 -0
  172. package/dist/cjs/Projection/migrations/1682519108370-fk-pool-retirement.d.ts.map +1 -0
  173. package/dist/cjs/Projection/migrations/1682519108370-fk-pool-retirement.js +17 -0
  174. package/dist/cjs/Projection/migrations/1682519108370-fk-pool-retirement.js.map +1 -0
  175. package/dist/cjs/Projection/migrations/index.d.ts +6 -0
  176. package/dist/cjs/Projection/migrations/index.d.ts.map +1 -0
  177. package/dist/cjs/Projection/migrations/index.js +28 -0
  178. package/dist/cjs/Projection/migrations/index.js.map +1 -0
  179. package/dist/cjs/Projection/migrations/types.d.ts +7 -0
  180. package/dist/cjs/Projection/migrations/types.d.ts.map +1 -0
  181. package/dist/cjs/Projection/migrations/types.js +7 -0
  182. package/dist/cjs/Projection/migrations/types.js.map +1 -0
  183. package/dist/cjs/Projection/prepareTypeormProjection.d.ts +59 -0
  184. package/dist/cjs/Projection/prepareTypeormProjection.d.ts.map +1 -0
  185. package/dist/cjs/Projection/prepareTypeormProjection.js +165 -0
  186. package/dist/cjs/Projection/prepareTypeormProjection.js.map +1 -0
  187. package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewardsProvider.d.ts +2 -2
  188. package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewardsProvider.d.ts.map +1 -1
  189. package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewardsProvider.js +3 -3
  190. package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewardsProvider.js.map +1 -1
  191. package/dist/cjs/Rewards/DbSyncRewardProvider/RewardsBuilder.d.ts +2 -1
  192. package/dist/cjs/Rewards/DbSyncRewardProvider/RewardsBuilder.d.ts.map +1 -1
  193. package/dist/cjs/Rewards/DbSyncRewardProvider/RewardsBuilder.js.map +1 -1
  194. package/dist/cjs/Rewards/RewardsHttpService.js +2 -2
  195. package/dist/cjs/Rewards/RewardsHttpService.js.map +1 -1
  196. package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.d.ts +9 -5
  197. package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.d.ts.map +1 -1
  198. package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.js +57 -40
  199. package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.js.map +1 -1
  200. package/dist/cjs/StakePool/DbSyncStakePoolProvider/StakePoolBuilder.d.ts +1 -1
  201. package/dist/cjs/StakePool/DbSyncStakePoolProvider/StakePoolBuilder.d.ts.map +1 -1
  202. package/dist/cjs/StakePool/DbSyncStakePoolProvider/StakePoolBuilder.js +16 -13
  203. package/dist/cjs/StakePool/DbSyncStakePoolProvider/StakePoolBuilder.js.map +1 -1
  204. package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.d.ts +0 -5
  205. package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.d.ts.map +1 -1
  206. package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.js.map +1 -1
  207. package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.d.ts +4 -1
  208. package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.d.ts.map +1 -1
  209. package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.js +8 -4
  210. package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.js.map +1 -1
  211. package/dist/cjs/StakePool/DbSyncStakePoolProvider/types.d.ts.map +1 -1
  212. package/dist/cjs/StakePool/HttpStakePoolMetadata/HttpStakePoolMetadataService.d.ts +5 -0
  213. package/dist/cjs/StakePool/HttpStakePoolMetadata/HttpStakePoolMetadataService.d.ts.map +1 -0
  214. package/dist/cjs/StakePool/HttpStakePoolMetadata/HttpStakePoolMetadataService.js +125 -0
  215. package/dist/cjs/StakePool/HttpStakePoolMetadata/HttpStakePoolMetadataService.js.map +1 -0
  216. package/dist/cjs/StakePool/HttpStakePoolMetadata/errors.d.ts +16 -0
  217. package/dist/cjs/StakePool/HttpStakePoolMetadata/errors.d.ts.map +1 -0
  218. package/dist/cjs/StakePool/HttpStakePoolMetadata/errors.js +23 -0
  219. package/dist/cjs/StakePool/HttpStakePoolMetadata/errors.js.map +1 -0
  220. package/dist/cjs/StakePool/HttpStakePoolMetadata/index.d.ts +2 -1
  221. package/dist/cjs/StakePool/HttpStakePoolMetadata/index.d.ts.map +1 -1
  222. package/dist/cjs/StakePool/HttpStakePoolMetadata/index.js +2 -1
  223. package/dist/cjs/StakePool/HttpStakePoolMetadata/index.js.map +1 -1
  224. package/dist/cjs/StakePool/HttpStakePoolMetadata/types.d.ts +6 -0
  225. package/dist/cjs/StakePool/HttpStakePoolMetadata/types.d.ts.map +1 -1
  226. package/dist/cjs/StakePool/HttpStakePoolMetadata/types.js.map +1 -1
  227. package/dist/cjs/StakePool/HttpStakePoolMetadata/util.d.ts.map +1 -1
  228. package/dist/cjs/StakePool/HttpStakePoolMetadata/util.js.map +1 -1
  229. package/dist/cjs/StakePool/StakePoolHttpService.js +2 -2
  230. package/dist/cjs/StakePool/StakePoolHttpService.js.map +1 -1
  231. package/dist/cjs/StakePool/types.d.ts +5 -3
  232. package/dist/cjs/StakePool/types.d.ts.map +1 -1
  233. package/dist/cjs/TxSubmit/TxSubmitHttpService.js +2 -2
  234. package/dist/cjs/TxSubmit/TxSubmitHttpService.js.map +1 -1
  235. package/dist/cjs/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.d.ts.map +1 -1
  236. package/dist/cjs/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.js +1 -1
  237. package/dist/cjs/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.js.map +1 -1
  238. package/dist/cjs/TxSubmit/rabbitmq/TxSubmitWorker.d.ts.map +1 -1
  239. package/dist/cjs/TxSubmit/rabbitmq/TxSubmitWorker.js +4 -4
  240. package/dist/cjs/TxSubmit/rabbitmq/TxSubmitWorker.js.map +1 -1
  241. package/dist/cjs/Utxo/DbSyncUtxoProvider/DbSyncUtxoProvider.d.ts +2 -2
  242. package/dist/cjs/Utxo/DbSyncUtxoProvider/DbSyncUtxoProvider.d.ts.map +1 -1
  243. package/dist/cjs/Utxo/DbSyncUtxoProvider/DbSyncUtxoProvider.js +3 -3
  244. package/dist/cjs/Utxo/DbSyncUtxoProvider/DbSyncUtxoProvider.js.map +1 -1
  245. package/dist/cjs/Utxo/UtxoHttpService.js +2 -2
  246. package/dist/cjs/Utxo/UtxoHttpService.js.map +1 -1
  247. package/dist/cjs/cli.js +46 -3
  248. package/dist/cjs/cli.js.map +1 -1
  249. package/dist/cjs/index.d.ts +1 -0
  250. package/dist/cjs/index.d.ts.map +1 -1
  251. package/dist/cjs/index.js +1 -0
  252. package/dist/cjs/index.js.map +1 -1
  253. package/dist/cjs/migrationDataSource.d.ts +3 -0
  254. package/dist/cjs/migrationDataSource.d.ts.map +1 -0
  255. package/dist/cjs/migrationDataSource.js +19 -0
  256. package/dist/cjs/migrationDataSource.js.map +1 -0
  257. package/dist/cjs/original-package.json +32 -21
  258. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  259. package/dist/cjs/util/DbSyncProvider/DbSyncProvider.d.ts +11 -3
  260. package/dist/cjs/util/DbSyncProvider/DbSyncProvider.d.ts.map +1 -1
  261. package/dist/cjs/util/DbSyncProvider/DbSyncProvider.js +35 -17
  262. package/dist/cjs/util/DbSyncProvider/DbSyncProvider.js.map +1 -1
  263. package/dist/cjs/util/DbSyncProvider/util.d.ts +1 -1
  264. package/dist/cjs/util/DbSyncProvider/util.d.ts.map +1 -1
  265. package/dist/cjs/util/DbSyncProvider/util.js +5 -6
  266. package/dist/cjs/util/DbSyncProvider/util.js.map +1 -1
  267. package/dist/cjs/util/validators.d.ts +3 -1
  268. package/dist/cjs/util/validators.d.ts.map +1 -1
  269. package/dist/cjs/util/validators.js +10 -9
  270. package/dist/cjs/util/validators.js.map +1 -1
  271. package/package.json +32 -21
  272. package/dist/cjs/StakePool/HttpStakePoolMetadata/HttpStakePoolExtMetadataService.d.ts +0 -5
  273. package/dist/cjs/StakePool/HttpStakePoolMetadata/HttpStakePoolExtMetadataService.d.ts.map +0 -1
  274. package/dist/cjs/StakePool/HttpStakePoolMetadata/HttpStakePoolExtMetadataService.js +0 -42
  275. package/dist/cjs/StakePool/HttpStakePoolMetadata/HttpStakePoolExtMetadataService.js.map +0 -1
@@ -1,18 +1,26 @@
1
1
  import { CardanoNode, HealthCheckResponse, ProviderDependencies } from '@cardano-sdk/core';
2
+ import { InMemoryCache } from '../../InMemoryCache';
2
3
  import { Logger } from 'ts-log';
3
4
  import { Pool } from 'pg';
5
+ export interface DbPools {
6
+ main: Pool;
7
+ healthCheck: Pool;
8
+ }
4
9
  export interface DbSyncProviderDependencies extends ProviderDependencies {
5
- db: Pool;
10
+ cache: {
11
+ healthCheck: InMemoryCache;
12
+ };
13
+ dbPools: DbPools;
6
14
  cardanoNode: CardanoNode;
7
15
  }
8
16
  declare type AnyArgs = any[];
9
17
  export declare const DbSyncProvider: <T extends (abstract new (...args: AnyArgs) => {}) | (new (...args: AnyArgs) => {}) = new () => {}>(BaseClass?: T | undefined) => (T extends new (...baseArgs: AnyArgs) => {} ? new (dependencies: DbSyncProviderDependencies, ...args: T extends abstract new (...baseArgs: infer A) => {} ? A : T extends new (...baseArgs: infer A_1) => {} ? A_1 : never) => (T extends abstract new (...baseArgs: AnyArgs) => infer I ? I : T extends new (...baseArgs: AnyArgs) => infer I_1 ? I_1 : never) & {
10
- db: Pool;
18
+ dbPools: DbPools;
11
19
  cardanoNode: CardanoNode;
12
20
  logger: Logger;
13
21
  healthCheck: () => Promise<HealthCheckResponse>;
14
22
  } : abstract new (dependencies: DbSyncProviderDependencies, ...args: T extends abstract new (...baseArgs: infer A) => {} ? A : T extends new (...baseArgs: infer A_1) => {} ? A_1 : never) => (T extends abstract new (...baseArgs: AnyArgs) => infer I ? I : T extends new (...baseArgs: AnyArgs) => infer I_1 ? I_1 : never) & {
15
- db: Pool;
23
+ dbPools: DbPools;
16
24
  cardanoNode: CardanoNode;
17
25
  logger: Logger;
18
26
  healthCheck: () => Promise<HealthCheckResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"DbSyncProvider.d.ts","sourceRoot":"","sources":["../../../../src/util/DbSyncProvider/DbSyncProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EACX,mBAAmB,EAEnB,oBAAoB,EAGrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAK1B,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IAItE,EAAE,EAAE,IAAI,CAAC;IAIT,WAAW,EAAE,WAAW,CAAC;CAC1B;AAGD,aAAK,OAAO,GAAG,GAAG,EAAE,CAAC;AAErB,eAAO,MAAM,cAAc,iDACqB,EAAE,+BAA+B,EAAE,cAAc,EAAE,yEAqE7B,EAAE,sBAC/C,0BAA0B,4DAlBgB,EAAE,iDAEvB,EAAE;QASxC,IAAI;iBACK,WAAW;YAChB,MAAM;iBACD,MAAM,QAAQ,mBAAmB,CAAC;gCAKjB,0BAA0B,4DAnBO,EAAE,iDAEvB,EAAE;QASxC,IAAI;iBACK,WAAW;YAChB,MAAM;iBACD,MAAM,QAAQ,mBAAmB,CAAC;;eAMpC;QAAE,WAAW,EAAE,MAAM,QAAQ,mBAAmB,CAAC,CAAA;KAAE;CAEjE,CAAC"}
1
+ {"version":3,"file":"DbSyncProvider.d.ts","sourceRoot":"","sources":["../../../../src/util/DbSyncProvider/DbSyncProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,mBAAmB,EAAY,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAK1B,MAAM,WAAW,OAAO;IAItB,IAAI,EAAE,IAAI,CAAC;IAIX,WAAW,EAAE,IAAI,CAAC;CACnB;AAKD,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IAItE,KAAK,EAAE;QACL,WAAW,EAAE,aAAa,CAAC;KAC5B,CAAC;IAIF,OAAO,EAAE,OAAO,CAAC;IAIjB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAGD,aAAK,OAAO,GAAG,GAAG,EAAE,CAAC;AAErB,eAAO,MAAM,cAAc,iDACqB,EAAE,+BAA+B,EAAE,cAAc,EAAE,yEA2E7B,EAAE,sBAC/C,0BAA0B,4DAlBgB,EAAE,iDAEvB,EAAE;aASnC,OAAO;iBACH,WAAW;YAChB,MAAM;iBACD,MAAM,QAAQ,mBAAmB,CAAC;gCAKjB,0BAA0B,4DAnBO,EAAE,iDAEvB,EAAE;aASnC,OAAO;iBACH,WAAW;YAChB,MAAM;iBACD,MAAM,QAAQ,mBAAmB,CAAC;;eAMpC;QAAE,WAAW,EAAE,MAAM,QAAQ,mBAAmB,CAAC,CAAA;KAAE;CAEjE,CAAC"}
@@ -1,40 +1,58 @@
1
1
  "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.DbSyncProvider = void 0;
4
15
  const core_1 = require("@cardano-sdk/core");
5
16
  const util_1 = require("./util");
6
17
  const DbSyncProvider = (BaseClass) => {
18
+ var _Mixin_cache;
7
19
  class Mixin extends (BaseClass || Object) {
8
20
  constructor(...args) {
9
21
  const [dependencies, ...baseArgs] = [...args];
10
- const { db, cardanoNode, logger } = dependencies;
22
+ const { cache, dbPools, cardanoNode, logger } = dependencies;
11
23
  super(...baseArgs);
12
- this.db = db;
24
+ _Mixin_cache.set(this, void 0);
25
+ this.dbPools = dbPools;
13
26
  this.cardanoNode = cardanoNode;
14
27
  this.logger = logger;
28
+ __classPrivateFieldSet(this, _Mixin_cache, cache, "f");
15
29
  }
16
30
  async healthCheck() {
31
+ const response = { ok: false };
17
32
  try {
18
- const { ok, localNode } = await this.cardanoNode.healthCheck();
19
- const tip = (await this.db.query(util_1.findLedgerTip)).rows[0];
20
- const isHealthy = ok && tip.block_no >= (localNode?.ledgerTip?.blockNo ?? util_1.DB_MAX_SAFE_INTEGER) - util_1.DB_BLOCKS_BEHIND_TOLERANCE;
21
- this.logger.debug(`Service /health: projected block tip: ${tip.block_no},local node block tip: ${localNode?.ledgerTip?.blockNo}.`);
22
- const projectedTip = {
23
- blockNo: core_1.Cardano.BlockNo(tip.block_no),
24
- hash: tip.hash.toString('hex'),
25
- slot: core_1.Cardano.Slot(Number(tip.slot_no))
26
- };
27
- return {
28
- localNode,
29
- ok: isHealthy,
30
- projectedTip
31
- };
33
+ const cardanoNode = await __classPrivateFieldGet(this, _Mixin_cache, "f").healthCheck.get('node_health', async () => this.cardanoNode.healthCheck());
34
+ response.localNode = cardanoNode.localNode;
35
+ const tip = await __classPrivateFieldGet(this, _Mixin_cache, "f").healthCheck.get('db_tip', async () => (await this.dbPools.healthCheck.query(util_1.findLedgerTip)).rows[0]);
36
+ if (tip) {
37
+ response.projectedTip = {
38
+ blockNo: core_1.Cardano.BlockNo(tip.block_no),
39
+ hash: tip.hash.toString('hex'),
40
+ slot: core_1.Cardano.Slot(Number(tip.slot_no))
41
+ };
42
+ response.ok =
43
+ cardanoNode.ok &&
44
+ tip?.block_no >=
45
+ (cardanoNode.localNode?.ledgerTip?.blockNo ?? util_1.DB_MAX_SAFE_INTEGER) - util_1.DB_BLOCKS_BEHIND_TOLERANCE;
46
+ this.logger.debug(`Service /health: projected block tip: ${tip.block_no},local node block tip: ${cardanoNode.localNode?.ledgerTip?.blockNo}.`);
47
+ }
32
48
  }
33
49
  catch (error) {
34
- throw new core_1.ProviderError(core_1.ProviderFailure.ConnectionFailure, error, 'Failed to perform health check against dependencies');
50
+ this.logger.error(error.message);
35
51
  }
52
+ return response;
36
53
  }
37
54
  }
55
+ _Mixin_cache = new WeakMap();
38
56
  return Mixin;
39
57
  };
40
58
  exports.DbSyncProvider = DbSyncProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"DbSyncProvider.js","sourceRoot":"","sources":["../../../../src/util/DbSyncProvider/DbSyncProvider.ts"],"names":[],"mappings":";;;AACA,4CAQ2B;AAC3B,iCAAwG;AAqBjG,MAAM,cAAc,GAAG,CAG5B,SAAa,EACb,EAAE;IACF,MAAe,KAAM,SAAQ,CAAC,SAAS,IAAI,MAAM,CAAC;QAKhD,YAAY,GAAG,IAAa;YAC1B,MAAM,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAA6C,CAAC;YAC1F,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;YAEjD,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;YAEnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QAEM,KAAK,CAAC,WAAW;YACtB,IAAI;gBACF,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC/D,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAiB,oBAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzE,MAAM,SAAS,GACb,EAAE,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,IAAI,0BAAmB,CAAC,GAAG,iCAA0B,CAAC;gBAE5G,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yCAAyC,GAAG,CAAC,QAAQ,0BAA0B,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,CAChH,CAAC;gBAEF,MAAM,YAAY,GAAgB;oBAChC,OAAO,EAAE,cAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACtC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAA+B;oBAC5D,IAAI,EAAE,cAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACxC,CAAC;gBAEF,OAAO;oBACL,SAAS;oBACT,EAAE,EAAE,SAAS;oBACb,YAAY;iBACb,CAAC;aACH;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,oBAAa,CACrB,sBAAe,CAAC,iBAAiB,EACjC,KAAK,EACL,qDAAqD,CACtD,CAAC;aACH;QACH,CAAC;KACF;IAmBD,OAAO,KAIN,CAAC;AACJ,CAAC,CAAC;AA3EW,QAAA,cAAc,kBA2EzB"}
1
+ {"version":3,"file":"DbSyncProvider.js","sourceRoot":"","sources":["../../../../src/util/DbSyncProvider/DbSyncProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAA8G;AAC9G,iCAAwG;AA0CjG,MAAM,cAAc,GAAG,CAG5B,SAAa,EACb,EAAE;;IACF,MAAe,KAAM,SAAQ,CAAC,SAAS,IAAI,MAAM,CAAC;QAQhD,YAAY,GAAG,IAAa;YAC1B,MAAM,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAA6C,CAAC;YAC1F,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;YAC7D,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;YAPrB,+BAEE;YAOA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,uBAAA,IAAI,gBAAU,KAAK,MAAA,CAAC;QACtB,CAAC;QAEM,KAAK,CAAC,WAAW;YACtB,MAAM,QAAQ,GAAwB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACpD,IAAI;gBACF,MAAM,WAAW,GAAG,MAAM,uBAAA,IAAI,oBAAO,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAC9E,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAC/B,CAAC;gBACF,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,uBAAA,IAAI,oBAAO,CAAC,WAAW,CAAC,GAAG,CAC3C,QAAQ,EACR,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAiB,oBAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1F,CAAC;gBAEF,IAAI,GAAG,EAAE;oBACP,QAAQ,CAAC,YAAY,GAAG;wBACtB,OAAO,EAAE,cAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACtC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAA+B;wBAC5D,IAAI,EAAE,cAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACxC,CAAC;oBACF,QAAQ,CAAC,EAAE;wBACT,WAAW,CAAC,EAAE;4BACd,GAAG,EAAE,QAAQ;gCACX,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,IAAI,0BAAmB,CAAC,GAAG,iCAA0B,CAAC;oBAEpG,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yCAAyC,GAAG,CAAC,QAAQ,0BAA0B,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,CAC5H,CAAC;iBACH;aAEF;YAAC,OAAO,KAAU,EAAE;gBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAClC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF;;IAmBD,OAAO,KAIN,CAAC;AACJ,CAAC,CAAC;AAjFW,QAAA,cAAc,kBAiFzB"}
@@ -7,5 +7,5 @@ export interface LedgerTipModel {
7
7
  }
8
8
  export declare const DB_MAX_SAFE_INTEGER = 2147483647;
9
9
  export declare const DB_BLOCKS_BEHIND_TOLERANCE = 5;
10
- export declare const findLedgerTip = "\n SELECT \n block_no, slot_no, hash\n FROM block\n ORDER BY block_no DESC \n NULLS LAST\n LIMIT 1";
10
+ export declare const findLedgerTip = "\nSELECT\n block_no, slot_no, hash\nFROM block\nWHERE\n block_no = (SELECT MAX(block_no) FROM block)";
11
11
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/util/DbSyncProvider/util.ts"],"names":[],"mappings":";;AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,mBAAmB,aAAgB,CAAC;AACjD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,eAAO,MAAM,aAAa,yHAMd,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/util/DbSyncProvider/util.ts"],"names":[],"mappings":";;AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,mBAAmB,aAAgB,CAAC;AACjD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,eAAO,MAAM,aAAa,2GAKqB,CAAC"}
@@ -4,10 +4,9 @@ exports.findLedgerTip = exports.DB_BLOCKS_BEHIND_TOLERANCE = exports.DB_MAX_SAFE
4
4
  exports.DB_MAX_SAFE_INTEGER = 2147483647;
5
5
  exports.DB_BLOCKS_BEHIND_TOLERANCE = 5;
6
6
  exports.findLedgerTip = `
7
- SELECT
8
- block_no, slot_no, hash
9
- FROM block
10
- ORDER BY block_no DESC
11
- NULLS LAST
12
- LIMIT 1`;
7
+ SELECT
8
+ block_no, slot_no, hash
9
+ FROM block
10
+ WHERE
11
+ block_no = (SELECT MAX(block_no) FROM block)`;
13
12
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/util/DbSyncProvider/util.ts"],"names":[],"mappings":";;;AAMa,QAAA,mBAAmB,GAAG,UAAa,CAAC;AACpC,QAAA,0BAA0B,GAAG,CAAC,CAAC;AAE/B,QAAA,aAAa,GAAG;;;;;;YAMjB,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/util/DbSyncProvider/util.ts"],"names":[],"mappings":";;;AAMa,QAAA,mBAAmB,GAAG,UAAa,CAAC;AACpC,QAAA,0BAA0B,GAAG,CAAC,CAAC;AAE/B,QAAA,aAAa,GAAG;;;;;+CAKkB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { BuildInfo } from '../Http';
2
+ import { Range } from '@cardano-sdk/util';
2
3
  export declare const buildInfoValidator: (buildInfo: string) => BuildInfo;
3
4
  export declare const existingFileValidator: (filePath: string) => string;
4
- export declare const cacheTtlValidator: (ttlInSecs: string) => number;
5
+ export declare const cacheTtlValidator: <Description>(ttlInSecs: string, range: Required<Range<number>>, description: Description) => number;
6
+ export declare const dbCacheValidator: (ttl: string) => number;
5
7
  //# sourceMappingURL=validators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/util/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAkBpC,eAAO,MAAM,kBAAkB,cAAe,MAAM,KAAG,SAStD,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,MAAM,WAKrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAAe,MAAM,WAYlD,CAAC"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/util/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,OAAO,EAAE,KAAK,EAAuB,MAAM,mBAAmB,CAAC;AAgB/D,eAAO,MAAM,kBAAkB,cAAe,MAAM,KAAG,SAStD,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,MAAM,WAKrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,2BACjB,MAAM,SACV,SAAS,MAAM,MAAM,CAAC,CAAC,qCAO/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,WAKzC,CAAC"}
@@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.cacheTtlValidator = exports.existingFileValidator = exports.buildInfoValidator = void 0;
6
+ exports.dbCacheValidator = exports.cacheTtlValidator = exports.existingFileValidator = exports.buildInfoValidator = void 0;
7
7
  const InMemoryCache_1 = require("../InMemoryCache");
8
- const Program_1 = require("../Program");
8
+ const types_1 = require("../Program/programs/types");
9
+ const util_1 = require("@cardano-sdk/util");
9
10
  const jsonschema_1 = require("jsonschema");
10
11
  const fs_1 = __importDefault(require("fs"));
11
12
  const buildInfoSchema = {
@@ -38,14 +39,14 @@ const existingFileValidator = (filePath) => {
38
39
  throw new Error(`No file exists at ${filePath}`);
39
40
  };
40
41
  exports.existingFileValidator = existingFileValidator;
41
- const cacheTtlValidator = (ttlInSecs) => {
42
+ const cacheTtlValidator = (ttlInSecs, range, description) => {
42
43
  const cacheTtlInSecs = Number.parseInt(ttlInSecs, 10);
43
- if (typeof cacheTtlInSecs === 'number' &&
44
- cacheTtlInSecs >= InMemoryCache_1.CACHE_TTL_LOWER_LIMIT &&
45
- cacheTtlInSecs <= InMemoryCache_1.CACHE_TTL_UPPER_LIMIT) {
46
- return cacheTtlInSecs;
47
- }
48
- throw new Program_1.MissingProgramOption(Program_1.ServiceNames.NetworkInfo, Program_1.ProviderServerOptionDescriptions.DbCacheTtl);
44
+ if (Number.isNaN(cacheTtlInSecs))
45
+ throw new TypeError(`${description} - ${ttlInSecs} is not a number`);
46
+ (0, util_1.throwIfOutsideRange)(cacheTtlInSecs, range, description);
47
+ return cacheTtlInSecs;
49
48
  };
50
49
  exports.cacheTtlValidator = cacheTtlValidator;
50
+ const dbCacheValidator = (ttl) => (0, exports.cacheTtlValidator)(ttl, { lowerBound: InMemoryCache_1.CACHE_TTL_LOWER_LIMIT, upperBound: InMemoryCache_1.CACHE_TTL_UPPER_LIMIT }, types_1.ProviderServerOptionDescriptions.DbCacheTtl);
51
+ exports.dbCacheValidator = dbCacheValidator;
51
52
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/util/validators.ts"],"names":[],"mappings":";;;;;;AACA,oDAAgF;AAChF,wCAAkG;AAClG,2CAAsC;AACtC,4CAAoB;AAEpB,MAAM,eAAe,GAAG;IACtB,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7B;IACD,IAAI,EAAE,QAAQ;CACf,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAa,EAAE;IACjE,IAAI,MAAiB,CAAC;IACtB,IAAI;QACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;KACxC;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,KAAK,EAAE,CAAC,CAAC;KAC5E;IACD,IAAA,qBAAQ,EAAC,MAAM,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACxD,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,QAAQ,CAAC;KACjB;IACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEK,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACrD,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEtD,IACE,OAAO,cAAc,KAAK,QAAQ;QAClC,cAAc,IAAI,qCAAqB;QACvC,cAAc,IAAI,qCAAqB,EACvC;QACA,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,IAAI,8BAAoB,CAAC,sBAAY,CAAC,WAAW,EAAE,0CAAgC,CAAC,UAAU,CAAC,CAAC;AACxG,CAAC,CAAC;AAZW,QAAA,iBAAiB,qBAY5B"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/util/validators.ts"],"names":[],"mappings":";;;;;;AACA,oDAAgF;AAChF,qDAA6E;AAC7E,4CAA+D;AAC/D,2CAAsC;AACtC,4CAAoB;AAEpB,MAAM,eAAe,GAAG;IACtB,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7B;IACD,IAAI,EAAE,QAAQ;CACf,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAa,EAAE;IACjE,IAAI,MAAiB,CAAC;IACtB,IAAI;QACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;KACxC;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,KAAK,EAAE,CAAC,CAAC;KAC5E;IACD,IAAA,qBAAQ,EAAC,MAAM,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACxD,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,QAAQ,CAAC;KACjB;IACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEK,MAAM,iBAAiB,GAAG,CAC/B,SAAiB,EACjB,KAA8B,EAC9B,WAAwB,EACxB,EAAE;IACF,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,WAAW,MAAM,SAAS,kBAAkB,CAAC,CAAC;IACvG,IAAA,0BAAmB,EAAC,cAAc,EAAE,KAAK,EAAE,WAAqB,CAAC,CAAC;IAClE,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B;AAEK,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE,CAC9C,IAAA,yBAAiB,EACf,GAAG,EACH,EAAE,UAAU,EAAE,qCAAqB,EAAE,UAAU,EAAE,qCAAqB,EAAE,EACxE,wCAAgC,CAAC,UAAU,CAC5C,CAAC;AALS,QAAA,gBAAgB,oBAKzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/cardano-services",
3
- "version": "0.11.0-nightly.1",
3
+ "version": "0.11.0-nightly.10",
4
4
  "description": "Cardano GraphQL Services",
5
5
  "engines": {
6
6
  "node": ">=14.20.1"
@@ -38,26 +38,29 @@
38
38
  "build:cjs": "tsc --build src && shx chmod +x ./dist/cjs/cli.js",
39
39
  "build:copy-assets": "bash ./copy-assets.sh",
40
40
  "build": "run-s build:cjs build:copy-assets",
41
- "build:test-db": "./test/jest-setup/rebuild-test-db.sh $(cat ./placeholder-secrets/postgres_user) $(cat ./placeholder-secrets/postgres_db)",
41
+ "build:test-db": "./test/jest-setup/rebuild-test-db.sh",
42
42
  "cleanup:dist": "shx rm -rf dist",
43
43
  "cleanup:nm": "shx rm -rf node_modules",
44
44
  "cleanup": "run-s cleanup:dist cleanup:nm",
45
45
  "cli": "ts-node --transpile-only src/cli.ts",
46
+ "compose:up": "DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 docker compose -p cardano-services-$NETWORK -f docker-compose.yml -f ../../compose/common.yml -f ../../compose/pg-agent.yml $FILES up",
47
+ "compose:down": "docker compose -p cardano-services-$NETWORK -f docker-compose.yml -f ../../compose/common.yml -f ../../compose/pg-agent.yml down -t 120",
46
48
  "coverage": "yarn test --coverage",
47
- "circular-deps:check": "madge --circular dist",
49
+ "circular-deps:check": "madge --circular dist/cjs",
48
50
  "lint": "eslint -c ../../complete.eslintrc.js \"src/**/*.ts\" \"test/**/*.ts\"",
49
51
  "lint:fix": "yarn lint --fix",
50
- "mainnet:dev": "DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 docker compose -p cardano-services-mainnet -f docker-compose.yml -f docker-compose-dev.yml up",
51
- "mainnet:up": "DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 docker compose -p cardano-services-mainnet up",
52
- "mainnet:down": "docker compose -p cardano-services-mainnet down -t 30",
52
+ "generate-migration": "typeorm-ts-node-commonjs migration:generate src/Projection/migrations/migrations -d src/migrationDataSource.ts",
53
+ "mainnet:dev": "NETWORK=mainnet FILES='-f ../../compose/dev.yml -f dev.yml' yarn compose:up",
54
+ "mainnet:up": "NETWORK=mainnet FILES='' yarn compose:up",
55
+ "mainnet:down": "NETWORK=mainnet yarn compose:down",
53
56
  "prepack": "yarn build",
54
- "preprod:dev": "DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 OGMIOS_PORT=${OGMIOS_PORT:-1339} NETWORK=preprod docker compose -p cardano-services-preprod -f docker-compose.yml -f docker-compose-dev.yml up",
55
- "preprod:up": "DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 OGMIOS_PORT=${OGMIOS_PORT:-1339} NETWORK=preprod docker compose -p cardano-services-preprod up",
56
- "preprod:down": "docker compose -p cardano-services-preprod down",
57
+ "preprod:dev": "NETWORK=preprod OGMIOS_PORT=${OGMIOS_PORT:-1339} FILES='-f ../../compose/dev.yml -f dev.yml' yarn compose:up",
58
+ "preprod:up": "NETWORK=preprod OGMIOS_PORT=${OGMIOS_PORT:-1339} FILES='' yarn compose:up",
59
+ "preprod:down": "NETWORK=preprod yarn compose:down",
57
60
  "pretest": "yarn build",
58
- "preview:dev": "DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 OGMIOS_PORT=${OGMIOS_PORT:-1340} NETWORK=preview docker compose -p cardano-services-preview -f docker-compose.yml -f docker-compose-dev.yml up",
59
- "preview:up": "DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 OGMIOS_PORT=${OGMIOS_PORT:-1340} NETWORK=preview docker compose -p cardano-services-preview up",
60
- "preview:down": "docker compose -p cardano-services-preview down",
61
+ "preview:dev": "NETWORK=preview OGMIOS_PORT=${OGMIOS_PORT:-1340} FILES='-f ../../compose/dev.yml -f dev.yml' yarn compose:up",
62
+ "preview:up": "NETWORK=preview OGMIOS_PORT=${OGMIOS_PORT:-1340} FILES='' yarn compose:up",
63
+ "preview:down": "NETWORK=preview yarn compose:down",
61
64
  "test": "jest --runInBand -c ./jest.config.js",
62
65
  "test:build:verify": "tsc --build ./test",
63
66
  "test:debug": "DEBUG=true yarn test",
@@ -67,10 +70,11 @@
67
70
  },
68
71
  "devDependencies": {
69
72
  "@cardano-ogmios/client": "5.6.0",
70
- "@cardano-sdk/cardano-services-client": "^0.8.1-nightly.1",
71
- "@cardano-sdk/util-dev": "^0.8.1-nightly.1",
73
+ "@cardano-sdk/cardano-services-client": "^0.9.0-nightly.3",
74
+ "@cardano-sdk/util-dev": "^0.9.0-nightly.2",
72
75
  "@types/amqplib": "^0.8.2",
73
76
  "@types/bunyan": "^1.8.8",
77
+ "@types/cors": "^2.8.13",
74
78
  "@types/death": "^1.1.2",
75
79
  "@types/dockerode": "^3.3.8",
76
80
  "@types/express": "^4.17.13",
@@ -88,7 +92,6 @@
88
92
  "json-bigint-patch": "^0.0.8",
89
93
  "madge": "^5.0.1",
90
94
  "npm-run-all": "^4.1.5",
91
- "pg-connection-string": "^2.5.0",
92
95
  "shx": "^0.3.3",
93
96
  "ts-jest": "^28.0.7",
94
97
  "ts-node": "^10.0.0",
@@ -97,16 +100,21 @@
97
100
  },
98
101
  "dependencies": {
99
102
  "@blockfrost/blockfrost-js": "^5.2.0",
100
- "@cardano-sdk/core": "^0.11.0-nightly.1",
101
- "@cardano-sdk/crypto": "^0.1.4-nightly.0",
102
- "@cardano-sdk/ogmios": "^0.11.0-nightly.1",
103
- "@cardano-sdk/util": "^0.8.3-nightly.0",
103
+ "@cardano-sdk/core": "^0.11.0-nightly.9",
104
+ "@cardano-sdk/crypto": "^0.1.4-nightly.4",
105
+ "@cardano-sdk/ogmios": "^0.11.0-nightly.10",
106
+ "@cardano-sdk/projection": "^0.6.0-nightly.7",
107
+ "@cardano-sdk/projection-typeorm": "^0.2.0-nightly.7",
108
+ "@cardano-sdk/util": "^0.9.0-nightly.3",
109
+ "@cardano-sdk/util-rxjs": "^0.4.7-nightly.6",
110
+ "@hapi/topo": "^6.0.2",
104
111
  "amqplib": "^0.10.0",
105
112
  "axios": "^0.27.2",
106
113
  "bignumber.js": "^9.1.0",
107
114
  "body-parser": "^1.19.2",
108
115
  "bunyan": "^1.8.15",
109
116
  "commander": "^9.1.0",
117
+ "cors": "^2.8.5",
110
118
  "death": "^1.1.0",
111
119
  "debug": "^4.3.4",
112
120
  "dotenv": "^16.0.0",
@@ -121,10 +129,13 @@
121
129
  "node-cache": "^5.1.2",
122
130
  "p-retry": "^4.2.0",
123
131
  "pg": "^8.7.3",
132
+ "pg-connection-string": "^2.5.0",
124
133
  "prom-client": "^14.0.1",
125
134
  "reflect-metadata": "~0.1.13",
135
+ "rxjs": "^7.4.0",
126
136
  "ts-custom-error": "^3.2.0",
127
- "ts-log": "^2.2.4"
137
+ "ts-log": "^2.2.4",
138
+ "typeorm": "^0.3.15"
128
139
  },
129
140
  "files": [
130
141
  "dist/*",
@@ -132,5 +143,5 @@
132
143
  "LICENSE",
133
144
  "NOTICE"
134
145
  ],
135
- "gitHead": "b815917bf5970beec31ab4d6ec8bc03ac017d5ab"
146
+ "gitHead": "2c74f3fb8c43ab36178ca9912da815c17070c8bd"
136
147
  }
@@ -1,5 +0,0 @@
1
- import { Logger } from 'ts-log';
2
- import { StakePoolExtMetadataService } from '../types';
3
- import { AxiosInstance } from 'axios';
4
- export declare const createHttpStakePoolExtMetadataService: (logger: Logger, axiosClient?: AxiosInstance) => StakePoolExtMetadataService;
5
- //# sourceMappingURL=HttpStakePoolExtMetadataService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpStakePoolExtMetadataService.d.ts","sourceRoot":"","sources":["../../../../src/StakePool/HttpStakePoolMetadata/HttpStakePoolExtMetadataService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAgC,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAIrF,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK7C,eAAO,MAAM,qCAAqC,WACxC,MAAM,gBACD,aAAa,KAIzB,2BAmCD,CAAC"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createHttpStakePoolExtMetadataService = void 0;
7
- const core_1 = require("@cardano-sdk/core");
8
- const jsonschema_1 = require("jsonschema");
9
- const util_1 = require("./util");
10
- const mappers_1 = require("./mappers");
11
- const axios_1 = __importDefault(require("axios"));
12
- const HTTP_CLIENT_TIMEOUT = 1 * 1000;
13
- const HTTP_CLIENT_MAX_CONTENT_LENGTH = 5000;
14
- const createHttpStakePoolExtMetadataService = (logger, axiosClient = axios_1.default.create({
15
- maxContentLength: HTTP_CLIENT_MAX_CONTENT_LENGTH,
16
- timeout: HTTP_CLIENT_TIMEOUT
17
- })) => ({
18
- async getStakePoolExtendedMetadata(metadata) {
19
- const url = (0, util_1.getExtMetadataUrl)(metadata);
20
- try {
21
- logger.debug('About to fetch stake pool extended metadata');
22
- const { data } = await axiosClient.get(url);
23
- const schema = (0, util_1.loadJsonSchema)((0, util_1.getSchemaFormat)(metadata));
24
- (0, jsonschema_1.validate)(data, schema, { throwError: true });
25
- return (0, mappers_1.mapToExtendedMetadata)(data);
26
- }
27
- catch (error) {
28
- if (axios_1.default.isAxiosError(error)) {
29
- if (error.response?.status === 404) {
30
- throw new core_1.ProviderError(core_1.ProviderFailure.NotFound, error, `StakePoolExtMetadataService failed to fetch extended metadata from ${url} due to resource not found`);
31
- }
32
- throw new core_1.ProviderError(core_1.ProviderFailure.ConnectionFailure, error, `StakePoolExtMetadataService failed to fetch extended metadata from ${url} due to connection error`);
33
- }
34
- if (error instanceof jsonschema_1.ValidationError) {
35
- throw new core_1.ProviderError(core_1.ProviderFailure.InvalidResponse, error, 'Extended metadata JSON format validation failed against the corresponding schema for correctness');
36
- }
37
- throw error;
38
- }
39
- }
40
- });
41
- exports.createHttpStakePoolExtMetadataService = createHttpStakePoolExtMetadataService;
42
- //# sourceMappingURL=HttpStakePoolExtMetadataService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpStakePoolExtMetadataService.js","sourceRoot":"","sources":["../../../../src/StakePool/HttpStakePoolMetadata/HttpStakePoolExtMetadataService.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA4E;AAG5E,2CAAuD;AACvD,iCAA4E;AAC5E,uCAAkD;AAClD,kDAA6C;AAE7C,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC;AACrC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAErC,MAAM,qCAAqC,GAAG,CACnD,MAAc,EACd,cAA6B,eAAK,CAAC,MAAM,CAAC;IACxC,gBAAgB,EAAE,8BAA8B;IAChD,OAAO,EAAE,mBAAmB;CAC7B,CAAC,EAC2B,EAAE,CAAC,CAAC;IACjC,KAAK,CAAC,4BAA4B,CAAC,QAAmC;QACpE,MAAM,GAAG,GAAG,IAAA,wBAAiB,EAAC,QAAQ,CAAC,CAAC;QACxC,IAAI;YACF,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CAA+B,GAAG,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,IAAA,qBAAc,EAAC,IAAA,sBAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,IAAA,qBAAQ,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,OAAO,IAAA,+BAAqB,EAAC,IAAI,CAAC,CAAC;SACpC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE;oBAClC,MAAM,IAAI,oBAAa,CACrB,sBAAe,CAAC,QAAQ,EACxB,KAAK,EACL,sEAAsE,GAAG,4BAA4B,CACtG,CAAC;iBACH;gBAED,MAAM,IAAI,oBAAa,CACrB,sBAAe,CAAC,iBAAiB,EACjC,KAAK,EACL,sEAAsE,GAAG,0BAA0B,CACpG,CAAC;aACH;YACD,IAAI,KAAK,YAAY,4BAAe,EAAE;gBACpC,MAAM,IAAI,oBAAa,CACrB,sBAAe,CAAC,eAAe,EAC/B,KAAK,EACL,kGAAkG,CACnG,CAAC;aACH;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC;CACF,CAAC,CAAC;AAzCU,QAAA,qCAAqC,yCAyC/C"}