@cardano-sdk/cardano-services 0.11.2 → 0.11.4
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.
- package/README.md +47 -7
- package/dist/cjs/Asset/DbSyncAssetProvider/DbSyncAssetProvider.d.ts.map +1 -1
- package/dist/cjs/Asset/DbSyncAssetProvider/DbSyncAssetProvider.js +13 -11
- package/dist/cjs/Asset/DbSyncAssetProvider/DbSyncAssetProvider.js.map +1 -1
- package/dist/cjs/Asset/openApi.json +4 -0
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.d.ts +2 -3
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js +5 -18
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js +3 -4
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.d.ts +3 -9
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.js +5 -14
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/types.d.ts +0 -3
- package/dist/cjs/ChainHistory/DbSyncChainHistory/types.d.ts.map +1 -1
- package/dist/cjs/Http/util.js +1 -1
- package/dist/cjs/Http/util.js.map +1 -1
- package/dist/cjs/PgBoss/index.d.ts +7 -0
- package/dist/cjs/PgBoss/index.d.ts.map +1 -0
- package/dist/cjs/PgBoss/index.js +29 -0
- package/dist/cjs/PgBoss/index.js.map +1 -0
- package/dist/cjs/PgBoss/stakePoolMetadataHandler.d.ts.map +1 -1
- package/dist/cjs/PgBoss/stakePoolMetadataHandler.js +4 -3
- package/dist/cjs/PgBoss/stakePoolMetadataHandler.js.map +1 -1
- package/dist/cjs/PgBoss/stakePoolMetricsHandler.d.ts +18 -0
- package/dist/cjs/PgBoss/stakePoolMetricsHandler.d.ts.map +1 -0
- package/dist/cjs/PgBoss/stakePoolMetricsHandler.js +64 -0
- package/dist/cjs/PgBoss/stakePoolMetricsHandler.js.map +1 -0
- package/dist/cjs/PgBoss/types.d.ts +9 -2
- package/dist/cjs/PgBoss/types.d.ts.map +1 -1
- package/dist/cjs/PgBoss/types.js +1 -1
- package/dist/cjs/PgBoss/types.js.map +1 -1
- package/dist/cjs/PgBoss/util.d.ts +4 -3
- package/dist/cjs/PgBoss/util.d.ts.map +1 -1
- package/dist/cjs/PgBoss/util.js +3 -6
- package/dist/cjs/PgBoss/util.js.map +1 -1
- package/dist/cjs/Program/programs/pgBossWorker.d.ts +2 -1
- package/dist/cjs/Program/programs/pgBossWorker.d.ts.map +1 -1
- package/dist/cjs/Program/programs/pgBossWorker.js +4 -0
- package/dist/cjs/Program/programs/pgBossWorker.js.map +1 -1
- package/dist/cjs/Program/programs/projector.d.ts +3 -1
- package/dist/cjs/Program/programs/projector.d.ts.map +1 -1
- package/dist/cjs/Program/programs/projector.js +5 -3
- package/dist/cjs/Program/programs/projector.js.map +1 -1
- package/dist/cjs/Program/programs/types.d.ts +4 -1
- package/dist/cjs/Program/programs/types.d.ts.map +1 -1
- package/dist/cjs/Program/programs/types.js +4 -1
- package/dist/cjs/Program/programs/types.js.map +1 -1
- package/dist/cjs/Program/services/pgboss.d.ts +4 -3
- package/dist/cjs/Program/services/pgboss.d.ts.map +1 -1
- package/dist/cjs/Program/services/pgboss.js +22 -8
- package/dist/cjs/Program/services/pgboss.js.map +1 -1
- package/dist/cjs/Projection/createTypeormProjection.d.ts +13 -1
- package/dist/cjs/Projection/createTypeormProjection.d.ts.map +1 -1
- package/dist/cjs/Projection/createTypeormProjection.js +4 -3
- package/dist/cjs/Projection/createTypeormProjection.js.map +1 -1
- package/dist/cjs/Projection/migrations/1685011799580-stake-pool-metrics-table.d.ts +8 -0
- package/dist/cjs/Projection/migrations/1685011799580-stake-pool-metrics-table.d.ts.map +1 -0
- package/dist/cjs/Projection/migrations/1685011799580-stake-pool-metrics-table.js +17 -0
- package/dist/cjs/Projection/migrations/1685011799580-stake-pool-metrics-table.js.map +1 -0
- package/dist/cjs/Projection/migrations/index.d.ts.map +1 -1
- package/dist/cjs/Projection/migrations/index.js +3 -1
- package/dist/cjs/Projection/migrations/index.js.map +1 -1
- package/dist/cjs/Projection/prepareTypeormProjection.d.ts +8 -5
- package/dist/cjs/Projection/prepareTypeormProjection.d.ts.map +1 -1
- package/dist/cjs/Projection/prepareTypeormProjection.js +12 -4
- package/dist/cjs/Projection/prepareTypeormProjection.js.map +1 -1
- package/dist/cjs/cli.js +13 -2
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/migrationDataSource.d.ts.map +1 -1
- package/dist/cjs/migrationDataSource.js +16 -11
- package/dist/cjs/migrationDataSource.js.map +1 -1
- package/dist/cjs/original-package.json +9 -9
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stakePoolMetricsHandlerFactory = exports.refreshPoolMetrics = exports.savePoolMetrics = void 0;
|
|
4
|
+
const projection_typeorm_1 = require("@cardano-sdk/projection-typeorm");
|
|
5
|
+
const util_1 = require("./util");
|
|
6
|
+
const cardano_services_client_1 = require("@cardano-sdk/cardano-services-client");
|
|
7
|
+
const savePoolMetrics = async (options) => {
|
|
8
|
+
const { dataSource, id, metrics, slot } = options;
|
|
9
|
+
const repos = dataSource.getRepository(projection_typeorm_1.CurrentPoolMetricsEntity);
|
|
10
|
+
const entity = {
|
|
11
|
+
activeSize: metrics.size.active,
|
|
12
|
+
activeStake: metrics.stake.active,
|
|
13
|
+
apy: metrics.apy || 0,
|
|
14
|
+
id,
|
|
15
|
+
liveDelegators: metrics.delegators,
|
|
16
|
+
livePledge: metrics.livePledge,
|
|
17
|
+
liveSaturation: metrics.saturation,
|
|
18
|
+
liveSize: metrics.size.live,
|
|
19
|
+
liveStake: metrics.stake.live,
|
|
20
|
+
mintedBlocks: metrics.blocksCreated,
|
|
21
|
+
slot,
|
|
22
|
+
stakePool: { id }
|
|
23
|
+
};
|
|
24
|
+
try {
|
|
25
|
+
await repos.upsert(entity, ['stakePool']);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
if ((0, util_1.isErrorWithConstraint)(error) && error.constraint === 'FK_current_pool_metrics_stake_pool_id')
|
|
29
|
+
return;
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
exports.savePoolMetrics = savePoolMetrics;
|
|
34
|
+
const refreshPoolMetrics = async (options) => {
|
|
35
|
+
const { id, logger, provider } = options;
|
|
36
|
+
logger.info(`Refreshing metrics for stake pool ${id}`);
|
|
37
|
+
try {
|
|
38
|
+
const { pageResults, totalResultCount } = await provider.queryStakePools({
|
|
39
|
+
filters: { identifier: { values: [{ id }] } },
|
|
40
|
+
pagination: { limit: 1, startAt: 0 }
|
|
41
|
+
});
|
|
42
|
+
if (totalResultCount === 0)
|
|
43
|
+
return logger.warn(`No data fetched for stake pool ${id}`);
|
|
44
|
+
const { metrics } = pageResults[0];
|
|
45
|
+
await (0, exports.savePoolMetrics)({ ...options, metrics });
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
logger.error(`Error while refreshing metrics for stake pool ${id}`, error);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.refreshPoolMetrics = refreshPoolMetrics;
|
|
52
|
+
const stakePoolMetricsHandlerFactory = (options) => {
|
|
53
|
+
const { dataSource, logger, stakePoolProviderUrl } = options;
|
|
54
|
+
const provider = (0, cardano_services_client_1.stakePoolHttpProvider)({ baseUrl: stakePoolProviderUrl, logger });
|
|
55
|
+
return async (data) => {
|
|
56
|
+
const { slot } = data;
|
|
57
|
+
logger.info('Starting stake pools metrics job');
|
|
58
|
+
const pools = await dataSource.getRepository(projection_typeorm_1.StakePoolEntity).find({ select: { id: true } });
|
|
59
|
+
for (const { id } of pools)
|
|
60
|
+
await (0, exports.refreshPoolMetrics)({ dataSource, id: id, logger, provider, slot });
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
exports.stakePoolMetricsHandlerFactory = stakePoolMetricsHandlerFactory;
|
|
64
|
+
//# sourceMappingURL=stakePoolMetricsHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stakePoolMetricsHandler.js","sourceRoot":"","sources":["../../../src/PgBoss/stakePoolMetricsHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { DataSource } from 'typeorm';
|
|
2
2
|
import { Logger } from 'ts-log';
|
|
3
|
-
|
|
3
|
+
import { Pool } from 'pg';
|
|
4
|
+
export declare const workerQueues: readonly ["pool-metadata", "pool-metrics"];
|
|
4
5
|
export declare type PgBossQueue = typeof workerQueues[number];
|
|
6
|
+
export interface WorkerHandlerFactoryOptions {
|
|
7
|
+
dataSource: DataSource;
|
|
8
|
+
db: Pool;
|
|
9
|
+
logger: Logger;
|
|
10
|
+
stakePoolProviderUrl: string;
|
|
11
|
+
}
|
|
5
12
|
export declare type WorkerHandler = (data: any) => Promise<void>;
|
|
6
|
-
export declare type WorkerHandlerFactory = (
|
|
13
|
+
export declare type WorkerHandlerFactory = (options: WorkerHandlerFactoryOptions) => WorkerHandler;
|
|
7
14
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/PgBoss/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/PgBoss/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAG1B,eAAO,MAAM,YAAY,4CAAkE,CAAC;AAE5F,oBAAY,WAAW,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEtD,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,UAAU,CAAC;IACvB,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAGD,oBAAY,aAAa,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AACzD,oBAAY,oBAAoB,GAAG,CAAC,OAAO,EAAE,2BAA2B,KAAK,aAAa,CAAC"}
|
package/dist/cjs/PgBoss/types.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.workerQueues = void 0;
|
|
4
4
|
const projection_typeorm_1 = require("@cardano-sdk/projection-typeorm");
|
|
5
|
-
exports.workerQueues = [projection_typeorm_1.STAKE_POOL_METADATA_QUEUE];
|
|
5
|
+
exports.workerQueues = [projection_typeorm_1.STAKE_POOL_METADATA_QUEUE, projection_typeorm_1.STAKE_POOL_METRICS_UPDATE];
|
|
6
6
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/PgBoss/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/PgBoss/types.ts"],"names":[],"mappings":";;;AAGA,wEAAuG;AAE1F,QAAA,YAAY,GAAG,CAAC,8CAAyB,EAAE,8CAAyB,CAAU,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
|
|
1
|
+
export declare const isValidQueue: (queue: string) => queue is "pool-metadata" | "pool-metrics";
|
|
2
|
+
export declare const isErrorWithConstraint: (error: unknown) => error is Error & {
|
|
3
|
+
constraint: unknown;
|
|
4
|
+
};
|
|
4
5
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/PgBoss/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/PgBoss/util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,UAAW,MAAM,8CAAsE,CAAC;AAEjH,eAAO,MAAM,qBAAqB,UAAW,OAAO;gBAAkC,OAAO;CAC5C,CAAC"}
|
package/dist/cjs/PgBoss/util.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isErrorWithConstraint = exports.isValidQueue = void 0;
|
|
4
4
|
const types_1 = require("./types");
|
|
5
|
-
const projection_typeorm_1 = require("@cardano-sdk/projection-typeorm");
|
|
6
|
-
const stakePoolMetadataHandler_1 = require("./stakePoolMetadataHandler");
|
|
7
5
|
const isValidQueue = (queue) => types_1.workerQueues.includes(queue);
|
|
8
6
|
exports.isValidQueue = isValidQueue;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
7
|
+
const isErrorWithConstraint = (error) => error instanceof Error && 'constraint' in error;
|
|
8
|
+
exports.isErrorWithConstraint = isErrorWithConstraint;
|
|
12
9
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/PgBoss/util.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/PgBoss/util.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAE7C,MAAM,YAAY,GAAG,CAAC,KAAa,EAAwB,EAAE,CAAC,oBAAY,CAAC,QAAQ,CAAC,KAAoB,CAAC,CAAC;AAApG,QAAA,YAAY,gBAAwF;AAE1G,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAA4C,EAAE,CAChG,KAAK,YAAY,KAAK,IAAI,YAAY,IAAI,KAAK,CAAC;AADrC,QAAA,qBAAqB,yBACgB"}
|
|
@@ -8,7 +8,8 @@ export declare const PARALLEL_JOBS_DEFAULT = 10;
|
|
|
8
8
|
export declare const PG_BOSS_WORKER_API_URL_DEFAULT: URL;
|
|
9
9
|
export declare enum PgBossWorkerOptionDescriptions {
|
|
10
10
|
ParallelJobs = "Parallel jobs to run",
|
|
11
|
-
Queues = "Comma separated queue names"
|
|
11
|
+
Queues = "Comma separated queue names",
|
|
12
|
+
StakePoolProviderUrl = "Stake pool provider URL"
|
|
12
13
|
}
|
|
13
14
|
export declare type PgBossWorkerArgs = CommonProgramOptions & PosgresProgramOptions<'DbSync'> & PosgresProgramOptions<'StakePool'> & PgBossServiceConfig;
|
|
14
15
|
export interface LoadPgBossWorkerDependencies {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgBossWorker.d.ts","sourceRoot":"","sources":["../../../../src/Program/programs/pgBossWorker.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAA8B,MAAM,YAAY,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAqB,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pgBossWorker.d.ts","sourceRoot":"","sources":["../../../../src/Program/programs/pgBossWorker.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAA8B,MAAM,YAAY,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAqB,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEvG,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAMhC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,8BAA8B,KAAmC,CAAC;AAE/E,oBAAY,8BAA8B;IACxC,YAAY,yBAAyB;IACrC,MAAM,gCAAgC;IACtC,oBAAoB,4BAA4B;CACjD;AAED,oBAAY,gBAAgB,GAAG,oBAAoB,GACjD,qBAAqB,CAAC,QAAQ,CAAC,GAC/B,qBAAqB,CAAC,WAAW,CAAC,GAClC,mBAAmB,CAAC;AAEtB,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,MAAM,EAAE,GAAG,CAAC;CACb;AAED,qBAAa,sBAAuB,SAAQ,UAAU;gBACxC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,yBAAyB;CAUrE;AAED,eAAO,MAAM,gBAAgB,SAAgB,gBAAgB,SAAQ,4BAA4B,oCAiBhG,CAAC"}
|
|
@@ -5,6 +5,7 @@ const options_1 = require("../options");
|
|
|
5
5
|
const HttpServer_1 = require("../../Http/HttpServer");
|
|
6
6
|
const errors_1 = require("../errors");
|
|
7
7
|
const pgboss_1 = require("../services/pgboss");
|
|
8
|
+
const projection_typeorm_1 = require("@cardano-sdk/projection-typeorm");
|
|
8
9
|
const utils_1 = require("../utils");
|
|
9
10
|
const bunyan_1 = require("bunyan");
|
|
10
11
|
const postgres_1 = require("../services/postgres");
|
|
@@ -15,6 +16,7 @@ var PgBossWorkerOptionDescriptions;
|
|
|
15
16
|
(function (PgBossWorkerOptionDescriptions) {
|
|
16
17
|
PgBossWorkerOptionDescriptions["ParallelJobs"] = "Parallel jobs to run";
|
|
17
18
|
PgBossWorkerOptionDescriptions["Queues"] = "Comma separated queue names";
|
|
19
|
+
PgBossWorkerOptionDescriptions["StakePoolProviderUrl"] = "Stake pool provider URL";
|
|
18
20
|
})(PgBossWorkerOptionDescriptions = exports.PgBossWorkerOptionDescriptions || (exports.PgBossWorkerOptionDescriptions = {}));
|
|
19
21
|
const pgBossWorker = 'pg-boss-worker';
|
|
20
22
|
class PgBossWorkerHttpServer extends HttpServer_1.HttpServer {
|
|
@@ -34,6 +36,8 @@ const loadPgBossWorker = async (args, deps = {}) => {
|
|
|
34
36
|
const db = await (0, postgres_1.getPool)(dnsResolver, logger, args);
|
|
35
37
|
if (!db)
|
|
36
38
|
throw new errors_1.MissingProgramOption(pgBossWorker, options_1.PostgresOptionDescriptions.ConnectionString);
|
|
39
|
+
if (args.queues.includes(projection_typeorm_1.STAKE_POOL_METRICS_UPDATE) && !args.stakePoolProviderUrl)
|
|
40
|
+
throw new errors_1.MissingProgramOption(projection_typeorm_1.STAKE_POOL_METRICS_UPDATE, PgBossWorkerOptionDescriptions.StakePoolProviderUrl);
|
|
37
41
|
return new PgBossWorkerHttpServer(args, { connectionConfig$, db, logger });
|
|
38
42
|
};
|
|
39
43
|
exports.loadPgBossWorker = loadPgBossWorker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgBossWorker.js","sourceRoot":"","sources":["../../../../src/Program/programs/pgBossWorker.ts"],"names":[],"mappings":";;;AAAA,wCAAqG;AACrG,sDAAmD;AAEnD,sCAAiD;AACjD,+CAAuG;
|
|
1
|
+
{"version":3,"file":"pgBossWorker.js","sourceRoot":"","sources":["../../../../src/Program/programs/pgBossWorker.ts"],"names":[],"mappings":";;;AAAA,wCAAqG;AACrG,sDAAmD;AAEnD,sCAAiD;AACjD,+CAAuG;AACvG,wEAA4E;AAE5E,oCAA6C;AAC7C,mCAAsC;AACtC,mDAAoE;AACpE,0CAA4C;AAE/B,QAAA,qBAAqB,GAAG,EAAE,CAAC;AAC3B,QAAA,8BAA8B,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAE/E,IAAY,8BAIX;AAJD,WAAY,8BAA8B;IACxC,uEAAqC,CAAA;IACrC,wEAAsC,CAAA;IACtC,kFAAgD,CAAA;AAClD,CAAC,EAJW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAIzC;AAYD,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAMtC,MAAa,sBAAuB,SAAQ,uBAAU;IACpD,YAAY,GAAuB,EAAE,IAA+B;QAClE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,aAAa,GAAG,IAAI,0BAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEvD,KAAK,CACH,EAAE,MAAM,EAAE,IAAA,gBAAS,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EACjD,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,CAChE,CAAC;IACJ,CAAC;CACF;AAXD,wDAWC;AAEM,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAsB,EAAE,OAAqC,EAAE,EAAE,EAAE;IACxG,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAA,qBAAY,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACnG,MAAM,WAAW,GACf,IAAI,EAAE,WAAW;QACjB,IAAA,yBAAiB,EACf,EAAE,MAAM,EAAE,IAAI,CAAC,6BAA6B,EAAE,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAC1F,MAAM,CACP,CAAC;IACJ,MAAM,iBAAiB,GAAG,IAAA,8BAAmB,EAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC/E,MAAM,EAAE,GAAG,MAAM,IAAA,kBAAO,EAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,6BAAoB,CAAC,YAAY,EAAE,oCAA0B,CAAC,gBAAgB,CAAC,CAAC;IAEnG,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,8CAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB;QAC/E,MAAM,IAAI,6BAAoB,CAAC,8CAAyB,EAAE,8BAA8B,CAAC,oBAAoB,CAAC,CAAC;IAEjH,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AAjBW,QAAA,gBAAgB,oBAiB3B"}
|
|
@@ -8,9 +8,11 @@ import { SrvRecord } from 'dns';
|
|
|
8
8
|
import { URL } from 'url';
|
|
9
9
|
export declare const PROJECTOR_API_URL_DEFAULT: URL;
|
|
10
10
|
export declare type ProjectorArgs = CommonProgramOptions & PosgresProgramOptions<'StakePool'> & OgmiosProgramOptions & {
|
|
11
|
-
projectionNames: ProjectionName[];
|
|
12
11
|
dropSchema: boolean;
|
|
13
12
|
dryRun: boolean;
|
|
13
|
+
poolsMetricsInterval: number;
|
|
14
|
+
projectionNames: ProjectionName[];
|
|
15
|
+
synchronize: boolean;
|
|
14
16
|
};
|
|
15
17
|
export interface LoadProjectorDependencies {
|
|
16
18
|
dnsResolver?: (serviceName: string) => Promise<SrvRecord>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projector.d.ts","sourceRoot":"","sources":["../../../../src/Program/programs/projector.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAyB,cAAc,
|
|
1
|
+
{"version":3,"file":"projector.d.ts","sourceRoot":"","sources":["../../../../src/Program/programs/projector.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAyB,cAAc,EAA2C,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAK1B,eAAO,MAAM,yBAAyB,KAAmC,CAAC;AAE1E,oBAAY,aAAa,GAAG,oBAAoB,GAC9C,qBAAqB,CAAC,WAAW,CAAC,GAClC,oBAAoB,GAAG;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AACJ,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiCD,eAAO,MAAM,aAAa,SAAgB,aAAa,SAAQ,yBAAyB,KAAQ,QAAQ,UAAU,CAkCjH,CAAC"}
|
|
@@ -13,25 +13,27 @@ const services_1 = require("../services");
|
|
|
13
13
|
exports.PROJECTOR_API_URL_DEFAULT = new url_1.URL('http://localhost:3002');
|
|
14
14
|
const createProjectionHttpService = async (options) => {
|
|
15
15
|
const { args, dnsResolver, logger } = options;
|
|
16
|
+
Projection_1.storeOperators.storePoolMetricsUpdateJob = (0, projection_typeorm_1.createStorePoolMetricsUpdateJob)(args.poolsMetricsInterval)();
|
|
16
17
|
const cardanoNode = (0, services_1.getOgmiosObservableCardanoNode)(dnsResolver, logger, {
|
|
17
18
|
ogmiosSrvServiceName: args.ogmiosSrvServiceName,
|
|
18
19
|
ogmiosUrl: args.ogmiosUrl
|
|
19
20
|
});
|
|
20
21
|
const connectionConfig$ = (0, services_1.getConnectionConfig)(dnsResolver, 'projector', args);
|
|
21
22
|
const buffer = new projection_typeorm_1.TypeormStabilityWindowBuffer({ logger });
|
|
23
|
+
const { dropSchema, dryRun, projectionNames, synchronize } = args;
|
|
22
24
|
const projection$ = (0, Projection_1.createTypeormProjection)({
|
|
23
25
|
buffer,
|
|
24
26
|
connectionConfig$,
|
|
25
|
-
devOptions:
|
|
27
|
+
devOptions: { dropSchema, synchronize },
|
|
26
28
|
logger,
|
|
27
29
|
projectionSource$: projection_1.Bootstrap.fromCardanoNode({
|
|
28
30
|
buffer,
|
|
29
31
|
cardanoNode,
|
|
30
32
|
logger
|
|
31
33
|
}),
|
|
32
|
-
projections:
|
|
34
|
+
projections: projectionNames
|
|
33
35
|
});
|
|
34
|
-
return new Projection_1.ProjectionHttpService({ dryRun
|
|
36
|
+
return new Projection_1.ProjectionHttpService({ dryRun, projection$, projectionNames }, { logger });
|
|
35
37
|
};
|
|
36
38
|
const loadProjector = async (args, deps = {}) => {
|
|
37
39
|
const supportedProjections = Object.values(Projection_1.ProjectionName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projector.js","sourceRoot":"","sources":["../../../../src/Program/programs/projector.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AAEpD,oCAA0D;AAC1D,qCAA0D;AAE1D,
|
|
1
|
+
{"version":3,"file":"projector.js","sourceRoot":"","sources":["../../../../src/Program/programs/projector.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AAEpD,oCAA0D;AAC1D,qCAA0D;AAE1D,iDAAkH;AAElH,wEAAgH;AAChH,6BAA0B;AAC1B,sCAA+C;AAC/C,mCAAsC;AACtC,0CAAkF;AAErE,QAAA,yBAAyB,GAAG,IAAI,SAAG,CAAC,uBAAuB,CAAC,CAAC;AAsB1E,MAAM,2BAA2B,GAAG,KAAK,EAAE,OAAoC,EAAE,EAAE;IACjF,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC9C,2BAAc,CAAC,yBAAyB,GAAG,IAAA,oDAA+B,EAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;IACxG,MAAM,WAAW,GAAG,IAAA,yCAA8B,EAAC,WAAW,EAAE,MAAM,EAAE;QACtE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,IAAA,8BAAmB,EAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,IAAI,iDAA4B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAClE,MAAM,WAAW,GAAG,IAAA,oCAAuB,EAAC;QAC1C,MAAM;QACN,iBAAiB;QACjB,UAAU,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE;QACvC,MAAM;QACN,iBAAiB,EAAE,sBAAS,CAAC,eAAe,CAAC;YAC3C,MAAM;YACN,WAAW;YACX,MAAM;SACP,CAAC;QACF,WAAW,EAAE,eAAe;KAC7B,CAAC,CAAC;IACH,OAAO,IAAI,kCAAqB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACzF,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,IAAmB,EAAE,OAAkC,EAAE,EAAuB,EAAE;IACpH,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,2BAAc,CAAC,CAAC;IAC3D,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE;QACjD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAClD,MAAM,IAAI,2BAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,2BAAc,CAAC,CAAC,CAAC;SAC7E;KACF;IACD,MAAM,MAAM,GACV,IAAI,EAAE,MAAM;QACZ,IAAA,qBAAY,EAAC;YACX,KAAK,EAAE,IAAI,CAAC,iBAAiB;YAC7B,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;IACL,MAAM,WAAW,GACf,IAAI,EAAE,WAAW;QACjB,IAAA,yBAAiB,EACf;YACE,MAAM,EAAE,IAAI,CAAC,6BAA6B;YAC1C,YAAY,EAAE,IAAI,CAAC,uBAAuB;SAC3C,EACD,MAAM,CACP,CAAC;IACJ,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IACjF,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAClE;QACD,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;KACrD,CAAC;IACF,IAAI,IAAI,CAAC,aAAa,EAAE;QACtB,MAAM,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;KAClD;IACD,OAAO,IAAI,iBAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC;AAlCW,QAAA,aAAa,iBAkCxB"}
|
|
@@ -17,9 +17,12 @@ export declare enum ServiceNames {
|
|
|
17
17
|
ChainHistory = "chain-history",
|
|
18
18
|
Rewards = "rewards"
|
|
19
19
|
}
|
|
20
|
+
export declare const POOLS_METRICS_INTERVAL_DEFAULT = 1000;
|
|
20
21
|
export declare enum ProjectorOptionDescriptions {
|
|
21
22
|
DropSchema = "Drop and recreate database schema to project from origin",
|
|
22
|
-
DryRun = "Initialize the projection, but do not start it"
|
|
23
|
+
DryRun = "Initialize the projection, but do not start it",
|
|
24
|
+
PoolsMetricsInterval = "Interval between two stake pools metrics jobs in number of blocks",
|
|
25
|
+
Synchronize = "Synchronize the schema from the models"
|
|
23
26
|
}
|
|
24
27
|
export declare enum ProviderServerOptionDescriptions {
|
|
25
28
|
CardanoNodeConfigPath = "Cardano node config path",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/Program/programs/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAK7D,oBAAY,QAAQ;IAClB,gBAAgB,sBAAsB;IACtC,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,SAAS,cAAc;CACxB;AAMD,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,oBAAY,2BAA2B;IACrC,UAAU,6DAA6D;IACvE,MAAM,mDAAmD;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/Program/programs/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAK7D,oBAAY,QAAQ;IAClB,gBAAgB,sBAAsB;IACtC,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,SAAS,cAAc;CACxB;AAMD,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,8BAA8B,OAAO,CAAC;AAEnD,oBAAY,2BAA2B;IACrC,UAAU,6DAA6D;IACvE,MAAM,mDAAmD;IACzD,oBAAoB,sEAAsE;IAC1F,WAAW,2CAA2C;CACvD;AAED,oBAAY,gCAAgC;IAC1C,qBAAqB,6BAA6B;IAClD,UAAU,qGAAqG;IAC/G,cAAc,oDAAoD;IAClE,cAAc,qBAAqB;IACnC,yBAAyB,oDAAoD;IAC7E,iBAAiB,wBAAwB;IACzC,qBAAqB,4CAA4C;IACjE,sBAAsB,kCAAkC;IACxD,aAAa,sCAAsC;IACnD,QAAQ,qBAAqB;IAC7B,uBAAuB,2DAA2D;CACnF;AAED,oBAAY,kBAAkB,GAAG,oBAAoB,GACnD,qBAAqB,CAAC,QAAQ,CAAC,GAC/B,oBAAoB,GACpB,sBAAsB,GAAG;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProviderServerOptionDescriptions = exports.ProjectorOptionDescriptions = exports.ServiceNames = exports.Programs = void 0;
|
|
3
|
+
exports.ProviderServerOptionDescriptions = exports.ProjectorOptionDescriptions = exports.POOLS_METRICS_INTERVAL_DEFAULT = exports.ServiceNames = exports.Programs = void 0;
|
|
4
4
|
var Programs;
|
|
5
5
|
(function (Programs) {
|
|
6
6
|
Programs["BlockfrostWorker"] = "Blockfrost worker";
|
|
@@ -18,10 +18,13 @@ var ServiceNames;
|
|
|
18
18
|
ServiceNames["ChainHistory"] = "chain-history";
|
|
19
19
|
ServiceNames["Rewards"] = "rewards";
|
|
20
20
|
})(ServiceNames = exports.ServiceNames || (exports.ServiceNames = {}));
|
|
21
|
+
exports.POOLS_METRICS_INTERVAL_DEFAULT = 1000;
|
|
21
22
|
var ProjectorOptionDescriptions;
|
|
22
23
|
(function (ProjectorOptionDescriptions) {
|
|
23
24
|
ProjectorOptionDescriptions["DropSchema"] = "Drop and recreate database schema to project from origin";
|
|
24
25
|
ProjectorOptionDescriptions["DryRun"] = "Initialize the projection, but do not start it";
|
|
26
|
+
ProjectorOptionDescriptions["PoolsMetricsInterval"] = "Interval between two stake pools metrics jobs in number of blocks";
|
|
27
|
+
ProjectorOptionDescriptions["Synchronize"] = "Synchronize the schema from the models";
|
|
25
28
|
})(ProjectorOptionDescriptions = exports.ProjectorOptionDescriptions || (exports.ProjectorOptionDescriptions = {}));
|
|
26
29
|
var ProviderServerOptionDescriptions;
|
|
27
30
|
(function (ProviderServerOptionDescriptions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/Program/programs/types.ts"],"names":[],"mappings":";;;AAQA,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,kDAAsC,CAAA;IACtC,8CAAkC,CAAA;IAClC,8CAAkC,CAAA;IAClC,mCAAuB,CAAA;AACzB,CAAC,EALW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAKnB;AAMD,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,wCAAwB,CAAA;IACxB,4CAA4B,CAAA;IAC5B,sCAAsB,CAAA;IACtB,6BAAa,CAAA;IACb,8CAA8B,CAAA;IAC9B,mCAAmB,CAAA;AACrB,CAAC,EARW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAQvB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/Program/programs/types.ts"],"names":[],"mappings":";;;AAQA,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,kDAAsC,CAAA;IACtC,8CAAkC,CAAA;IAClC,8CAAkC,CAAA;IAClC,mCAAuB,CAAA;AACzB,CAAC,EALW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAKnB;AAMD,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,wCAAwB,CAAA;IACxB,4CAA4B,CAAA;IAC5B,sCAAsB,CAAA;IACtB,6BAAa,CAAA;IACb,8CAA8B,CAAA;IAC9B,mCAAmB,CAAA;AACrB,CAAC,EARW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAQvB;AAEY,QAAA,8BAA8B,GAAG,IAAI,CAAC;AAEnD,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,sGAAuE,CAAA;IACvE,wFAAyD,CAAA;IACzD,yHAA0F,CAAA;IAC1F,qFAAsD,CAAA;AACxD,CAAC,EALW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAKtC;AAED,IAAY,gCAYX;AAZD,WAAY,gCAAgC;IAC1C,sFAAkD,CAAA;IAClD,mJAA+G,CAAA;IAC/G,sGAAkE,CAAA;IAClE,uEAAmC,CAAA;IACnC,iHAA6E,CAAA;IAC7E,6EAAyC,CAAA;IACzC,qGAAiE,CAAA;IACjE,4FAAwD,CAAA;IACxD,uFAAmD,CAAA;IACnD,iEAA6B,CAAA;IAC7B,sHAAkF,CAAA;AACpF,CAAC,EAZW,gCAAgC,GAAhC,wCAAgC,KAAhC,wCAAgC,QAY3C"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { BlockEntity, PgConnectionConfig, PoolMetadataEntity, PoolRegistrationEntity, PoolRetirementEntity, StakePoolEntity } from '@cardano-sdk/projection-typeorm';
|
|
1
|
+
import { BlockEntity, CurrentPoolMetricsEntity, PgConnectionConfig, PoolMetadataEntity, PoolRegistrationEntity, PoolRetirementEntity, StakePoolEntity } from '@cardano-sdk/projection-typeorm';
|
|
2
2
|
import { DataSource } from 'typeorm';
|
|
3
3
|
import { HttpService } from '../../Http/HttpService';
|
|
4
4
|
import { Logger } from 'ts-log';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
|
-
import { PgBossQueue } from '../../PgBoss
|
|
6
|
+
import { PgBossQueue } from '../../PgBoss';
|
|
7
7
|
import { Pool } from 'pg';
|
|
8
|
-
export declare const pgBossEntities: (typeof
|
|
8
|
+
export declare const pgBossEntities: (typeof PoolRegistrationEntity | typeof PoolMetadataEntity | typeof CurrentPoolMetricsEntity | typeof StakePoolEntity | typeof BlockEntity | typeof PoolRetirementEntity)[];
|
|
9
9
|
export declare const createPgBossDataSource: (connectionConfig$: Observable<PgConnectionConfig>, logger: Logger) => Observable<DataSource>;
|
|
10
10
|
export interface PgBossServiceConfig {
|
|
11
11
|
parallelJobs: number;
|
|
12
12
|
queues: PgBossQueue[];
|
|
13
|
+
stakePoolProviderUrl?: string;
|
|
13
14
|
}
|
|
14
15
|
export interface PgBossServiceDependencies {
|
|
15
16
|
connectionConfig$: Observable<PgConnectionConfig>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgboss.d.ts","sourceRoot":"","sources":["../../../../src/Program/services/pgboss.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EAGhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACL,UAAU,EAWX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"pgboss.d.ts","sourceRoot":"","sources":["../../../../src/Program/services/pgboss.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EAGhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACL,UAAU,EAWX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAU1B,eAAO,MAAM,cAAc,6KAO1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,sBAAuB,WAAW,kBAAkB,CAAC,UAAU,MAAM,2BAOpG,CAAC;AAEL,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAClD,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,iBAAkB,SAAQ,WAAW;;gBAOpC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,yBAAyB;cAUrD,SAAS;cAkBT,YAAY;IAM5B,OAAO,CAAC,IAAI;IAoCZ,OAAO,CAAC,SAAS;CAmDlB"}
|
|
@@ -10,35 +10,44 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
10
10
|
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");
|
|
11
11
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
12
|
};
|
|
13
|
-
var _PgBossHttpService_config, _PgBossHttpService_dataSource$, _PgBossHttpService_subscription, _PgBossHttpService_health;
|
|
13
|
+
var _PgBossHttpService_config, _PgBossHttpService_dataSource$, _PgBossHttpService_db, _PgBossHttpService_subscription, _PgBossHttpService_health;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.PgBossHttpService = exports.createPgBossDataSource = exports.pgBossEntities = void 0;
|
|
16
16
|
const projection_typeorm_1 = require("@cardano-sdk/projection-typeorm");
|
|
17
17
|
const HttpService_1 = require("../../Http/HttpService");
|
|
18
18
|
const rxjs_1 = require("rxjs");
|
|
19
|
+
const PgBoss_1 = require("../../PgBoss");
|
|
19
20
|
const express_1 = require("express");
|
|
20
21
|
const util_1 = require("@cardano-sdk/util");
|
|
21
22
|
const createTypeormProjection_1 = require("../../Projection/createTypeormProjection");
|
|
22
|
-
const util_2 = require("../../PgBoss/util");
|
|
23
23
|
const backoff_rxjs_1 = require("backoff-rxjs");
|
|
24
24
|
exports.pgBossEntities = [
|
|
25
|
+
projection_typeorm_1.CurrentPoolMetricsEntity,
|
|
25
26
|
projection_typeorm_1.BlockEntity,
|
|
26
27
|
projection_typeorm_1.PoolMetadataEntity,
|
|
27
28
|
projection_typeorm_1.PoolRegistrationEntity,
|
|
28
29
|
projection_typeorm_1.PoolRetirementEntity,
|
|
29
30
|
projection_typeorm_1.StakePoolEntity
|
|
30
31
|
];
|
|
31
|
-
const createPgBossDataSource = (connectionConfig$, logger) => (0, createTypeormProjection_1.createObservableDataSource)({
|
|
32
|
+
const createPgBossDataSource = (connectionConfig$, logger) => (0, createTypeormProjection_1.createObservableDataSource)({
|
|
33
|
+
connectionConfig$,
|
|
34
|
+
entities: exports.pgBossEntities,
|
|
35
|
+
extensions: {},
|
|
36
|
+
logger,
|
|
37
|
+
migrationsRun: false
|
|
38
|
+
});
|
|
32
39
|
exports.createPgBossDataSource = createPgBossDataSource;
|
|
33
40
|
class PgBossHttpService extends HttpService_1.HttpService {
|
|
34
41
|
constructor(cfg, deps) {
|
|
35
|
-
const { connectionConfig$, logger } = deps;
|
|
42
|
+
const { connectionConfig$, db, logger } = deps;
|
|
36
43
|
super('pg-boss-service', { healthCheck: async () => __classPrivateFieldGet(this, _PgBossHttpService_health, "f") }, (0, express_1.Router)(), logger);
|
|
37
44
|
_PgBossHttpService_config.set(this, void 0);
|
|
38
45
|
_PgBossHttpService_dataSource$.set(this, void 0);
|
|
46
|
+
_PgBossHttpService_db.set(this, void 0);
|
|
39
47
|
_PgBossHttpService_subscription.set(this, void 0);
|
|
40
48
|
_PgBossHttpService_health.set(this, { ok: false, reason: 'PgBossHttpService not started' });
|
|
41
49
|
__classPrivateFieldSet(this, _PgBossHttpService_config, cfg, "f");
|
|
50
|
+
__classPrivateFieldSet(this, _PgBossHttpService_db, db, "f");
|
|
42
51
|
__classPrivateFieldSet(this, _PgBossHttpService_dataSource$, (0, exports.createPgBossDataSource)(connectionConfig$, this.logger), "f");
|
|
43
52
|
}
|
|
44
53
|
async startImpl() {
|
|
@@ -58,7 +67,7 @@ class PgBossHttpService extends HttpService_1.HttpService {
|
|
|
58
67
|
work() {
|
|
59
68
|
return __classPrivateFieldGet(this, _PgBossHttpService_dataSource$, "f").pipe((0, rxjs_1.switchMap)((dataSource) => {
|
|
60
69
|
const pgBoss = (0, projection_typeorm_1.createPgBoss)(null, this.logger, dataSource);
|
|
61
|
-
return (0, rxjs_1.concat)((0, rxjs_1.from)(pgBoss.start()), (0, rxjs_1.merge)(...__classPrivateFieldGet(this, _PgBossHttpService_config, "f").queues.map((queue) => this.workQueue(dataSource, pgBoss, queue)))).pipe((0, rxjs_1.finalize)(() => pgBoss.stop().catch((error) => this.logger.warn('Error stopping pgBoss', error))));
|
|
70
|
+
return (0, rxjs_1.concat)((0, rxjs_1.from)(pgBoss.start()), (0, rxjs_1.merge)(...__classPrivateFieldGet(this, _PgBossHttpService_config, "f").queues.map((queue) => this.workQueue(dataSource, pgBoss, queue, __classPrivateFieldGet(this, _PgBossHttpService_db, "f"))))).pipe((0, rxjs_1.finalize)(() => pgBoss.stop().catch((error) => this.logger.warn('Error stopping pgBoss', error))));
|
|
62
71
|
}), (0, rxjs_1.tap)(() => (__classPrivateFieldSet(this, _PgBossHttpService_health, { ok: true }, "f"))), (0, backoff_rxjs_1.retryBackoff)({
|
|
63
72
|
initialInterval: 10,
|
|
64
73
|
maxInterval: 5000,
|
|
@@ -76,9 +85,14 @@ class PgBossHttpService extends HttpService_1.HttpService {
|
|
|
76
85
|
process.exit(1);
|
|
77
86
|
}));
|
|
78
87
|
}
|
|
79
|
-
workQueue(dataSource, pgBoss, queue) {
|
|
88
|
+
workQueue(dataSource, pgBoss, queue, db) {
|
|
80
89
|
const logger = (0, util_1.contextLogger)(this.logger, queue);
|
|
81
|
-
const handler =
|
|
90
|
+
const handler = PgBoss_1.queueHandlers[queue]({
|
|
91
|
+
dataSource,
|
|
92
|
+
db,
|
|
93
|
+
logger,
|
|
94
|
+
stakePoolProviderUrl: __classPrivateFieldGet(this, _PgBossHttpService_config, "f").stakePoolProviderUrl
|
|
95
|
+
});
|
|
82
96
|
return new rxjs_1.Observable((subscriber) => {
|
|
83
97
|
const workOption = {
|
|
84
98
|
teamConcurrency: __classPrivateFieldGet(this, _PgBossHttpService_config, "f").parallelJobs,
|
|
@@ -110,5 +124,5 @@ class PgBossHttpService extends HttpService_1.HttpService {
|
|
|
110
124
|
}
|
|
111
125
|
}
|
|
112
126
|
exports.PgBossHttpService = PgBossHttpService;
|
|
113
|
-
_PgBossHttpService_config = new WeakMap(), _PgBossHttpService_dataSource$ = new WeakMap(), _PgBossHttpService_subscription = new WeakMap(), _PgBossHttpService_health = new WeakMap();
|
|
127
|
+
_PgBossHttpService_config = new WeakMap(), _PgBossHttpService_dataSource$ = new WeakMap(), _PgBossHttpService_db = new WeakMap(), _PgBossHttpService_subscription = new WeakMap(), _PgBossHttpService_health = new WeakMap();
|
|
114
128
|
//# sourceMappingURL=pgboss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgboss.js","sourceRoot":"","sources":["../../../../src/Program/services/pgboss.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"pgboss.js","sourceRoot":"","sources":["../../../../src/Program/services/pgboss.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,18 @@ export interface CreateTypeormProjectionProps {
|
|
|
11
11
|
devOptions?: TypeormDevOptions;
|
|
12
12
|
logger: Logger;
|
|
13
13
|
}
|
|
14
|
-
export declare const createObservableDataSource: ({ connectionConfig$, logger, buffer, devOptions, entities, extensions }: Omit<CreateTypeormProjectionProps,
|
|
14
|
+
export declare const createObservableDataSource: ({ connectionConfig$, logger, buffer, devOptions, entities, extensions, migrationsRun }: Omit<CreateTypeormProjectionProps, "projections" | "projectionSource$"> & Pick<{
|
|
15
|
+
__debug: {
|
|
16
|
+
entities: ("output" | "stakePool" | "block" | "asset" | "blockData" | "currentPoolMetrics" | "poolMetadata" | "poolRegistration" | "poolRetirement" | "tokens" | null)[];
|
|
17
|
+
mappers: ("withCertificates" | "withMint" | "withStakePools" | "withUtxo" | null)[];
|
|
18
|
+
stores: ("storeAssets" | "storeBlock" | "storePoolMetricsUpdateJob" | "storeStakePoolMetadataJob" | "storeStakePools" | "storeUtxo" | null)[];
|
|
19
|
+
};
|
|
20
|
+
entities: (typeof import("@cardano-sdk/projection-typeorm").PoolRegistrationEntity | typeof import("@cardano-sdk/projection-typeorm").PoolMetadataEntity | typeof import("@cardano-sdk/projection-typeorm").CurrentPoolMetricsEntity | typeof import("@cardano-sdk/projection-typeorm").StakePoolEntity | typeof import("@cardano-sdk/projection-typeorm").AssetEntity | typeof import("@cardano-sdk/projection-typeorm").BlockEntity | typeof import("@cardano-sdk/projection-typeorm").BlockDataEntity | typeof import("@cardano-sdk/projection-typeorm").OutputEntity | typeof import("@cardano-sdk/projection-typeorm").PoolRetirementEntity | typeof import("@cardano-sdk/projection-typeorm").TokensEntity)[];
|
|
21
|
+
extensions: import("@cardano-sdk/projection-typeorm").DataSourceExtensions;
|
|
22
|
+
mappers: (import("@cardano-sdk/projection").ExtChainSyncOperator<{}, import("@cardano-sdk/projection").WithBlock, import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithCertificates, import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithCertificates> | import("@cardano-sdk/projection").ExtChainSyncOperator<{}, import("@cardano-sdk/projection").WithBlock, import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithMint, import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithMint> | import("@cardano-sdk/projection").ExtChainSyncOperator<import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithCertificates & import("@cardano-sdk/projection").WithEpochNo, import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithCertificates & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithBlock, import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithStakePools, import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithStakePools> | import("@cardano-sdk/projection").ExtChainSyncOperator<{}, import("@cardano-sdk/projection").WithBlock, import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithUtxo, import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithUtxo>)[];
|
|
23
|
+
stores: (import("@cardano-sdk/projection").ExtChainSyncOperator<import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithMint, import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithMint & import("@cardano-sdk/projection").WithBlock, {}, {}> | import("@cardano-sdk/projection").ExtChainSyncOperator<import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext, import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection").WithBlock, {}, {}> | import("@cardano-sdk/projection").ExtChainSyncOperator<import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection-typeorm").WithPgBoss, import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection-typeorm").WithPgBoss & import("@cardano-sdk/projection").WithBlock, {}, {}> | import("@cardano-sdk/projection").ExtChainSyncOperator<import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithStakePools & import("@cardano-sdk/projection-typeorm").WithPgBoss, import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithStakePools & import("@cardano-sdk/projection-typeorm").WithPgBoss & import("@cardano-sdk/projection").WithBlock, {}, {}> | import("@cardano-sdk/projection").ExtChainSyncOperator<import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithStakePools, import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithStakePools & import("@cardano-sdk/projection").WithBlock, {}, {}> | import("@cardano-sdk/projection").ExtChainSyncOperator<import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithUtxo, import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & import("@cardano-sdk/projection/dist/cjs/operators/Mappers").WithUtxo & import("@cardano-sdk/projection").WithBlock, {}, {}>)[];
|
|
24
|
+
}, "entities" | "extensions"> & {
|
|
25
|
+
migrationsRun: boolean;
|
|
26
|
+
}) => Observable<import("typeorm").DataSource>;
|
|
15
27
|
export declare const createTypeormProjection: ({ projections, projectionSource$, connectionConfig$, logger, devOptions, buffer }: CreateTypeormProjectionProps) => Observable<Omit<ProjectionEvent<Omit<WithTypeormContext, keyof WithTypeormContext | "pgBoss">>, "requestNext">>;
|
|
16
28
|
//# sourceMappingURL=createTypeormProjection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTypeormProjection.d.ts","sourceRoot":"","sources":["../../../src/Projection/createTypeormProjection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAmB,MAAM,MAAM,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAKnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAA4B,MAAM,4BAA4B,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAsC,MAAM,yBAAyB,CAAC;AAI9F,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,iBAAiB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/C,iBAAiB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"createTypeormProjection.d.ts","sourceRoot":"","sources":["../../../src/Projection/createTypeormProjection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAmB,MAAM,MAAM,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAKnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAA4B,MAAM,4BAA4B,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAsC,MAAM,yBAAyB,CAAC;AAI9F,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,iBAAiB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/C,iBAAiB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD,eAAO,MAAM,0BAA0B;;;;;;;;;;;mBASkC,OAAO;8CA2B7E,CAAC;AASJ,eAAO,MAAM,uBAAuB,sFAOjC,4BAA4B,oHAyB9B,CAAC"}
|
|
@@ -9,7 +9,7 @@ const migrations_1 = require("./migrations");
|
|
|
9
9
|
const util_rxjs_1 = require("@cardano-sdk/util-rxjs");
|
|
10
10
|
const applyMappers = (selectedMappers) => (evt$) => evt$.pipe.apply(evt$, selectedMappers);
|
|
11
11
|
const applyStores = (selectedStores) => (evt$) => evt$.pipe.apply(evt$, selectedStores);
|
|
12
|
-
const createObservableDataSource = ({ connectionConfig$, logger, buffer, devOptions, entities, extensions }) => connectionConfig$.pipe((0, rxjs_1.switchMap)((connectionConfig) => (0, rxjs_1.from)((async () => {
|
|
12
|
+
const createObservableDataSource = ({ connectionConfig$, logger, buffer, devOptions, entities, extensions, migrationsRun }) => connectionConfig$.pipe((0, rxjs_1.switchMap)((connectionConfig) => (0, rxjs_1.from)((async () => {
|
|
13
13
|
const dataSource = (0, projection_typeorm_1.createDataSource)({
|
|
14
14
|
connectionConfig,
|
|
15
15
|
devOptions,
|
|
@@ -19,7 +19,7 @@ const createObservableDataSource = ({ connectionConfig$, logger, buffer, devOpti
|
|
|
19
19
|
options: {
|
|
20
20
|
installExtensions: true,
|
|
21
21
|
migrations: migrations_1.migrations.filter(({ entity }) => entities.includes(entity)),
|
|
22
|
-
migrationsRun:
|
|
22
|
+
migrationsRun: migrationsRun && !devOptions?.synchronize
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
await dataSource.initialize();
|
|
@@ -39,7 +39,8 @@ const createTypeormProjection = ({ projections, projectionSource$, connectionCon
|
|
|
39
39
|
devOptions,
|
|
40
40
|
entities,
|
|
41
41
|
extensions,
|
|
42
|
-
logger
|
|
42
|
+
logger,
|
|
43
|
+
migrationsRun: true
|
|
43
44
|
});
|
|
44
45
|
return projectionSource$.pipe(applyMappers(mappers), (0, util_rxjs_1.shareRetryBackoff)((evt$) => evt$.pipe((0, projection_typeorm_1.withTypeormTransaction)({ dataSource$, logger }, extensions), applyStores(stores), (0, projection_typeorm_1.typeormTransactionCommit)()), { shouldRetry: projection_typeorm_1.isRecoverableTypeormError }), (0, projection_1.requestNext)(), (0, projection_1.logProjectionProgress)(logger));
|
|
45
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTypeormProjection.js","sourceRoot":"","sources":["../../../src/Projection/createTypeormProjection.ts"],"names":[],"mappings":";;;AAGA,+BAAmD;AACnD,wEASyC;AACzC,yEAA0G;AAC1G,wDAA8F;AAC9F,6CAA0C;AAC1C,sDAA2D;AAW3D,MAAM,YAAY,GAChB,CAAS,eAA8C,EAAE,EAAE,CAC3D,CAAC,IAAiC,EAAE,EAAE,CACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAsB,CAAmC,CAAC;AACpF,MAAM,WAAW,GACf,CAA+B,cAA4C,EAAE,EAAE,CAC/E,CAAC,IAAmB,EAAE,EAAE,CACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAqB,CAAkB,CAAC;AAE3D,MAAM,0BAA0B,GAAG,CAAC,EACzC,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,UAAU,EACV,QAAQ,EACR,UAAU,
|
|
1
|
+
{"version":3,"file":"createTypeormProjection.js","sourceRoot":"","sources":["../../../src/Projection/createTypeormProjection.ts"],"names":[],"mappings":";;;AAGA,+BAAmD;AACnD,wEASyC;AACzC,yEAA0G;AAC1G,wDAA8F;AAC9F,6CAA0C;AAC1C,sDAA2D;AAW3D,MAAM,YAAY,GAChB,CAAS,eAA8C,EAAE,EAAE,CAC3D,CAAC,IAAiC,EAAE,EAAE,CACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAsB,CAAmC,CAAC;AACpF,MAAM,WAAW,GACf,CAA+B,cAA4C,EAAE,EAAE,CAC/E,CAAC,IAAmB,EAAE,EAAE,CACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAqB,CAAkB,CAAC;AAE3D,MAAM,0BAA0B,GAAG,CAAC,EACzC,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EAEmE,EAAE,EAAE,CACpF,iBAAiB,CAAC,IAAI,CACpB,IAAA,gBAAS,EAAC,CAAC,gBAAgB,EAAE,EAAE,CAC7B,IAAA,WAAI,EACF,CAAC,KAAK,IAAI,EAAE;IACV,MAAM,UAAU,GAAG,IAAA,qCAAgB,EAAC;QAClC,gBAAgB;QAChB,UAAU;QACV,QAAQ;QACR,UAAU;QACV,MAAM;QACN,OAAO,EAAE;YACP,iBAAiB,EAAE,IAAI;YACvB,UAAU,EAAE,uBAAU,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAa,CAAC,CAAC;YAC/E,aAAa,EAAE,aAAa,IAAI,CAAC,UAAU,EAAE,WAAW;SACzD;KACF,CAAC,CAAC;IACH,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;IAC9B,IAAI,MAAM,EAAE;QACV,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;KAC7B;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,EAAE,CACL,CACF,CACF,CAAC;AApCS,QAAA,0BAA0B,8BAoCnC;AASG,MAAM,uBAAuB,GAAG,CAAC,EACtC,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,EACN,UAAU,EACV,MAAM,EACuB,EAAE,EAAE;IACjC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,mDAAwB,EAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACpG,MAAM,WAAW,GAAG,IAAA,kCAA0B,EAAC;QAC7C,MAAM;QACN,iBAAiB;QACjB,UAAU;QACV,QAAQ;QACR,UAAU;QACV,MAAM;QACN,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,IAAI,CAC3B,YAAY,CAAC,OAAO,CAAC,EACrB,IAAA,6BAAiB,EACf,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,IAAA,2CAAsB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAC3D,WAAW,CAAC,MAAM,CAAC,EACnB,IAAA,6CAAwB,GAAE,CAC3B,EACH,EAAE,WAAW,EAAE,8CAAyB,EAAE,CAC3C,EACD,IAAA,wBAAW,GAAE,EACb,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAC9B,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,uBAAuB,2BAgClC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CurrentPoolMetricsEntity } from '@cardano-sdk/projection-typeorm';
|
|
2
|
+
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
3
|
+
export declare class PoolMetricsMigrations1685011799580 implements MigrationInterface {
|
|
4
|
+
static entity: typeof CurrentPoolMetricsEntity;
|
|
5
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=1685011799580-stake-pool-metrics-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1685011799580-stake-pool-metrics-table.d.ts","sourceRoot":"","sources":["../../../../src/Projection/migrations/1685011799580-stake-pool-metrics-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,qBAAa,kCAAmC,YAAW,kBAAkB;IAC3E,MAAM,CAAC,MAAM,kCAA4B;IAE5B,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAM3D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PoolMetricsMigrations1685011799580 = void 0;
|
|
4
|
+
const projection_typeorm_1 = require("@cardano-sdk/projection-typeorm");
|
|
5
|
+
class PoolMetricsMigrations1685011799580 {
|
|
6
|
+
async up(queryRunner) {
|
|
7
|
+
await queryRunner.query('CREATE TABLE "current_pool_metrics" ("stake_pool_id" character(56) NOT NULL, "slot" integer NOT NULL, "minted_blocks" integer NOT NULL, "live_delegators" integer NOT NULL, "active_stake" bigint NOT NULL, "live_stake" bigint NOT NULL, "live_pledge" bigint NOT NULL, "live_saturation" numeric NOT NULL, "active_size" numeric NOT NULL, "live_size" numeric NOT NULL, "apy" numeric NOT NULL, CONSTRAINT "PK_current_pool_metrics_stake_pool_id" PRIMARY KEY ("stake_pool_id"))');
|
|
8
|
+
await queryRunner.query('ALTER TABLE "current_pool_metrics" ADD CONSTRAINT "FK_current_pool_metrics_stake_pool_id" FOREIGN KEY ("stake_pool_id") REFERENCES "stake_pool"("id") ON DELETE CASCADE ON UPDATE NO ACTION');
|
|
9
|
+
}
|
|
10
|
+
async down(queryRunner) {
|
|
11
|
+
await queryRunner.query('ALTER TABLE "current_pool_metrics" DROP CONSTRAINT "FK_current_pool_metrics_stake_pool_id"');
|
|
12
|
+
await queryRunner.query('DROP TABLE "current_pool_metrics"');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.PoolMetricsMigrations1685011799580 = PoolMetricsMigrations1685011799580;
|
|
16
|
+
PoolMetricsMigrations1685011799580.entity = projection_typeorm_1.CurrentPoolMetricsEntity;
|
|
17
|
+
//# sourceMappingURL=1685011799580-stake-pool-metrics-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1685011799580-stake-pool-metrics-table.js","sourceRoot":"","sources":["../../../../src/Projection/migrations/1685011799580-stake-pool-metrics-table.ts"],"names":[],"mappings":";;;AAAA,wEAA2E;AAG3E,MAAa,kCAAkC;IAGtC,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,sdAAsd,CACvd,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,6LAA6L,CAC9L,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,4FAA4F,CAC7F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC/D,CAAC;;AAjBH,gFAkBC;AAjBQ,yCAAM,GAAG,6CAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Projection/migrations/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Projection/migrations/index.ts"],"names":[],"mappings":"AAaA,aAAK,mBAAmB,GAAG,QAAQ,GAAG;IACpC,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,mBAAmB,EAa3C,CAAC"}
|