@cardano-sdk/cardano-services 0.9.0-nightly.1 → 0.9.0

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 (141) hide show
  1. package/dist/cjs/Asset/AssetHttpService.js +2 -2
  2. package/dist/cjs/Asset/AssetHttpService.js.map +1 -1
  3. package/dist/cjs/Asset/CardanoTokenRegistry.d.ts.map +1 -1
  4. package/dist/cjs/Asset/CardanoTokenRegistry.js +3 -4
  5. package/dist/cjs/Asset/CardanoTokenRegistry.js.map +1 -1
  6. package/dist/cjs/ChainHistory/ChainHistoryHttpService.js +2 -2
  7. package/dist/cjs/ChainHistory/ChainHistoryHttpService.js.map +1 -1
  8. package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js +6 -6
  9. package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js.map +1 -1
  10. package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js +2 -2
  11. package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js.map +1 -1
  12. package/dist/cjs/Metadata/DbSyncMetadataService.js +1 -1
  13. package/dist/cjs/Metadata/DbSyncMetadataService.js.map +1 -1
  14. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/DbSyncNetworkInfoProvider.js +2 -2
  15. package/dist/cjs/NetworkInfo/DbSyncNetworkInfoProvider/DbSyncNetworkInfoProvider.js.map +1 -1
  16. package/dist/cjs/NetworkInfo/NetworkInfoHttpService.js +2 -2
  17. package/dist/cjs/NetworkInfo/NetworkInfoHttpService.js.map +1 -1
  18. package/dist/cjs/Program/errors/MissingCardanoNodeOption.d.ts +2 -2
  19. package/dist/cjs/Program/errors/MissingCardanoNodeOption.d.ts.map +1 -1
  20. package/dist/cjs/Program/errors/MissingCardanoNodeOption.js +1 -1
  21. package/dist/cjs/Program/errors/MissingCardanoNodeOption.js.map +1 -1
  22. package/dist/cjs/Program/errors/MissingProgramOption.d.ts +2 -4
  23. package/dist/cjs/Program/errors/MissingProgramOption.d.ts.map +1 -1
  24. package/dist/cjs/Program/errors/MissingProgramOption.js +1 -1
  25. package/dist/cjs/Program/errors/MissingProgramOption.js.map +1 -1
  26. package/dist/cjs/Program/errors/MissingServiceDependency.d.ts +1 -2
  27. package/dist/cjs/Program/errors/MissingServiceDependency.d.ts.map +1 -1
  28. package/dist/cjs/Program/errors/MissingServiceDependency.js.map +1 -1
  29. package/dist/cjs/Program/errors/UnknownServiceName.d.ts +2 -2
  30. package/dist/cjs/Program/errors/UnknownServiceName.d.ts.map +1 -1
  31. package/dist/cjs/Program/errors/UnknownServiceName.js +2 -3
  32. package/dist/cjs/Program/errors/UnknownServiceName.js.map +1 -1
  33. package/dist/cjs/Program/index.d.ts +1 -6
  34. package/dist/cjs/Program/index.d.ts.map +1 -1
  35. package/dist/cjs/Program/index.js +1 -6
  36. package/dist/cjs/Program/index.js.map +1 -1
  37. package/dist/cjs/Program/options/common.d.ts +26 -0
  38. package/dist/cjs/Program/options/common.d.ts.map +1 -0
  39. package/dist/cjs/Program/options/common.js +51 -0
  40. package/dist/cjs/Program/options/common.js.map +1 -0
  41. package/dist/cjs/Program/options/index.d.ts +5 -0
  42. package/dist/cjs/Program/options/index.d.ts.map +1 -0
  43. package/dist/cjs/Program/options/index.js +21 -0
  44. package/dist/cjs/Program/options/index.js.map +1 -0
  45. package/dist/cjs/Program/options/ogmios.d.ts +13 -0
  46. package/dist/cjs/Program/options/ogmios.d.ts.map +1 -0
  47. package/dist/cjs/Program/options/ogmios.js +24 -0
  48. package/dist/cjs/Program/options/ogmios.js.map +1 -0
  49. package/dist/cjs/Program/options/postgres.d.ts +30 -0
  50. package/dist/cjs/Program/options/postgres.d.ts.map +1 -0
  51. package/dist/cjs/Program/options/postgres.js +59 -0
  52. package/dist/cjs/Program/options/postgres.js.map +1 -0
  53. package/dist/cjs/Program/options/rabbitMq.d.ts +13 -0
  54. package/dist/cjs/Program/options/rabbitMq.d.ts.map +1 -0
  55. package/dist/cjs/Program/options/rabbitMq.js +20 -0
  56. package/dist/cjs/Program/options/rabbitMq.js.map +1 -0
  57. package/dist/cjs/Program/programs/httpServer.d.ts +45 -0
  58. package/dist/cjs/Program/programs/httpServer.d.ts.map +1 -0
  59. package/dist/cjs/Program/programs/httpServer.js +173 -0
  60. package/dist/cjs/Program/programs/httpServer.js.map +1 -0
  61. package/dist/cjs/Program/{programs.d.ts → programs/index.d.ts} +3 -1
  62. package/dist/cjs/Program/programs/index.d.ts.map +1 -0
  63. package/dist/cjs/Program/programs/index.js +25 -0
  64. package/dist/cjs/Program/programs/index.js.map +1 -0
  65. package/dist/cjs/Program/programs/txWorker.d.ts +15 -0
  66. package/dist/cjs/Program/programs/txWorker.d.ts.map +1 -0
  67. package/dist/cjs/Program/programs/txWorker.js +29 -0
  68. package/dist/cjs/Program/programs/txWorker.js.map +1 -0
  69. package/dist/cjs/Program/services/ogmios.d.ts +3 -3
  70. package/dist/cjs/Program/services/ogmios.d.ts.map +1 -1
  71. package/dist/cjs/Program/services/ogmios.js +3 -9
  72. package/dist/cjs/Program/services/ogmios.js.map +1 -1
  73. package/dist/cjs/Program/services/postgres.d.ts +4 -2
  74. package/dist/cjs/Program/services/postgres.d.ts.map +1 -1
  75. package/dist/cjs/Program/services/postgres.js +17 -1
  76. package/dist/cjs/Program/services/postgres.js.map +1 -1
  77. package/dist/cjs/Program/services/rabbitmq.d.ts +7 -5
  78. package/dist/cjs/Program/services/rabbitmq.d.ts.map +1 -1
  79. package/dist/cjs/Program/services/rabbitmq.js +21 -20
  80. package/dist/cjs/Program/services/rabbitmq.js.map +1 -1
  81. package/dist/cjs/Program/utils.d.ts +4 -6
  82. package/dist/cjs/Program/utils.d.ts.map +1 -1
  83. package/dist/cjs/Program/utils.js +12 -15
  84. package/dist/cjs/Program/utils.js.map +1 -1
  85. package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewardsProvider.js +1 -1
  86. package/dist/cjs/Rewards/DbSyncRewardProvider/DbSyncRewardsProvider.js.map +1 -1
  87. package/dist/cjs/Rewards/DbSyncRewardProvider/RewardsBuilder.d.ts.map +1 -1
  88. package/dist/cjs/Rewards/DbSyncRewardProvider/RewardsBuilder.js +3 -5
  89. package/dist/cjs/Rewards/DbSyncRewardProvider/RewardsBuilder.js.map +1 -1
  90. package/dist/cjs/Rewards/RewardsHttpService.js +2 -2
  91. package/dist/cjs/Rewards/RewardsHttpService.js.map +1 -1
  92. package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.js +2 -2
  93. package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.js.map +1 -1
  94. package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.js +1 -1
  95. package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.js.map +1 -1
  96. package/dist/cjs/StakePool/StakePoolHttpService.js +2 -2
  97. package/dist/cjs/StakePool/StakePoolHttpService.js.map +1 -1
  98. package/dist/cjs/StakePool/openApi.json +75 -1
  99. package/dist/cjs/TxSubmit/TxSubmitHttpService.js +2 -2
  100. package/dist/cjs/TxSubmit/TxSubmitHttpService.js.map +1 -1
  101. package/dist/cjs/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.js +1 -1
  102. package/dist/cjs/TxSubmit/rabbitmq/RabbitMqTxSubmitProvider.js.map +1 -1
  103. package/dist/cjs/TxSubmit/rabbitmq/TxSubmitWorker.js +1 -1
  104. package/dist/cjs/TxSubmit/rabbitmq/TxSubmitWorker.js.map +1 -1
  105. package/dist/cjs/Utxo/DbSyncUtxoProvider/UtxoBuilder.d.ts.map +1 -1
  106. package/dist/cjs/Utxo/DbSyncUtxoProvider/UtxoBuilder.js +2 -3
  107. package/dist/cjs/Utxo/DbSyncUtxoProvider/UtxoBuilder.js.map +1 -1
  108. package/dist/cjs/Utxo/UtxoHttpService.js +2 -2
  109. package/dist/cjs/Utxo/UtxoHttpService.js.map +1 -1
  110. package/dist/cjs/cli.js +25 -121
  111. package/dist/cjs/cli.js.map +1 -1
  112. package/dist/cjs/original-package.json +8 -10
  113. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  114. package/dist/cjs/util/polling/DbSyncEpochPollService.js +1 -1
  115. package/dist/cjs/util/polling/DbSyncEpochPollService.js.map +1 -1
  116. package/dist/cjs/util/validators.js +1 -1
  117. package/dist/cjs/util/validators.js.map +1 -1
  118. package/package.json +8 -10
  119. package/dist/cjs/Program/Options.d.ts +0 -84
  120. package/dist/cjs/Program/Options.d.ts.map +0 -1
  121. package/dist/cjs/Program/Options.js +0 -51
  122. package/dist/cjs/Program/Options.js.map +0 -1
  123. package/dist/cjs/Program/ServiceNames.d.ts +0 -10
  124. package/dist/cjs/Program/ServiceNames.d.ts.map +0 -1
  125. package/dist/cjs/Program/ServiceNames.js +0 -14
  126. package/dist/cjs/Program/ServiceNames.js.map +0 -1
  127. package/dist/cjs/Program/defaults.d.ts +0 -10
  128. package/dist/cjs/Program/defaults.d.ts.map +0 -1
  129. package/dist/cjs/Program/defaults.js +0 -17
  130. package/dist/cjs/Program/defaults.js.map +0 -1
  131. package/dist/cjs/Program/loadHttpServer.d.ts +0 -40
  132. package/dist/cjs/Program/loadHttpServer.d.ts.map +0 -1
  133. package/dist/cjs/Program/loadHttpServer.js +0 -145
  134. package/dist/cjs/Program/loadHttpServer.js.map +0 -1
  135. package/dist/cjs/Program/loadTxWorker.d.ts +0 -9
  136. package/dist/cjs/Program/loadTxWorker.d.ts.map +0 -1
  137. package/dist/cjs/Program/loadTxWorker.js +0 -19
  138. package/dist/cjs/Program/loadTxWorker.js.map +0 -1
  139. package/dist/cjs/Program/programs.d.ts.map +0 -1
  140. package/dist/cjs/Program/programs.js +0 -9
  141. package/dist/cjs/Program/programs.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./common"), exports);
18
+ __exportStar(require("./ogmios"), exports);
19
+ __exportStar(require("./postgres"), exports);
20
+ __exportStar(require("./rabbitMq"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Program/options/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ import { Command } from 'commander';
3
+ import { URL } from 'url';
4
+ export declare enum OgmiosOptionDescriptions {
5
+ SrvServiceName = "Ogmios SRV service name",
6
+ Url = "Ogmios URL"
7
+ }
8
+ export interface OgmiosProgramOptions {
9
+ ogmiosUrl?: URL;
10
+ ogmiosSrvServiceName?: string;
11
+ }
12
+ export declare const withOgmiosOptions: (command: Command) => Command;
13
+ //# sourceMappingURL=ogmios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ogmios.d.ts","sourceRoot":"","sources":["../../../../src/Program/options/ogmios.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAO1B,oBAAY,wBAAwB;IAClC,cAAc,4BAA4B;IAC1C,GAAG,eAAe;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,iBAAiB,YAAa,OAAO,YAa7C,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withOgmiosOptions = exports.OgmiosOptionDescriptions = void 0;
4
+ const commander_1 = require("commander");
5
+ const ogmios_1 = require("@cardano-sdk/ogmios");
6
+ const url_1 = require("url");
7
+ const OGMIOS_URL_DEFAULT = (() => {
8
+ const connection = ogmios_1.Ogmios.createConnectionObject();
9
+ return connection.address.webSocket;
10
+ })();
11
+ var OgmiosOptionDescriptions;
12
+ (function (OgmiosOptionDescriptions) {
13
+ OgmiosOptionDescriptions["SrvServiceName"] = "Ogmios SRV service name";
14
+ OgmiosOptionDescriptions["Url"] = "Ogmios URL";
15
+ })(OgmiosOptionDescriptions = exports.OgmiosOptionDescriptions || (exports.OgmiosOptionDescriptions = {}));
16
+ const withOgmiosOptions = (command) => command
17
+ .addOption(new commander_1.Option('--ogmios-srv-service-name <ogmiosSrvServiceName>', OgmiosOptionDescriptions.SrvServiceName).env('OGMIOS_SRV_SERVICE_NAME'))
18
+ .addOption(new commander_1.Option('--ogmios-url <ogmiosUrl>', OgmiosOptionDescriptions.Url)
19
+ .env('OGMIOS_URL')
20
+ .default(new url_1.URL(OGMIOS_URL_DEFAULT))
21
+ .conflicts('ogmiosSrvServiceName')
22
+ .argParser((url) => new url_1.URL(url)));
23
+ exports.withOgmiosOptions = withOgmiosOptions;
24
+ //# sourceMappingURL=ogmios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ogmios.js","sourceRoot":"","sources":["../../../../src/Program/options/ogmios.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,gDAA6C;AAC7C,6BAA0B;AAE1B,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE;IAC/B,MAAM,UAAU,GAAG,eAAM,CAAC,sBAAsB,EAAE,CAAC;IACnD,OAAO,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;AACtC,CAAC,CAAC,EAAE,CAAC;AAEL,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,sEAA0C,CAAA;IAC1C,8CAAkB,CAAA;AACpB,CAAC,EAHW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAGnC;AAOM,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACpD,OAAO;KACJ,SAAS,CACR,IAAI,kBAAM,CAAC,kDAAkD,EAAE,wBAAwB,CAAC,cAAc,CAAC,CAAC,GAAG,CACzG,yBAAyB,CAC1B,CACF;KACA,SAAS,CACR,IAAI,kBAAM,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,GAAG,CAAC;KACjE,GAAG,CAAC,YAAY,CAAC;KACjB,OAAO,CAAC,IAAI,SAAG,CAAC,kBAAkB,CAAC,CAAC;KACpC,SAAS,CAAC,sBAAsB,CAAC;KACjC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC,CACpC,CAAC;AAbO,QAAA,iBAAiB,qBAaxB"}
@@ -0,0 +1,30 @@
1
+ import { Command } from 'commander';
2
+ export declare enum PostgresOptionDescriptions {
3
+ ConnectionString = "PostgreSQL Connection string",
4
+ SrvServiceName = "PostgreSQL SRV service name when using service discovery",
5
+ Db = "PostgreSQL database name",
6
+ DbFile = "PostgreSQL database name file path",
7
+ User = "PostgreSQL user",
8
+ UserFile = "PostgreSQL user file path",
9
+ Password = "PostgreSQL password",
10
+ PasswordFile = "PostgreSQL password file path",
11
+ SslCaFile = "PostgreSQL SSL CA file path",
12
+ Host = "PostgreSQL host",
13
+ Port = "PostgreSQL port",
14
+ ServiceDiscoveryArgs = "Postgres SRV service name, db, user and password"
15
+ }
16
+ export interface PosgresProgramOptions {
17
+ postgresConnectionString?: string;
18
+ postgresSrvServiceName?: string;
19
+ postgresDb?: string;
20
+ postgresDbFile?: string;
21
+ postgresUser?: string;
22
+ postgresUserFile?: string;
23
+ postgresPassword?: string;
24
+ postgresPasswordFile?: string;
25
+ postgresHost?: string;
26
+ postgresPort?: string;
27
+ postgresSslCaFile?: string;
28
+ }
29
+ export declare const withPostgresOptions: (command: Command) => Command;
30
+ //# sourceMappingURL=postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../../src/Program/options/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAG5C,oBAAY,0BAA0B;IACpC,gBAAgB,iCAAiC;IACjD,cAAc,6DAA6D;IAC3E,EAAE,6BAA6B;IAC/B,MAAM,uCAAuC;IAC7C,IAAI,oBAAoB;IACxB,QAAQ,8BAA8B;IACtC,QAAQ,wBAAwB;IAChC,YAAY,kCAAkC;IAC9C,SAAS,gCAAgC;IACzC,IAAI,oBAAoB;IACxB,IAAI,oBAAoB;IACxB,oBAAoB,qDAAqD;CAC1E;AAED,MAAM,WAAW,qBAAqB;IACpC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,mBAAmB,YAAa,OAAO,YAyD/C,CAAC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withPostgresOptions = exports.PostgresOptionDescriptions = void 0;
4
+ const commander_1 = require("commander");
5
+ const validators_1 = require("../../util/validators");
6
+ var PostgresOptionDescriptions;
7
+ (function (PostgresOptionDescriptions) {
8
+ PostgresOptionDescriptions["ConnectionString"] = "PostgreSQL Connection string";
9
+ PostgresOptionDescriptions["SrvServiceName"] = "PostgreSQL SRV service name when using service discovery";
10
+ PostgresOptionDescriptions["Db"] = "PostgreSQL database name";
11
+ PostgresOptionDescriptions["DbFile"] = "PostgreSQL database name file path";
12
+ PostgresOptionDescriptions["User"] = "PostgreSQL user";
13
+ PostgresOptionDescriptions["UserFile"] = "PostgreSQL user file path";
14
+ PostgresOptionDescriptions["Password"] = "PostgreSQL password";
15
+ PostgresOptionDescriptions["PasswordFile"] = "PostgreSQL password file path";
16
+ PostgresOptionDescriptions["SslCaFile"] = "PostgreSQL SSL CA file path";
17
+ PostgresOptionDescriptions["Host"] = "PostgreSQL host";
18
+ PostgresOptionDescriptions["Port"] = "PostgreSQL port";
19
+ PostgresOptionDescriptions["ServiceDiscoveryArgs"] = "Postgres SRV service name, db, user and password";
20
+ })(PostgresOptionDescriptions = exports.PostgresOptionDescriptions || (exports.PostgresOptionDescriptions = {}));
21
+ const withPostgresOptions = (command) => command
22
+ .addOption(new commander_1.Option('--postgres-connection-string <postgresConnectionString>', PostgresOptionDescriptions.ConnectionString)
23
+ .env('POSTGRES_CONNECTION_STRING')
24
+ .conflicts('postgresSrvServiceName')
25
+ .conflicts('postgresDb')
26
+ .conflicts('postgresDbFile')
27
+ .conflicts('postgresUser')
28
+ .conflicts('postgresUserFile')
29
+ .conflicts('postgresPassword')
30
+ .conflicts('postgresPasswordFile')
31
+ .conflicts('postgresHost')
32
+ .conflicts('postgresPort'))
33
+ .addOption(new commander_1.Option('--postgres-srv-service-name <postgresSrvServiceName>', PostgresOptionDescriptions.SrvServiceName)
34
+ .env('POSTGRES_SRV_SERVICE_NAME')
35
+ .conflicts('postgresHost')
36
+ .conflicts('postgresPort'))
37
+ .addOption(new commander_1.Option('--postgres-db <postgresDb>', PostgresOptionDescriptions.Db)
38
+ .env('POSTGRES_DB')
39
+ .conflicts('postgresDbFile'))
40
+ .addOption(new commander_1.Option('--postgres-db-file <postgresDbFile>', PostgresOptionDescriptions.DbFile)
41
+ .env('POSTGRES_DB_FILE')
42
+ .argParser(validators_1.existingFileValidator))
43
+ .addOption(new commander_1.Option('--postgres-user <postgresUser>', PostgresOptionDescriptions.User)
44
+ .env('POSTGRES_USER')
45
+ .conflicts('postgresUserFile'))
46
+ .addOption(new commander_1.Option('--postgres-user-file <postgresUserFile>', PostgresOptionDescriptions.UserFile)
47
+ .env('POSTGRES_USER_FILE')
48
+ .argParser(validators_1.existingFileValidator))
49
+ .addOption(new commander_1.Option('--postgres-password <postgresPassword>', PostgresOptionDescriptions.Password)
50
+ .env('POSTGRES_PASSWORD')
51
+ .conflicts('postgresPasswordFile'))
52
+ .addOption(new commander_1.Option('--postgres-password-file <postgresPasswordFile>', PostgresOptionDescriptions.PasswordFile)
53
+ .env('POSTGRES_PASSWORD_FILE')
54
+ .argParser(validators_1.existingFileValidator))
55
+ .addOption(new commander_1.Option('--postgres-host <postgresHost>', PostgresOptionDescriptions.Host).env('POSTGRES_HOST'))
56
+ .addOption(new commander_1.Option('--postgres-port <postgresPort>', PostgresOptionDescriptions.Port).env('POSTGRES_PORT'))
57
+ .addOption(new commander_1.Option('--postgres-ssl-ca-file <postgresSslCaFile>', PostgresOptionDescriptions.SslCaFile).env('POSTGRES_SSL_CA_FILE'));
58
+ exports.withPostgresOptions = withPostgresOptions;
59
+ //# sourceMappingURL=postgres.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../../src/Program/options/postgres.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,sDAA8D;AAE9D,IAAY,0BAaX;AAbD,WAAY,0BAA0B;IACpC,+EAAiD,CAAA;IACjD,yGAA2E,CAAA;IAC3E,6DAA+B,CAAA;IAC/B,2EAA6C,CAAA;IAC7C,sDAAwB,CAAA;IACxB,oEAAsC,CAAA;IACtC,8DAAgC,CAAA;IAChC,4EAA8C,CAAA;IAC9C,uEAAyC,CAAA;IACzC,sDAAwB,CAAA;IACxB,sDAAwB,CAAA;IACxB,uGAAyE,CAAA;AAC3E,CAAC,EAbW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAarC;AAgBM,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACtD,OAAO;KACJ,SAAS,CACR,IAAI,kBAAM,CAAC,yDAAyD,EAAE,0BAA0B,CAAC,gBAAgB,CAAC;KAC/G,GAAG,CAAC,4BAA4B,CAAC;KACjC,SAAS,CAAC,wBAAwB,CAAC;KACnC,SAAS,CAAC,YAAY,CAAC;KACvB,SAAS,CAAC,gBAAgB,CAAC;KAC3B,SAAS,CAAC,cAAc,CAAC;KACzB,SAAS,CAAC,kBAAkB,CAAC;KAC7B,SAAS,CAAC,kBAAkB,CAAC;KAC7B,SAAS,CAAC,sBAAsB,CAAC;KACjC,SAAS,CAAC,cAAc,CAAC;KACzB,SAAS,CAAC,cAAc,CAAC,CAC7B;KACA,SAAS,CACR,IAAI,kBAAM,CAAC,sDAAsD,EAAE,0BAA0B,CAAC,cAAc,CAAC;KAC1G,GAAG,CAAC,2BAA2B,CAAC;KAChC,SAAS,CAAC,cAAc,CAAC;KACzB,SAAS,CAAC,cAAc,CAAC,CAC7B;KACA,SAAS,CACR,IAAI,kBAAM,CAAC,4BAA4B,EAAE,0BAA0B,CAAC,EAAE,CAAC;KACpE,GAAG,CAAC,aAAa,CAAC;KAClB,SAAS,CAAC,gBAAgB,CAAC,CAC/B;KACA,SAAS,CACR,IAAI,kBAAM,CAAC,qCAAqC,EAAE,0BAA0B,CAAC,MAAM,CAAC;KACjF,GAAG,CAAC,kBAAkB,CAAC;KACvB,SAAS,CAAC,kCAAqB,CAAC,CACpC;KACA,SAAS,CACR,IAAI,kBAAM,CAAC,gCAAgC,EAAE,0BAA0B,CAAC,IAAI,CAAC;KAC1E,GAAG,CAAC,eAAe,CAAC;KACpB,SAAS,CAAC,kBAAkB,CAAC,CACjC;KACA,SAAS,CACR,IAAI,kBAAM,CAAC,yCAAyC,EAAE,0BAA0B,CAAC,QAAQ,CAAC;KACvF,GAAG,CAAC,oBAAoB,CAAC;KACzB,SAAS,CAAC,kCAAqB,CAAC,CACpC;KACA,SAAS,CACR,IAAI,kBAAM,CAAC,wCAAwC,EAAE,0BAA0B,CAAC,QAAQ,CAAC;KACtF,GAAG,CAAC,mBAAmB,CAAC;KACxB,SAAS,CAAC,sBAAsB,CAAC,CACrC;KACA,SAAS,CACR,IAAI,kBAAM,CAAC,iDAAiD,EAAE,0BAA0B,CAAC,YAAY,CAAC;KACnG,GAAG,CAAC,wBAAwB,CAAC;KAC7B,SAAS,CAAC,kCAAqB,CAAC,CACpC;KACA,SAAS,CAAC,IAAI,kBAAM,CAAC,gCAAgC,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAC7G,SAAS,CAAC,IAAI,kBAAM,CAAC,gCAAgC,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAC7G,SAAS,CACR,IAAI,kBAAM,CAAC,4CAA4C,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC,GAAG,CAChG,sBAAsB,CACvB,CACF,CAAC;AAzDO,QAAA,mBAAmB,uBAyD1B"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ import { Command } from 'commander';
3
+ import { URL } from 'url';
4
+ export declare enum RabbitMqOptionDescriptions {
5
+ SrvServiceName = "RabbitMQ SRV service name",
6
+ Url = "RabbitMQ URL"
7
+ }
8
+ export interface RabbitMqProgramOptions {
9
+ rabbitmqUrl?: URL;
10
+ rabbitmqSrvServiceName?: string;
11
+ }
12
+ export declare const withRabbitMqOptions: (command: Command) => Command;
13
+ //# sourceMappingURL=rabbitMq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitMq.d.ts","sourceRoot":"","sources":["../../../../src/Program/options/rabbitMq.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,oBAAY,0BAA0B;IACpC,cAAc,8BAA8B;IAC5C,GAAG,iBAAiB;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,mBAAmB,YAAa,OAAO,YAa/C,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withRabbitMqOptions = exports.RabbitMqOptionDescriptions = void 0;
4
+ const commander_1 = require("commander");
5
+ const url_1 = require("url");
6
+ const RABBITMQ_URL_DEFAULT = 'amqp://localhost:5672';
7
+ var RabbitMqOptionDescriptions;
8
+ (function (RabbitMqOptionDescriptions) {
9
+ RabbitMqOptionDescriptions["SrvServiceName"] = "RabbitMQ SRV service name";
10
+ RabbitMqOptionDescriptions["Url"] = "RabbitMQ URL";
11
+ })(RabbitMqOptionDescriptions = exports.RabbitMqOptionDescriptions || (exports.RabbitMqOptionDescriptions = {}));
12
+ const withRabbitMqOptions = (command) => command
13
+ .addOption(new commander_1.Option('--rabbitmq-srv-service-name <rabbitmqSrvServiceName>', RabbitMqOptionDescriptions.SrvServiceName).env('RABBITMQ_SRV_SERVICE_NAME'))
14
+ .addOption(new commander_1.Option('--rabbitmq-url <rabbitmqUrl>', RabbitMqOptionDescriptions.Url)
15
+ .env('RABBITMQ_URL')
16
+ .default(new url_1.URL(RABBITMQ_URL_DEFAULT))
17
+ .conflicts('rabbitmqSrvServiceName')
18
+ .argParser((url) => new url_1.URL(url)));
19
+ exports.withRabbitMqOptions = withRabbitMqOptions;
20
+ //# sourceMappingURL=rabbitMq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitMq.js","sourceRoot":"","sources":["../../../../src/Program/options/rabbitMq.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,6BAA0B;AAE1B,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAErD,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,0EAA4C,CAAA;IAC5C,kDAAoB,CAAA;AACtB,CAAC,EAHW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAGrC;AAOM,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACtD,OAAO;KACJ,SAAS,CACR,IAAI,kBAAM,CAAC,sDAAsD,EAAE,0BAA0B,CAAC,cAAc,CAAC,CAAC,GAAG,CAC/G,2BAA2B,CAC5B,CACF;KACA,SAAS,CACR,IAAI,kBAAM,CAAC,8BAA8B,EAAE,0BAA0B,CAAC,GAAG,CAAC;KACvE,GAAG,CAAC,cAAc,CAAC;KACnB,OAAO,CAAC,IAAI,SAAG,CAAC,oBAAoB,CAAC,CAAC;KACtC,SAAS,CAAC,wBAAwB,CAAC;KACnC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC,CACpC,CAAC;AAbO,QAAA,mBAAmB,uBAa1B"}
@@ -0,0 +1,45 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { CommonProgramOptions, OgmiosProgramOptions, PosgresProgramOptions, RabbitMqProgramOptions } from '../options';
4
+ import { HttpServer } from '../../Http';
5
+ import { Logger } from 'ts-log';
6
+ import { SrvRecord } from 'dns';
7
+ import { URL } from 'url';
8
+ export declare const HTTP_SERVER_API_URL_DEFAULT: URL;
9
+ export declare const PAGINATION_PAGE_SIZE_LIMIT_DEFAULT = 25;
10
+ export declare const USE_QUEUE_DEFAULT = false;
11
+ export declare enum ServiceNames {
12
+ Asset = "asset",
13
+ StakePool = "stake-pool",
14
+ NetworkInfo = "network-info",
15
+ TxSubmit = "tx-submit",
16
+ Utxo = "utxo",
17
+ ChainHistory = "chain-history",
18
+ Rewards = "rewards"
19
+ }
20
+ export declare const cardanoNodeDependantServices: Set<ServiceNames>;
21
+ export declare enum HttpServerOptionDescriptions {
22
+ CardanoNodeConfigPath = "Cardano node config path",
23
+ DbCacheTtl = "Cache TTL in seconds between 60 and 172800 (two days), an option for database related operations",
24
+ EpochPollInterval = "Epoch poll interval",
25
+ TokenMetadataCacheTtl = "Token Metadata API cache TTL in minutes",
26
+ TokenMetadataServerUrl = "Token Metadata API server URL",
27
+ UseQueue = "Enables RabbitMQ",
28
+ PaginationPageSizeLimit = "Pagination page size limit shared across all providers"
29
+ }
30
+ export declare type HttpServerArgs = CommonProgramOptions & PosgresProgramOptions & OgmiosProgramOptions & RabbitMqProgramOptions & {
31
+ cardanoNodeConfigPath?: string;
32
+ tokenMetadataCacheTTL?: number;
33
+ tokenMetadataServerUrl?: string;
34
+ epochPollInterval: number;
35
+ dbCacheTtl: number;
36
+ useQueue?: boolean;
37
+ paginationPageSizeLimit?: number;
38
+ serviceNames: ServiceNames[];
39
+ };
40
+ export interface LoadHttpServerDependencies {
41
+ dnsResolver?: (serviceName: string) => Promise<SrvRecord>;
42
+ logger?: Logger;
43
+ }
44
+ export declare const loadHttpServer: (args: HttpServerArgs, deps?: LoadHttpServerDependencies) => Promise<HttpServer>;
45
+ //# sourceMappingURL=httpServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../../../../src/Program/programs/httpServer.ts"],"names":[],"mappings":";;AAWA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EAErB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,UAAU,EAAiC,MAAM,YAAY,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAQ1B,eAAO,MAAM,2BAA2B,KAAmC,CAAC;AAC5E,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAMvC,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,SAAS,eAAe;IACxB,WAAW,iBAAiB;IAC5B,QAAQ,cAAc;IACtB,IAAI,SAAS;IACb,YAAY,kBAAkB;IAC9B,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,4BAA4B,mBAOvC,CAAC;AAEH,oBAAY,4BAA4B;IACtC,qBAAqB,6BAA6B;IAClD,UAAU,qGAAqG;IAC/G,iBAAiB,wBAAwB;IACzC,qBAAqB,4CAA4C;IACjE,sBAAsB,kCAAkC;IACxD,QAAQ,qBAAqB;IAC7B,uBAAuB,2DAA2D;CACnF;AAED,oBAAY,cAAc,GAAG,oBAAoB,GAC/C,qBAAqB,GACrB,oBAAoB,GACpB,sBAAsB,GAAG;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B,CAAC;AACJ,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA4GD,eAAO,MAAM,cAAc,SACnB,cAAc,SACd,0BAA0B,KAC/B,QAAQ,UAAU,CA0CpB,CAAC"}
@@ -0,0 +1,173 @@
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.loadHttpServer = exports.HttpServerOptionDescriptions = exports.cardanoNodeDependantServices = exports.ServiceNames = exports.USE_QUEUE_DEFAULT = exports.PAGINATION_PAGE_SIZE_LIMIT_DEFAULT = exports.HTTP_SERVER_API_URL_DEFAULT = void 0;
7
+ const Asset_1 = require("../../Asset");
8
+ const ChainHistory_1 = require("../../ChainHistory");
9
+ const options_1 = require("../options");
10
+ const util_1 = require("../../util");
11
+ const NetworkInfo_1 = require("../../NetworkInfo");
12
+ const Rewards_1 = require("../../Rewards");
13
+ const StakePool_1 = require("../../StakePool");
14
+ const Utxo_1 = require("../../Utxo");
15
+ const utils_1 = require("../utils");
16
+ const Http_1 = require("../../Http");
17
+ const InMemoryCache_1 = require("../../InMemoryCache");
18
+ const errors_1 = require("../errors");
19
+ const TxSubmit_1 = require("../../TxSubmit");
20
+ const url_1 = require("url");
21
+ const Metadata_1 = require("../../Metadata");
22
+ const bunyan_1 = require("bunyan");
23
+ const services_1 = require("../services");
24
+ const util_2 = require("@cardano-sdk/util");
25
+ const memoize_1 = __importDefault(require("lodash/memoize"));
26
+ exports.HTTP_SERVER_API_URL_DEFAULT = new url_1.URL('http://localhost:3000');
27
+ exports.PAGINATION_PAGE_SIZE_LIMIT_DEFAULT = 25;
28
+ exports.USE_QUEUE_DEFAULT = false;
29
+ var ServiceNames;
30
+ (function (ServiceNames) {
31
+ ServiceNames["Asset"] = "asset";
32
+ ServiceNames["StakePool"] = "stake-pool";
33
+ ServiceNames["NetworkInfo"] = "network-info";
34
+ ServiceNames["TxSubmit"] = "tx-submit";
35
+ ServiceNames["Utxo"] = "utxo";
36
+ ServiceNames["ChainHistory"] = "chain-history";
37
+ ServiceNames["Rewards"] = "rewards";
38
+ })(ServiceNames = exports.ServiceNames || (exports.ServiceNames = {}));
39
+ exports.cardanoNodeDependantServices = new Set([
40
+ ServiceNames.NetworkInfo,
41
+ ServiceNames.StakePool,
42
+ ServiceNames.Utxo,
43
+ ServiceNames.Rewards,
44
+ ServiceNames.Asset,
45
+ ServiceNames.ChainHistory
46
+ ]);
47
+ var HttpServerOptionDescriptions;
48
+ (function (HttpServerOptionDescriptions) {
49
+ HttpServerOptionDescriptions["CardanoNodeConfigPath"] = "Cardano node config path";
50
+ HttpServerOptionDescriptions["DbCacheTtl"] = "Cache TTL in seconds between 60 and 172800 (two days), an option for database related operations";
51
+ HttpServerOptionDescriptions["EpochPollInterval"] = "Epoch poll interval";
52
+ HttpServerOptionDescriptions["TokenMetadataCacheTtl"] = "Token Metadata API cache TTL in minutes";
53
+ HttpServerOptionDescriptions["TokenMetadataServerUrl"] = "Token Metadata API server URL";
54
+ HttpServerOptionDescriptions["UseQueue"] = "Enables RabbitMQ";
55
+ HttpServerOptionDescriptions["PaginationPageSizeLimit"] = "Pagination page size limit shared across all providers";
56
+ })(HttpServerOptionDescriptions = exports.HttpServerOptionDescriptions || (exports.HttpServerOptionDescriptions = {}));
57
+ const serviceMapFactory = (options) => {
58
+ const { args, dbConnection, dnsResolver, genesisData, logger, node } = options;
59
+ const withDbSyncProvider = (factory, serviceName) => () => {
60
+ if (!dbConnection)
61
+ throw new errors_1.MissingProgramOption(serviceName, [
62
+ options_1.PostgresOptionDescriptions.ConnectionString,
63
+ options_1.PostgresOptionDescriptions.ServiceDiscoveryArgs
64
+ ]);
65
+ if (!node)
66
+ throw new errors_1.MissingServiceDependency(serviceName, errors_1.RunnableDependencies.CardanoNode);
67
+ return factory(dbConnection, node);
68
+ };
69
+ const getEpochMonitor = (0, memoize_1.default)((dbPool) => new util_1.DbSyncEpochPollService(dbPool, args.epochPollInterval));
70
+ return {
71
+ [ServiceNames.Asset]: withDbSyncProvider(async (db, cardanoNode) => {
72
+ const ntfMetadataService = new Asset_1.DbSyncNftMetadataService({
73
+ db,
74
+ logger,
75
+ metadataService: (0, Metadata_1.createDbSyncMetadataService)(db, logger)
76
+ });
77
+ const tokenMetadataService = args.tokenMetadataServerUrl?.startsWith('stub:')
78
+ ? new Asset_1.StubTokenMetadataService()
79
+ : new Asset_1.CardanoTokenRegistry({ logger }, args);
80
+ const assetProvider = new Asset_1.DbSyncAssetProvider({
81
+ cardanoNode,
82
+ db,
83
+ logger,
84
+ ntfMetadataService,
85
+ tokenMetadataService
86
+ });
87
+ return new Asset_1.AssetHttpService({ assetProvider, logger });
88
+ }, ServiceNames.Asset),
89
+ [ServiceNames.StakePool]: withDbSyncProvider(async (db, cardanoNode) => {
90
+ if (!genesisData)
91
+ throw new errors_1.MissingProgramOption(ServiceNames.StakePool, HttpServerOptionDescriptions.CardanoNodeConfigPath);
92
+ const stakePoolProvider = new StakePool_1.DbSyncStakePoolProvider({ paginationPageSizeLimit: args.paginationPageSizeLimit }, {
93
+ cache: new InMemoryCache_1.InMemoryCache(args.dbCacheTtl),
94
+ cardanoNode,
95
+ db,
96
+ epochMonitor: getEpochMonitor(db),
97
+ genesisData,
98
+ logger,
99
+ metadataService: (0, StakePool_1.createHttpStakePoolExtMetadataService)(logger)
100
+ });
101
+ return new StakePool_1.StakePoolHttpService({ logger, stakePoolProvider });
102
+ }, ServiceNames.StakePool),
103
+ [ServiceNames.Utxo]: withDbSyncProvider(async (db, cardanoNode) => new Utxo_1.UtxoHttpService({ logger, utxoProvider: new Utxo_1.DbSyncUtxoProvider({ cardanoNode, db, logger }) }), ServiceNames.Utxo),
104
+ [ServiceNames.ChainHistory]: withDbSyncProvider(async (db, cardanoNode) => {
105
+ const metadataService = (0, Metadata_1.createDbSyncMetadataService)(db, logger);
106
+ const chainHistoryProvider = new ChainHistory_1.DbSyncChainHistoryProvider({ paginationPageSizeLimit: args.paginationPageSizeLimit }, { cardanoNode, db, logger, metadataService });
107
+ return new ChainHistory_1.ChainHistoryHttpService({ chainHistoryProvider, logger });
108
+ }, ServiceNames.ChainHistory),
109
+ [ServiceNames.Rewards]: withDbSyncProvider(async (db, cardanoNode) => {
110
+ const rewardsProvider = new Rewards_1.DbSyncRewardsProvider({ paginationPageSizeLimit: args.paginationPageSizeLimit }, { cardanoNode, db, logger });
111
+ return new Rewards_1.RewardsHttpService({ logger, rewardsProvider });
112
+ }, ServiceNames.Rewards),
113
+ [ServiceNames.NetworkInfo]: withDbSyncProvider(async (db, cardanoNode) => {
114
+ if (!genesisData)
115
+ throw new errors_1.MissingProgramOption(ServiceNames.NetworkInfo, HttpServerOptionDescriptions.CardanoNodeConfigPath);
116
+ const networkInfoProvider = new NetworkInfo_1.DbSyncNetworkInfoProvider({
117
+ cache: new InMemoryCache_1.InMemoryCache(args.dbCacheTtl),
118
+ cardanoNode,
119
+ db,
120
+ epochMonitor: getEpochMonitor(db),
121
+ genesisData,
122
+ logger
123
+ });
124
+ return new NetworkInfo_1.NetworkInfoHttpService({ logger, networkInfoProvider });
125
+ }, ServiceNames.NetworkInfo),
126
+ [ServiceNames.TxSubmit]: async () => {
127
+ const txSubmitProvider = args.useQueue
128
+ ? await (0, services_1.getRabbitMqTxSubmitProvider)(dnsResolver, logger, args)
129
+ : await (0, services_1.getOgmiosTxSubmitProvider)(dnsResolver, logger, args);
130
+ return new TxSubmit_1.TxSubmitHttpService({ logger, txSubmitProvider });
131
+ }
132
+ };
133
+ };
134
+ const loadHttpServer = async (args, deps = {}) => {
135
+ const services = [];
136
+ const logger = deps?.logger ||
137
+ (0, bunyan_1.createLogger)({
138
+ level: args.loggerMinSeverity,
139
+ name: 'http-server'
140
+ });
141
+ const dnsResolver = deps?.dnsResolver ||
142
+ (0, utils_1.createDnsResolver)({
143
+ factor: args.serviceDiscoveryBackoffFactor,
144
+ maxRetryTime: args.serviceDiscoveryTimeout
145
+ }, logger);
146
+ const db = await (0, services_1.getPool)(dnsResolver, logger, args);
147
+ const cardanoNode = (0, utils_1.serviceSetHas)(args.serviceNames, exports.cardanoNodeDependantServices)
148
+ ? await (0, services_1.getOgmiosCardanoNode)(dnsResolver, logger, args)
149
+ : undefined;
150
+ const genesisData = args.cardanoNodeConfigPath ? await (0, util_1.loadGenesisData)(args.cardanoNodeConfigPath) : undefined;
151
+ const serviceMap = serviceMapFactory({ args, dbConnection: db, dnsResolver, genesisData, logger, node: cardanoNode });
152
+ for (const serviceName of args.serviceNames) {
153
+ if (serviceMap[serviceName]) {
154
+ services.push(await serviceMap[serviceName]());
155
+ }
156
+ else {
157
+ throw new errors_1.UnknownServiceName(serviceName, Object.values(ServiceNames));
158
+ }
159
+ }
160
+ const config = {
161
+ listen: {
162
+ host: args.apiUrl.hostname,
163
+ port: args.apiUrl ? Number.parseInt(args.apiUrl.port) : undefined
164
+ },
165
+ meta: { ...args.buildInfo, startupTime: Date.now() }
166
+ };
167
+ if (args.enableMetrics) {
168
+ config.metrics = { enabled: args.enableMetrics };
169
+ }
170
+ return new Http_1.HttpServer(config, { logger, runnableDependencies: [cardanoNode].filter(util_2.isNotNil), services });
171
+ };
172
+ exports.loadHttpServer = loadHttpServer;
173
+ //# sourceMappingURL=httpServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpServer.js","sourceRoot":"","sources":["../../../../src/Program/programs/httpServer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ export * from './httpServer';
2
+ export * from './txWorker';
1
3
  export declare enum Programs {
2
4
  HttpServer = "HTTP server",
3
5
  RabbitmqWorker = "RabbitMQ worker"
4
6
  }
5
- //# sourceMappingURL=programs.d.ts.map
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Program/programs/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAM3B,oBAAY,QAAQ;IAClB,UAAU,gBAAgB;IAC1B,cAAc,oBAAoB;CACnC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Programs = void 0;
18
+ __exportStar(require("./httpServer"), exports);
19
+ __exportStar(require("./txWorker"), exports);
20
+ var Programs;
21
+ (function (Programs) {
22
+ Programs["HttpServer"] = "HTTP server";
23
+ Programs["RabbitmqWorker"] = "RabbitMQ worker";
24
+ })(Programs = exports.Programs || (exports.Programs = {}));
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Program/programs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6CAA2B;AAM3B,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,sCAA0B,CAAA;IAC1B,8CAAkC,CAAA;AACpC,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"}
@@ -0,0 +1,15 @@
1
+ import { CommonProgramOptions, OgmiosProgramOptions, RabbitMqProgramOptions } from '../options';
2
+ import { Logger } from 'ts-log';
3
+ import { TxSubmitWorkerConfig } from '../../TxSubmit';
4
+ export declare const TX_WORKER_API_URL_DEFAULT: URL;
5
+ export declare const PARALLEL_MODE_DEFAULT = false;
6
+ export declare const PARALLEL_TXS_DEFAULT = 3;
7
+ export declare const POLLING_CYCLE_DEFAULT = 500;
8
+ export declare enum TxWorkerOptionDescriptions {
9
+ Parallel = "Parallel mode",
10
+ ParallelTxs = "Parallel transactions",
11
+ PollingCycle = "Polling cycle"
12
+ }
13
+ export declare type TxWorkerArgs = CommonProgramOptions & OgmiosProgramOptions & RabbitMqProgramOptions & Pick<TxSubmitWorkerConfig, 'parallel' | 'parallelTxs' | 'pollingCycle'>;
14
+ export declare const loadAndStartTxWorker: (args: TxWorkerArgs, logger?: Logger) => Promise<import("../services").RunningTxSubmitWorker>;
15
+ //# sourceMappingURL=txWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txWorker.d.ts","sourceRoot":"","sources":["../../../../src/Program/programs/txWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAKtD,eAAO,MAAM,yBAAyB,KAAmC,CAAC;AAC1E,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,oBAAY,0BAA0B;IACpC,QAAQ,kBAAkB;IAC1B,WAAW,0BAA0B;IACrC,YAAY,kBAAkB;CAC/B;AAED,oBAAY,YAAY,GAAG,oBAAoB,GAC7C,oBAAoB,GACpB,sBAAsB,GACtB,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC,CAAC;AAE1E,eAAO,MAAM,oBAAoB,SAAgB,YAAY,WAAW,MAAM,yDAc7E,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadAndStartTxWorker = exports.TxWorkerOptionDescriptions = exports.POLLING_CYCLE_DEFAULT = exports.PARALLEL_TXS_DEFAULT = exports.PARALLEL_MODE_DEFAULT = exports.TX_WORKER_API_URL_DEFAULT = void 0;
4
+ const utils_1 = require("../utils");
5
+ const bunyan_1 = require("bunyan");
6
+ const services_1 = require("../services");
7
+ exports.TX_WORKER_API_URL_DEFAULT = new URL('http://localhost:3001');
8
+ exports.PARALLEL_MODE_DEFAULT = false;
9
+ exports.PARALLEL_TXS_DEFAULT = 3;
10
+ exports.POLLING_CYCLE_DEFAULT = 500;
11
+ var TxWorkerOptionDescriptions;
12
+ (function (TxWorkerOptionDescriptions) {
13
+ TxWorkerOptionDescriptions["Parallel"] = "Parallel mode";
14
+ TxWorkerOptionDescriptions["ParallelTxs"] = "Parallel transactions";
15
+ TxWorkerOptionDescriptions["PollingCycle"] = "Polling cycle";
16
+ })(TxWorkerOptionDescriptions = exports.TxWorkerOptionDescriptions || (exports.TxWorkerOptionDescriptions = {}));
17
+ const loadAndStartTxWorker = async (args, logger) => {
18
+ const { loggerMinSeverity, serviceDiscoveryBackoffFactor, serviceDiscoveryTimeout } = args;
19
+ if (!logger)
20
+ logger = (0, bunyan_1.createLogger)({ level: loggerMinSeverity, name: 'tx-worker' });
21
+ const dnsResolver = (0, utils_1.createDnsResolver)({
22
+ factor: serviceDiscoveryBackoffFactor,
23
+ maxRetryTime: serviceDiscoveryTimeout
24
+ }, logger);
25
+ const txSubmitProvider = await (0, services_1.getOgmiosTxSubmitProvider)(dnsResolver, logger, args);
26
+ return await (0, services_1.getRunningTxSubmitWorker)(dnsResolver, txSubmitProvider, logger, args);
27
+ };
28
+ exports.loadAndStartTxWorker = loadAndStartTxWorker;
29
+ //# sourceMappingURL=txWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txWorker.js","sourceRoot":"","sources":["../../../../src/Program/programs/txWorker.ts"],"names":[],"mappings":";;;AAGA,oCAA6C;AAC7C,mCAAsC;AACtC,0CAAkF;AAErE,QAAA,yBAAyB,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC7D,QAAA,qBAAqB,GAAG,KAAK,CAAC;AAC9B,QAAA,oBAAoB,GAAG,CAAC,CAAC;AACzB,QAAA,qBAAqB,GAAG,GAAG,CAAC;AAEzC,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,wDAA0B,CAAA;IAC1B,mEAAqC,CAAA;IACrC,4DAA8B,CAAA;AAChC,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC;AAOM,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAAkB,EAAE,MAAe,EAAE,EAAE;IAChF,MAAM,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC;IAE3F,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpF,MAAM,WAAW,GAAG,IAAA,yBAAiB,EACnC;QACE,MAAM,EAAE,6BAA6B;QACrC,YAAY,EAAE,uBAAuB;KACtC,EACD,MAAM,CACP,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,IAAA,oCAAyB,EAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpF,OAAO,MAAM,IAAA,mCAAwB,EAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACrF,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B"}
@@ -1,9 +1,9 @@
1
- import { CommonProgramOptions } from '../Options';
2
1
  import { DnsResolver } from '../utils';
3
2
  import { Logger } from 'ts-log';
4
3
  import { OgmiosCardanoNode, OgmiosTxSubmitProvider } from '@cardano-sdk/ogmios';
4
+ import { OgmiosProgramOptions } from '../options';
5
5
  export declare const ogmiosTxSubmitProviderWithDiscovery: (dnsResolver: DnsResolver, logger: Logger, serviceName: string) => Promise<OgmiosTxSubmitProvider>;
6
- export declare const getOgmiosTxSubmitProvider: (dnsResolver: DnsResolver, logger: Logger, options?: CommonProgramOptions) => Promise<OgmiosTxSubmitProvider>;
6
+ export declare const getOgmiosTxSubmitProvider: (dnsResolver: DnsResolver, logger: Logger, options?: OgmiosProgramOptions) => Promise<OgmiosTxSubmitProvider>;
7
7
  export declare const ogmiosCardanoNodeWithDiscovery: (dnsResolver: DnsResolver, logger: Logger, serviceName: string) => Promise<OgmiosCardanoNode>;
8
- export declare const getOgmiosCardanoNode: (dnsResolver: DnsResolver, logger: Logger, options?: CommonProgramOptions) => Promise<OgmiosCardanoNode>;
8
+ export declare const getOgmiosCardanoNode: (dnsResolver: DnsResolver, logger: Logger, options?: OgmiosProgramOptions) => Promise<OgmiosCardanoNode>;
9
9
  //# sourceMappingURL=ogmios.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ogmios.d.ts","sourceRoot":"","sources":["../../../../src/Program/services/ogmios.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAyB,MAAM,qBAAqB,CAAC;AA6CvG,eAAO,MAAM,mCAAmC,gBACjC,WAAW,UAChB,MAAM,eACD,MAAM,KAClB,QAAQ,sBAAsB,CAwChC,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBACvB,WAAW,UAChB,MAAM,YACJ,oBAAoB,KAC7B,QAAQ,sBAAsB,CAQhC,CAAC;AAaF,eAAO,MAAM,8BAA8B,gBAC5B,WAAW,UAChB,MAAM,eACD,MAAM,KAClB,QAAQ,iBAAiB,CAwC3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,gBAClB,WAAW,UAChB,MAAM,YACJ,oBAAoB,KAC7B,QAAQ,iBAAiB,CAQ3B,CAAC"}
1
+ {"version":3,"file":"ogmios.d.ts","sourceRoot":"","sources":["../../../../src/Program/services/ogmios.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAyB,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAA4B,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA6C5E,eAAO,MAAM,mCAAmC,gBACjC,WAAW,UAChB,MAAM,eACD,MAAM,KAClB,QAAQ,sBAAsB,CAwChC,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBACvB,WAAW,UAChB,MAAM,YACJ,oBAAoB,KAC7B,QAAQ,sBAAsB,CAKhC,CAAC;AAaF,eAAO,MAAM,8BAA8B,gBAC5B,WAAW,UAChB,MAAM,eACD,MAAM,KAClB,QAAQ,iBAAiB,CAwC3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,gBAClB,WAAW,UAChB,MAAM,YACJ,oBAAoB,KAC7B,QAAQ,iBAAiB,CAK3B,CAAC"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getOgmiosCardanoNode = exports.ogmiosCardanoNodeWithDiscovery = exports.getOgmiosTxSubmitProvider = exports.ogmiosTxSubmitProviderWithDiscovery = void 0;
4
- const Options_1 = require("../Options");
5
4
  const errors_1 = require("../errors");
6
5
  const ogmios_1 = require("@cardano-sdk/ogmios");
6
+ const options_1 = require("../options");
7
7
  const util_1 = require("@cardano-sdk/util");
8
8
  const isCardanoNodeOperation = (prop) => ['eraSummaries', 'systemStart', 'stakeDistribution'].includes(prop);
9
9
  const recreateOgmiosCardanoNode = async (serviceName, ogmiosCardanoNode, dnsResolver, logger) => {
@@ -64,10 +64,7 @@ const getOgmiosTxSubmitProvider = async (dnsResolver, logger, options) => {
64
64
  return (0, exports.ogmiosTxSubmitProviderWithDiscovery)(dnsResolver, logger, options.ogmiosSrvServiceName);
65
65
  if (options?.ogmiosUrl)
66
66
  return new ogmios_1.OgmiosTxSubmitProvider((0, ogmios_1.urlToConnectionConfig)(options?.ogmiosUrl), { logger });
67
- throw new errors_1.MissingCardanoNodeOption([
68
- Options_1.CommonOptionDescriptions.OgmiosUrl,
69
- Options_1.CommonOptionDescriptions.OgmiosSrvServiceName
70
- ]);
67
+ throw new errors_1.MissingCardanoNodeOption([options_1.OgmiosOptionDescriptions.Url, options_1.OgmiosOptionDescriptions.SrvServiceName]);
71
68
  };
72
69
  exports.getOgmiosTxSubmitProvider = getOgmiosTxSubmitProvider;
73
70
  const ogmiosCardanoNodeWithDiscovery = async (dnsResolver, logger, serviceName) => {
@@ -112,10 +109,7 @@ const getOgmiosCardanoNode = async (dnsResolver, logger, options) => {
112
109
  return (0, exports.ogmiosCardanoNodeWithDiscovery)(dnsResolver, logger, options.ogmiosSrvServiceName);
113
110
  if (options?.ogmiosUrl)
114
111
  return new ogmios_1.OgmiosCardanoNode((0, ogmios_1.urlToConnectionConfig)(options.ogmiosUrl), logger);
115
- throw new errors_1.MissingCardanoNodeOption([
116
- Options_1.CommonOptionDescriptions.OgmiosUrl,
117
- Options_1.CommonOptionDescriptions.OgmiosSrvServiceName
118
- ]);
112
+ throw new errors_1.MissingCardanoNodeOption([options_1.OgmiosOptionDescriptions.Url, options_1.OgmiosOptionDescriptions.SrvServiceName]);
119
113
  };
120
114
  exports.getOgmiosCardanoNode = getOgmiosCardanoNode;
121
115
  //# sourceMappingURL=ogmios.js.map