@cardano-sdk/cardano-services 0.10.0-nightly.0 → 0.10.0-nightly.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/cjs/Blockfrost/BlockfrostService.d.ts +23 -0
- package/dist/cjs/Blockfrost/BlockfrostService.d.ts.map +1 -0
- package/dist/cjs/Blockfrost/BlockfrostService.js +116 -0
- package/dist/cjs/Blockfrost/BlockfrostService.js.map +1 -0
- package/dist/cjs/Blockfrost/builder.d.ts +12 -0
- package/dist/cjs/Blockfrost/builder.d.ts.map +1 -0
- package/dist/cjs/Blockfrost/builder.js +51 -0
- package/dist/cjs/Blockfrost/builder.js.map +1 -0
- package/dist/cjs/Blockfrost/index.d.ts +2 -0
- package/dist/cjs/Blockfrost/index.d.ts.map +1 -0
- package/dist/cjs/Blockfrost/index.js +18 -0
- package/dist/cjs/Blockfrost/index.js.map +1 -0
- package/dist/cjs/Blockfrost/mappers.d.ts +3 -0
- package/dist/cjs/Blockfrost/mappers.d.ts.map +1 -0
- package/dist/cjs/Blockfrost/mappers.js +8 -0
- package/dist/cjs/Blockfrost/mappers.js.map +1 -0
- package/dist/cjs/Blockfrost/queries.d.ts +6 -0
- package/dist/cjs/Blockfrost/queries.d.ts.map +1 -0
- package/dist/cjs/Blockfrost/queries.js +62 -0
- package/dist/cjs/Blockfrost/queries.js.map +1 -0
- package/dist/cjs/Blockfrost/types.d.ts +18 -0
- package/dist/cjs/Blockfrost/types.d.ts.map +1 -0
- package/dist/cjs/Blockfrost/types.js +3 -0
- package/dist/cjs/Blockfrost/types.js.map +1 -0
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js +4 -0
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.d.ts +2 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.js +2 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.d.ts +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.js +1 -0
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/types.d.ts +2 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/types.d.ts.map +1 -1
- package/dist/cjs/Http/HttpServer.d.ts +7 -3
- package/dist/cjs/Http/HttpServer.d.ts.map +1 -1
- package/dist/cjs/Http/HttpServer.js +10 -7
- package/dist/cjs/Http/HttpServer.js.map +1 -1
- package/dist/cjs/Http/HttpService.d.ts +3 -3
- package/dist/cjs/Http/HttpService.d.ts.map +1 -1
- package/dist/cjs/Http/HttpService.js.map +1 -1
- package/dist/cjs/InMemoryCache/NoCache.d.ts +12 -0
- package/dist/cjs/InMemoryCache/NoCache.d.ts.map +1 -0
- package/dist/cjs/InMemoryCache/NoCache.js +26 -0
- package/dist/cjs/InMemoryCache/NoCache.js.map +1 -0
- package/dist/cjs/InMemoryCache/index.d.ts +1 -0
- package/dist/cjs/InMemoryCache/index.d.ts.map +1 -1
- package/dist/cjs/InMemoryCache/index.js +1 -0
- package/dist/cjs/InMemoryCache/index.js.map +1 -1
- package/dist/cjs/Program/options/common.js +1 -1
- package/dist/cjs/Program/options/common.js.map +1 -1
- package/dist/cjs/Program/programs/blockfrostWorker.d.ts +32 -0
- package/dist/cjs/Program/programs/blockfrostWorker.d.ts.map +1 -0
- package/dist/cjs/Program/programs/blockfrostWorker.js +60 -0
- package/dist/cjs/Program/programs/blockfrostWorker.js.map +1 -0
- package/dist/cjs/Program/programs/index.d.ts +4 -2
- package/dist/cjs/Program/programs/index.d.ts.map +1 -1
- package/dist/cjs/Program/programs/index.js +4 -2
- package/dist/cjs/Program/programs/index.js.map +1 -1
- package/dist/cjs/Program/programs/{httpServer.d.ts → providerServer.d.ts} +11 -5
- package/dist/cjs/Program/programs/providerServer.d.ts.map +1 -0
- package/dist/cjs/Program/programs/{httpServer.js → providerServer.js} +29 -24
- package/dist/cjs/Program/programs/providerServer.js.map +1 -0
- package/dist/cjs/Program/services/blockfrost.d.ts +21 -0
- package/dist/cjs/Program/services/blockfrost.d.ts.map +1 -0
- package/dist/cjs/Program/services/blockfrost.js +117 -0
- package/dist/cjs/Program/services/blockfrost.js.map +1 -0
- package/dist/cjs/Program/services/index.d.ts +1 -0
- package/dist/cjs/Program/services/index.d.ts.map +1 -1
- package/dist/cjs/Program/services/index.js +1 -0
- package/dist/cjs/Program/services/index.js.map +1 -1
- package/dist/cjs/Program/services/postgres.d.ts +1 -2
- package/dist/cjs/Program/services/postgres.d.ts.map +1 -1
- package/dist/cjs/Program/services/postgres.js.map +1 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/queries.d.ts +1 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/queries.d.ts.map +1 -1
- package/dist/cjs/Rewards/DbSyncRewardProvider/queries.js +0 -2
- package/dist/cjs/Rewards/DbSyncRewardProvider/queries.js.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.d.ts +2 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.js +35 -23
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.js.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/StakePoolBuilder.d.ts +7 -5
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/StakePoolBuilder.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/StakePoolBuilder.js +40 -14
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/StakePoolBuilder.js.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.d.ts +3 -2
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.js +37 -11
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/mappers.js.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.d.ts +23 -6
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.js +87 -58
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/queries.js.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/types.d.ts +11 -5
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/types.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/util.d.ts +1 -2
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/util.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/util.js +1 -2
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/util.js.map +1 -1
- package/dist/cjs/StakePool/openApi.json +2 -2
- package/dist/cjs/Utxo/DbSyncUtxoProvider/UtxoBuilder.d.ts +1 -1
- package/dist/cjs/Utxo/DbSyncUtxoProvider/UtxoBuilder.d.ts.map +1 -1
- package/dist/cjs/Utxo/DbSyncUtxoProvider/UtxoBuilder.js.map +1 -1
- package/dist/cjs/Utxo/DbSyncUtxoProvider/mappers.js.map +1 -1
- package/dist/cjs/cli.js +75 -30
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/original-package.json +13 -12
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/util/validators.js +1 -1
- package/dist/cjs/util/validators.js.map +1 -1
- package/package.json +13 -12
- package/dist/cjs/Program/programs/httpServer.d.ts.map +0 -1
- package/dist/cjs/Program/programs/httpServer.js.map +0 -1
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.loadProviderServer = exports.ProviderServerOptionDescriptions = exports.cardanoNodeDependantServices = exports.ServiceNames = exports.USE_QUEUE_DEFAULT = exports.USE_BLOCKFROST_DEFAULT = exports.PAGINATION_PAGE_SIZE_LIMIT_DEFAULT = exports.HTTP_SERVER_API_URL_DEFAULT = exports.DISABLE_DB_CACHE_DEFAULT = void 0;
|
|
7
7
|
const Asset_1 = require("../../Asset");
|
|
8
8
|
const ChainHistory_1 = require("../../ChainHistory");
|
|
9
9
|
const options_1 = require("../options");
|
|
@@ -23,8 +23,10 @@ const bunyan_1 = require("bunyan");
|
|
|
23
23
|
const services_1 = require("../services");
|
|
24
24
|
const util_2 = require("@cardano-sdk/util");
|
|
25
25
|
const memoize_1 = __importDefault(require("lodash/memoize"));
|
|
26
|
+
exports.DISABLE_DB_CACHE_DEFAULT = false;
|
|
26
27
|
exports.HTTP_SERVER_API_URL_DEFAULT = new url_1.URL('http://localhost:3000');
|
|
27
28
|
exports.PAGINATION_PAGE_SIZE_LIMIT_DEFAULT = 25;
|
|
29
|
+
exports.USE_BLOCKFROST_DEFAULT = false;
|
|
28
30
|
exports.USE_QUEUE_DEFAULT = false;
|
|
29
31
|
var ServiceNames;
|
|
30
32
|
(function (ServiceNames) {
|
|
@@ -44,16 +46,18 @@ exports.cardanoNodeDependantServices = new Set([
|
|
|
44
46
|
ServiceNames.Asset,
|
|
45
47
|
ServiceNames.ChainHistory
|
|
46
48
|
]);
|
|
47
|
-
var
|
|
48
|
-
(function (
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
var ProviderServerOptionDescriptions;
|
|
50
|
+
(function (ProviderServerOptionDescriptions) {
|
|
51
|
+
ProviderServerOptionDescriptions["CardanoNodeConfigPath"] = "Cardano node config path";
|
|
52
|
+
ProviderServerOptionDescriptions["DbCacheTtl"] = "Cache TTL in seconds between 60 and 172800 (two days), an option for database related operations";
|
|
53
|
+
ProviderServerOptionDescriptions["DisableDbCache"] = "Disable DB cache";
|
|
54
|
+
ProviderServerOptionDescriptions["EpochPollInterval"] = "Epoch poll interval";
|
|
55
|
+
ProviderServerOptionDescriptions["TokenMetadataCacheTtl"] = "Token Metadata API cache TTL in minutes";
|
|
56
|
+
ProviderServerOptionDescriptions["TokenMetadataServerUrl"] = "Token Metadata API server URL";
|
|
57
|
+
ProviderServerOptionDescriptions["UseBlockfrost"] = "Enables Blockfrost cached data DB";
|
|
58
|
+
ProviderServerOptionDescriptions["UseQueue"] = "Enables RabbitMQ";
|
|
59
|
+
ProviderServerOptionDescriptions["PaginationPageSizeLimit"] = "Pagination page size limit shared across all providers";
|
|
60
|
+
})(ProviderServerOptionDescriptions = exports.ProviderServerOptionDescriptions || (exports.ProviderServerOptionDescriptions = {}));
|
|
57
61
|
const serviceMapFactory = (options) => {
|
|
58
62
|
const { args, dbConnection, dnsResolver, genesisData, logger, node } = options;
|
|
59
63
|
const withDbSyncProvider = (factory, serviceName) => () => {
|
|
@@ -66,6 +70,7 @@ const serviceMapFactory = (options) => {
|
|
|
66
70
|
throw new errors_1.MissingServiceDependency(serviceName, errors_1.RunnableDependencies.CardanoNode);
|
|
67
71
|
return factory(dbConnection, node);
|
|
68
72
|
};
|
|
73
|
+
const getCache = () => (args.disableDbCache ? new InMemoryCache_1.NoCache() : new InMemoryCache_1.InMemoryCache(args.dbCacheTtl));
|
|
69
74
|
const getEpochMonitor = (0, memoize_1.default)((dbPool) => new util_1.DbSyncEpochPollService(dbPool, args.epochPollInterval));
|
|
70
75
|
return {
|
|
71
76
|
[ServiceNames.Asset]: withDbSyncProvider(async (db, cardanoNode) => {
|
|
@@ -88,9 +93,12 @@ const serviceMapFactory = (options) => {
|
|
|
88
93
|
}, ServiceNames.Asset),
|
|
89
94
|
[ServiceNames.StakePool]: withDbSyncProvider(async (db, cardanoNode) => {
|
|
90
95
|
if (!genesisData)
|
|
91
|
-
throw new errors_1.MissingProgramOption(ServiceNames.StakePool,
|
|
92
|
-
const stakePoolProvider = new StakePool_1.DbSyncStakePoolProvider({
|
|
93
|
-
|
|
96
|
+
throw new errors_1.MissingProgramOption(ServiceNames.StakePool, ProviderServerOptionDescriptions.CardanoNodeConfigPath);
|
|
97
|
+
const stakePoolProvider = new StakePool_1.DbSyncStakePoolProvider({
|
|
98
|
+
paginationPageSizeLimit: args.paginationPageSizeLimit,
|
|
99
|
+
useBlockfrost: args.useBlockfrost
|
|
100
|
+
}, {
|
|
101
|
+
cache: getCache(),
|
|
94
102
|
cardanoNode,
|
|
95
103
|
db,
|
|
96
104
|
epochMonitor: getEpochMonitor(db),
|
|
@@ -112,9 +120,9 @@ const serviceMapFactory = (options) => {
|
|
|
112
120
|
}, ServiceNames.Rewards),
|
|
113
121
|
[ServiceNames.NetworkInfo]: withDbSyncProvider(async (db, cardanoNode) => {
|
|
114
122
|
if (!genesisData)
|
|
115
|
-
throw new errors_1.MissingProgramOption(ServiceNames.NetworkInfo,
|
|
123
|
+
throw new errors_1.MissingProgramOption(ServiceNames.NetworkInfo, ProviderServerOptionDescriptions.CardanoNodeConfigPath);
|
|
116
124
|
const networkInfoProvider = new NetworkInfo_1.DbSyncNetworkInfoProvider({
|
|
117
|
-
cache:
|
|
125
|
+
cache: getCache(),
|
|
118
126
|
cardanoNode,
|
|
119
127
|
db,
|
|
120
128
|
epochMonitor: getEpochMonitor(db),
|
|
@@ -131,12 +139,12 @@ const serviceMapFactory = (options) => {
|
|
|
131
139
|
}
|
|
132
140
|
};
|
|
133
141
|
};
|
|
134
|
-
const
|
|
142
|
+
const loadProviderServer = async (args, deps = {}) => {
|
|
135
143
|
const services = [];
|
|
136
144
|
const logger = deps?.logger ||
|
|
137
145
|
(0, bunyan_1.createLogger)({
|
|
138
146
|
level: args.loggerMinSeverity,
|
|
139
|
-
name: '
|
|
147
|
+
name: 'provider-server'
|
|
140
148
|
});
|
|
141
149
|
const dnsResolver = deps?.dnsResolver ||
|
|
142
150
|
(0, utils_1.createDnsResolver)({
|
|
@@ -158,10 +166,7 @@ const loadHttpServer = async (args, deps = {}) => {
|
|
|
158
166
|
}
|
|
159
167
|
}
|
|
160
168
|
const config = {
|
|
161
|
-
listen:
|
|
162
|
-
host: args.apiUrl.hostname,
|
|
163
|
-
port: args.apiUrl ? Number.parseInt(args.apiUrl.port) : undefined
|
|
164
|
-
},
|
|
169
|
+
listen: (0, Http_1.getListen)(args.apiUrl),
|
|
165
170
|
meta: { ...args.buildInfo, startupTime: Date.now() }
|
|
166
171
|
};
|
|
167
172
|
if (args.enableMetrics) {
|
|
@@ -169,5 +174,5 @@ const loadHttpServer = async (args, deps = {}) => {
|
|
|
169
174
|
}
|
|
170
175
|
return new Http_1.HttpServer(config, { logger, runnableDependencies: [cardanoNode].filter(util_2.isNotNil), services });
|
|
171
176
|
};
|
|
172
|
-
exports.
|
|
173
|
-
//# sourceMappingURL=
|
|
177
|
+
exports.loadProviderServer = loadProviderServer;
|
|
178
|
+
//# sourceMappingURL=providerServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerServer.js","sourceRoot":"","sources":["../../../../src/Program/programs/providerServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BlockfrostServiceConfig, BlockfrostServiceDependencies } from '../../Blockfrost';
|
|
2
|
+
import { HttpServer } from '../../Http';
|
|
3
|
+
export declare type BlockfrostWorkerConfig = BlockfrostServiceConfig & {
|
|
4
|
+
apiUrl: URL;
|
|
5
|
+
createSchema: boolean;
|
|
6
|
+
dropSchema: boolean;
|
|
7
|
+
dryRun: boolean;
|
|
8
|
+
scanInterval: number;
|
|
9
|
+
};
|
|
10
|
+
export declare type BlockfrostWorkerDependencies = BlockfrostServiceDependencies;
|
|
11
|
+
export declare class BlockfrostWorker extends HttpServer {
|
|
12
|
+
#private;
|
|
13
|
+
constructor(cfg: BlockfrostWorkerConfig, deps: BlockfrostWorkerDependencies);
|
|
14
|
+
protected initializeImpl(): Promise<void>;
|
|
15
|
+
protected startImpl(): Promise<void>;
|
|
16
|
+
protected shutdownImpl(): Promise<void>;
|
|
17
|
+
private dryRun;
|
|
18
|
+
private main;
|
|
19
|
+
private run;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=blockfrost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockfrost.d.ts","sourceRoot":"","sources":["../../../../src/Program/services/blockfrost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAGnD,oBAAY,sBAAsB,GAAG,uBAAuB,GAAG;IAC7D,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,4BAA4B,GAAG,6BAA6B,CAAC;AAqBzE,qBAAa,gBAAiB,SAAQ,UAAU;;gBASlC,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAE,4BAA4B;cAkB3D,cAAc;cAsBd,SAAS;cAMT,YAAY;IAM5B,OAAO,CAAC,MAAM;YAMA,IAAI;IAuBlB,OAAO,CAAC,GAAG;CAOZ"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _BlockfrostWorker_blockfrostService, _BlockfrostWorker_createSchema, _BlockfrostWorker_db, _BlockfrostWorker_dropSchema, _BlockfrostWorker_dryRun, _BlockfrostWorker_scanInterval, _BlockfrostWorker_timeOut;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.BlockfrostWorker = void 0;
|
|
16
|
+
const Blockfrost_1 = require("../../Blockfrost");
|
|
17
|
+
const Http_1 = require("../../Http");
|
|
18
|
+
const schema = [
|
|
19
|
+
`
|
|
20
|
+
CREATE TABLE IF NOT EXISTS blockfrost.pool_metric (
|
|
21
|
+
pool_hash_id integer NOT NULL,
|
|
22
|
+
last_reward_epoch smallint NOT NULL,
|
|
23
|
+
cache_time double precision NOT NULL,
|
|
24
|
+
blocks_created integer NOT NULL,
|
|
25
|
+
delegators integer NOT NULL,
|
|
26
|
+
active_stake numeric NOT NULL,
|
|
27
|
+
live_stake numeric NOT NULL,
|
|
28
|
+
live_pledge numeric NOT NULL,
|
|
29
|
+
saturation double precision NOT NULL,
|
|
30
|
+
reward_address varchar NOT NULL,
|
|
31
|
+
extra varchar NOT NULL,
|
|
32
|
+
status varchar NOT NULL
|
|
33
|
+
)`,
|
|
34
|
+
'CREATE UNIQUE INDEX IF NOT EXISTS "blockfrost.pool_metric_id" ON blockfrost.pool_metric (pool_hash_id)'
|
|
35
|
+
];
|
|
36
|
+
class BlockfrostWorker extends Http_1.HttpServer {
|
|
37
|
+
constructor(cfg, deps) {
|
|
38
|
+
const { apiUrl, createSchema, dropSchema, dryRun, scanInterval } = cfg;
|
|
39
|
+
const { db, logger } = deps;
|
|
40
|
+
const blockfrostService = new Blockfrost_1.BlockfrostService(cfg, deps);
|
|
41
|
+
super({ listen: (0, Http_1.getListen)(apiUrl), name: 'blockfrost-worker' }, { logger, runnableDependencies: [], services: [blockfrostService] });
|
|
42
|
+
_BlockfrostWorker_blockfrostService.set(this, void 0);
|
|
43
|
+
_BlockfrostWorker_createSchema.set(this, void 0);
|
|
44
|
+
_BlockfrostWorker_db.set(this, void 0);
|
|
45
|
+
_BlockfrostWorker_dropSchema.set(this, void 0);
|
|
46
|
+
_BlockfrostWorker_dryRun.set(this, void 0);
|
|
47
|
+
_BlockfrostWorker_scanInterval.set(this, void 0);
|
|
48
|
+
_BlockfrostWorker_timeOut.set(this, void 0);
|
|
49
|
+
__classPrivateFieldSet(this, _BlockfrostWorker_blockfrostService, blockfrostService, "f");
|
|
50
|
+
__classPrivateFieldSet(this, _BlockfrostWorker_createSchema, createSchema, "f");
|
|
51
|
+
__classPrivateFieldSet(this, _BlockfrostWorker_db, db, "f");
|
|
52
|
+
__classPrivateFieldSet(this, _BlockfrostWorker_dropSchema, dropSchema, "f");
|
|
53
|
+
__classPrivateFieldSet(this, _BlockfrostWorker_dryRun, dryRun, "f");
|
|
54
|
+
__classPrivateFieldSet(this, _BlockfrostWorker_scanInterval, scanInterval, "f");
|
|
55
|
+
}
|
|
56
|
+
async initializeImpl() {
|
|
57
|
+
await super.initializeImpl();
|
|
58
|
+
if (!__classPrivateFieldGet(this, _BlockfrostWorker_dryRun, "f")) {
|
|
59
|
+
if (__classPrivateFieldGet(this, _BlockfrostWorker_dropSchema, "f")) {
|
|
60
|
+
this.logger.info('Going to drop the schema');
|
|
61
|
+
await __classPrivateFieldGet(this, _BlockfrostWorker_db, "f").query('DROP SCHEMA IF EXISTS blockfrost CASCADE');
|
|
62
|
+
this.logger.info('Schema dropped');
|
|
63
|
+
}
|
|
64
|
+
if (__classPrivateFieldGet(this, _BlockfrostWorker_createSchema, "f")) {
|
|
65
|
+
this.logger.info('Going to create the schema');
|
|
66
|
+
await __classPrivateFieldGet(this, _BlockfrostWorker_db, "f").query('CREATE SCHEMA IF NOT EXISTS blockfrost');
|
|
67
|
+
this.logger.info('Schema created');
|
|
68
|
+
}
|
|
69
|
+
this.logger.info('Going to create tables and indexes');
|
|
70
|
+
for (const obj of schema)
|
|
71
|
+
await __classPrivateFieldGet(this, _BlockfrostWorker_db, "f").query(obj);
|
|
72
|
+
this.logger.info('Tables and indexes created');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
async startImpl() {
|
|
76
|
+
await super.startImpl();
|
|
77
|
+
this.run();
|
|
78
|
+
}
|
|
79
|
+
async shutdownImpl() {
|
|
80
|
+
if (__classPrivateFieldGet(this, _BlockfrostWorker_timeOut, "f"))
|
|
81
|
+
clearTimeout(__classPrivateFieldGet(this, _BlockfrostWorker_timeOut, "f"));
|
|
82
|
+
await super.shutdownImpl();
|
|
83
|
+
}
|
|
84
|
+
dryRun() {
|
|
85
|
+
this.logger.info('Dry run');
|
|
86
|
+
return new Promise((resolve) => setTimeout(resolve, 100));
|
|
87
|
+
}
|
|
88
|
+
async main() {
|
|
89
|
+
const start = Date.now();
|
|
90
|
+
__classPrivateFieldSet(this, _BlockfrostWorker_timeOut, undefined, "f");
|
|
91
|
+
this.logger.info('Starting new run');
|
|
92
|
+
try {
|
|
93
|
+
await (__classPrivateFieldGet(this, _BlockfrostWorker_dryRun, "f") ? this.dryRun() : __classPrivateFieldGet(this, _BlockfrostWorker_blockfrostService, "f").refreshCache());
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
this.logger.error('Process failed with', error);
|
|
97
|
+
}
|
|
98
|
+
const restart = __classPrivateFieldGet(this, _BlockfrostWorker_scanInterval, "f") * 60000 - (Date.now() - start);
|
|
99
|
+
if (restart <= 0) {
|
|
100
|
+
this.logger.info('Restarting immediately due to scanInterval expired in previous run');
|
|
101
|
+
this.run();
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.logger.info(`Sleeping for ${restart} milliseconds to start next run`);
|
|
105
|
+
__classPrivateFieldSet(this, _BlockfrostWorker_timeOut, setTimeout(() => this.run(), restart), "f");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
run() {
|
|
109
|
+
this.main().catch((error) => {
|
|
110
|
+
this.logger.error('Error while run', error);
|
|
111
|
+
process.exit(1);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.BlockfrostWorker = BlockfrostWorker;
|
|
116
|
+
_BlockfrostWorker_blockfrostService = new WeakMap(), _BlockfrostWorker_createSchema = new WeakMap(), _BlockfrostWorker_db = new WeakMap(), _BlockfrostWorker_dropSchema = new WeakMap(), _BlockfrostWorker_dryRun = new WeakMap(), _BlockfrostWorker_scanInterval = new WeakMap(), _BlockfrostWorker_timeOut = new WeakMap();
|
|
117
|
+
//# sourceMappingURL=blockfrost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockfrost.js","sourceRoot":"","sources":["../../../../src/Program/services/blockfrost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Program/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Program/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./blockfrost"), exports);
|
|
17
18
|
__exportStar(require("./postgres"), exports);
|
|
18
19
|
__exportStar(require("./ogmios"), exports);
|
|
19
20
|
__exportStar(require("./rabbitmq"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Program/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAAyB;AACzB,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Program/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6CAA2B;AAC3B,2CAAyB;AACzB,6CAA2B"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { ClientConfig, Pool } from 'pg';
|
|
2
2
|
import { DnsResolver } from '../utils';
|
|
3
|
-
import { HttpServerArgs } from '../programs';
|
|
4
3
|
import { Logger } from 'ts-log';
|
|
5
4
|
import { PosgresProgramOptions } from '../options';
|
|
6
5
|
export declare const getPoolWithServiceDiscovery: (dnsResolver: DnsResolver, logger: Logger, { host, database, password, ssl, user }: ClientConfig) => Promise<Pool>;
|
|
7
6
|
export declare const loadSecret: (path: string) => string;
|
|
8
7
|
export declare const getPool: (dnsResolver: DnsResolver, logger: Logger, options?: PosgresProgramOptions) => Promise<Pool | undefined>;
|
|
9
|
-
export declare const connectionStringFromArgs: (args:
|
|
8
|
+
export declare const connectionStringFromArgs: (args: PosgresProgramOptions) => string | undefined;
|
|
10
9
|
//# sourceMappingURL=postgres.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../../src/Program/services/postgres.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAe,MAAM,IAAI,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../../src/Program/services/postgres.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAe,MAAM,IAAI,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAenD,eAAO,MAAM,2BAA2B,gBACzB,WAAW,UAChB,MAAM,2CAC2B,YAAY,KACpD,QAAQ,IAAI,CA0Bd,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,MAAM,WAA6C,CAAC;AAErF,eAAO,MAAM,OAAO,gBACL,WAAW,UAChB,MAAM,YACJ,qBAAqB,KAC9B,QAAQ,IAAI,GAAG,SAAS,CAc1B,CAAC;AAKF,eAAO,MAAM,wBAAwB,SAAU,qBAAqB,uBAcnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../../src/Program/services/postgres.ts"],"names":[],"mappings":";;;;;;AAIA,2BAAqD;
|
|
1
|
+
{"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../../src/Program/services/postgres.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const findAccountBalance = "\n WITH current_epoch AS (\n SELECT\n e.\"no\" AS epoch_no,\n optimal_pool_count\n FROM epoch e\n JOIN epoch_param ep ON\n ep.epoch_no = e.\"no\"\n ORDER BY e.no DESC LIMIT 1\n )\n SELECT \n (\n SELECT COALESCE(SUM(r.amount),0) \n FROM reward r\n JOIN stake_address ON \n stake_address.id = r.addr_id\n WHERE stake_address.view = $1\n AND r.spendable_epoch <= (SELECT epoch_no FROM current_epoch)\n ) - (\n SELECT COALESCE(SUM(w.amount),0) \n FROM withdrawal w\n JOIN
|
|
1
|
+
export declare const findAccountBalance = "\n WITH current_epoch AS (\n SELECT\n e.\"no\" AS epoch_no,\n optimal_pool_count\n FROM epoch e\n JOIN epoch_param ep ON\n ep.epoch_no = e.\"no\"\n ORDER BY e.no DESC LIMIT 1\n )\n SELECT \n (\n SELECT COALESCE(SUM(r.amount),0) \n FROM reward r\n JOIN stake_address ON \n stake_address.id = r.addr_id\n WHERE stake_address.view = $1\n AND r.spendable_epoch <= (SELECT epoch_no FROM current_epoch)\n ) - (\n SELECT COALESCE(SUM(w.amount),0) \n FROM withdrawal w\n JOIN stake_address ON stake_address.id = w.addr_id\n WHERE stake_address.view = $1\n ) AS balance\n";
|
|
2
2
|
export declare const findRewardsHistory: (lowerBound?: number, upperBound?: number) => string;
|
|
3
3
|
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/Rewards/DbSyncRewardProvider/queries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/Rewards/DbSyncRewardProvider/queries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,gtBAwB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,eAAe,MAAM,WA0B1E,CAAC"}
|
|
@@ -22,8 +22,6 @@ exports.findAccountBalance = `
|
|
|
22
22
|
) - (
|
|
23
23
|
SELECT COALESCE(SUM(w.amount),0)
|
|
24
24
|
FROM withdrawal w
|
|
25
|
-
JOIN tx ON tx.id = w.tx_id AND
|
|
26
|
-
tx.valid_contract = TRUE
|
|
27
25
|
JOIN stake_address ON stake_address.id = w.addr_id
|
|
28
26
|
WHERE stake_address.view = $1
|
|
29
27
|
) AS balance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/Rewards/DbSyncRewardProvider/queries.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/Rewards/DbSyncRewardProvider/queries.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBjC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,UAAmB,EAAE,UAAmB,EAAE,EAAE;IAC7E,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,IAAI,UAAU;QAAE,eAAe,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;IAC9D,IAAI,UAAU;QAAE,eAAe,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,OAAO;;;;;;QAMD,aAAa;;;;;;;;;;;;;;CAcpB,CAAC;AACF,CAAC,CAAC;AA1BW,QAAA,kBAAkB,sBA0B7B"}
|
|
@@ -4,6 +4,7 @@ import { GenesisData, InMemoryCache, StakePoolExtMetadataService } from '../..';
|
|
|
4
4
|
import { RunnableModule } from '@cardano-sdk/util';
|
|
5
5
|
export interface StakePoolProviderProps {
|
|
6
6
|
paginationPageSizeLimit: number;
|
|
7
|
+
useBlockfrost: boolean;
|
|
7
8
|
}
|
|
8
9
|
export interface StakePoolProviderDependencies extends DbSyncProviderDependencies {
|
|
9
10
|
cache: InMemoryCache;
|
|
@@ -23,7 +24,7 @@ declare const DbSyncStakePoolProvider_base: (abstract new (dependencies: DbSyncP
|
|
|
23
24
|
};
|
|
24
25
|
export declare class DbSyncStakePoolProvider extends DbSyncStakePoolProvider_base implements StakePoolProvider {
|
|
25
26
|
#private;
|
|
26
|
-
constructor({ paginationPageSizeLimit }: StakePoolProviderProps, { db, cardanoNode, genesisData, metadataService, cache, logger, epochMonitor }: StakePoolProviderDependencies);
|
|
27
|
+
constructor({ paginationPageSizeLimit, useBlockfrost }: StakePoolProviderProps, { db, cardanoNode, genesisData, metadataService, cache, logger, epochMonitor }: StakePoolProviderDependencies);
|
|
27
28
|
private getQueryBySortType;
|
|
28
29
|
private attachExtendedMetadata;
|
|
29
30
|
private getPoolsDataOrdered;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DbSyncStakePoolProvider.d.ts","sourceRoot":"","sources":["../../../../src/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,SAAS,EAGT,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAkB,0BAA0B,EAAY,YAAY,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,2BAA2B,EAAuB,MAAM,OAAO,CAAC;AASrG,OAAO,EAAE,cAAc,EAAY,MAAM,mBAAmB,CAAC;AAO7D,MAAM,WAAW,sBAAsB;IAIrC,uBAAuB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"DbSyncStakePoolProvider.d.ts","sourceRoot":"","sources":["../../../../src/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,SAAS,EAGT,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAkB,0BAA0B,EAAY,YAAY,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,2BAA2B,EAAuB,MAAM,OAAO,CAAC;AASrG,OAAO,EAAE,cAAc,EAAY,MAAM,mBAAmB,CAAC;AAO7D,MAAM,WAAW,sBAAsB;IAIrC,uBAAuB,EAAE,MAAM,CAAC;IAKhC,aAAa,EAAE,OAAO,CAAC;CACxB;AAKD,MAAM,WAAW,6BAA8B,SAAQ,0BAA0B;IAI/E,KAAK,EAAE,aAAa,CAAC;IAKrB,YAAY,EAAE,YAAY,CAAC;IAK3B,WAAW,EAAE,WAAW,CAAC;IAKzB,eAAe,EAAE,2BAA2B,CAAC;CAC9C;;;;;;;;;;;AAED,qBAAa,uBAAwB,SAAQ,4BAA+B,YAAW,iBAAiB;;gBAYpG,EAAE,uBAAuB,EAAE,aAAa,EAAE,EAAE,sBAAsB,EAClE,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,6BAA6B;IAkB/G,OAAO,CAAC,kBAAkB;YAqBZ,sBAAsB;YAkBtB,mBAAmB;IA+BjC,OAAO,CAAC,eAAe;YAKT,mBAAmB;IAyBpB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAgHpF,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;IAKhD,cAAc;IAId,SAAS;IAIT,YAAY;CAInB"}
|
|
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _DbSyncStakePoolProvider_builder, _DbSyncStakePoolProvider_cache, _DbSyncStakePoolProvider_epochLength, _DbSyncStakePoolProvider_epochMonitor, _DbSyncStakePoolProvider_epochRolloverDisposer, _DbSyncStakePoolProvider_paginationPageSizeLimit,
|
|
13
|
+
var _DbSyncStakePoolProvider_builder, _DbSyncStakePoolProvider_cache, _DbSyncStakePoolProvider_epochLength, _DbSyncStakePoolProvider_epochMonitor, _DbSyncStakePoolProvider_epochRolloverDisposer, _DbSyncStakePoolProvider_metadataService, _DbSyncStakePoolProvider_paginationPageSizeLimit, _DbSyncStakePoolProvider_useBlockfrost;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.DbSyncStakePoolProvider = void 0;
|
|
16
16
|
const core_1 = require("@cardano-sdk/core");
|
|
@@ -21,15 +21,16 @@ const util_3 = require("@cardano-sdk/util");
|
|
|
21
21
|
const StakePoolBuilder_1 = require("./StakePoolBuilder");
|
|
22
22
|
const mappers_1 = require("./mappers");
|
|
23
23
|
class DbSyncStakePoolProvider extends (0, util_1.DbSyncProvider)(util_3.RunnableModule) {
|
|
24
|
-
constructor({ paginationPageSizeLimit }, { db, cardanoNode, genesisData, metadataService, cache, logger, epochMonitor }) {
|
|
24
|
+
constructor({ paginationPageSizeLimit, useBlockfrost }, { db, cardanoNode, genesisData, metadataService, cache, logger, epochMonitor }) {
|
|
25
25
|
super({ cardanoNode, db, logger }, 'DbSyncStakePoolProvider', logger);
|
|
26
26
|
_DbSyncStakePoolProvider_builder.set(this, void 0);
|
|
27
27
|
_DbSyncStakePoolProvider_cache.set(this, void 0);
|
|
28
28
|
_DbSyncStakePoolProvider_epochLength.set(this, void 0);
|
|
29
29
|
_DbSyncStakePoolProvider_epochMonitor.set(this, void 0);
|
|
30
30
|
_DbSyncStakePoolProvider_epochRolloverDisposer.set(this, void 0);
|
|
31
|
-
_DbSyncStakePoolProvider_paginationPageSizeLimit.set(this, void 0);
|
|
32
31
|
_DbSyncStakePoolProvider_metadataService.set(this, void 0);
|
|
32
|
+
_DbSyncStakePoolProvider_paginationPageSizeLimit.set(this, void 0);
|
|
33
|
+
_DbSyncStakePoolProvider_useBlockfrost.set(this, void 0);
|
|
33
34
|
__classPrivateFieldSet(this, _DbSyncStakePoolProvider_builder, new StakePoolBuilder_1.StakePoolBuilder(db, logger), "f");
|
|
34
35
|
__classPrivateFieldSet(this, _DbSyncStakePoolProvider_cache, cache, "f");
|
|
35
36
|
__classPrivateFieldSet(this, _DbSyncStakePoolProvider_epochLength, genesisData.epochLength * 1000, "f");
|
|
@@ -37,17 +38,18 @@ class DbSyncStakePoolProvider extends (0, util_1.DbSyncProvider)(util_3.Runnable
|
|
|
37
38
|
__classPrivateFieldSet(this, _DbSyncStakePoolProvider_epochMonitor, epochMonitor, "f");
|
|
38
39
|
__classPrivateFieldSet(this, _DbSyncStakePoolProvider_metadataService, metadataService, "f");
|
|
39
40
|
__classPrivateFieldSet(this, _DbSyncStakePoolProvider_paginationPageSizeLimit, paginationPageSizeLimit, "f");
|
|
41
|
+
__classPrivateFieldSet(this, _DbSyncStakePoolProvider_useBlockfrost, useBlockfrost, "f");
|
|
40
42
|
}
|
|
41
|
-
getQueryBySortType(sortType, queryArgs) {
|
|
42
|
-
const { hashesIds, updatesIds,
|
|
43
|
+
getQueryBySortType(sortType, queryArgs, useBlockfrost) {
|
|
44
|
+
const { hashesIds, updatesIds, totalStake } = queryArgs;
|
|
43
45
|
switch (sortType) {
|
|
44
46
|
case 'metrics':
|
|
45
|
-
return (options) => __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolMetrics(hashesIds,
|
|
47
|
+
return (options) => __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolMetrics(hashesIds, totalStake, useBlockfrost, options);
|
|
46
48
|
case 'apy':
|
|
47
49
|
return (options) => __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolAPY(hashesIds, __classPrivateFieldGet(this, _DbSyncStakePoolProvider_epochLength, "f"), options);
|
|
48
50
|
case 'data':
|
|
49
51
|
default:
|
|
50
|
-
return (options) => __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolData(updatesIds, options);
|
|
52
|
+
return (options) => __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolData(updatesIds, useBlockfrost, options);
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
async attachExtendedMetadata(poolData) {
|
|
@@ -70,18 +72,18 @@ class DbSyncStakePoolProvider extends (0, util_1.DbSyncProvider)(util_3.Runnable
|
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
|
-
async getPoolsDataOrdered(poolUpdates,
|
|
75
|
+
async getPoolsDataOrdered(poolUpdates, totalStake, useBlockfrost, options) {
|
|
74
76
|
const hashesIds = poolUpdates.map(({ id }) => id);
|
|
75
77
|
const updatesIds = poolUpdates.map(({ updateId }) => updateId);
|
|
76
78
|
this.logger.debug(`${hashesIds.length} pools found`);
|
|
77
79
|
const sortType = options?.sort?.field ? (0, util_2.getStakePoolSortType)(options.sort.field) : 'data';
|
|
78
|
-
const orderedResult = await this.getQueryBySortType(sortType, { hashesIds,
|
|
80
|
+
const orderedResult = await this.getQueryBySortType(sortType, { hashesIds, totalStake, updatesIds }, useBlockfrost)(options);
|
|
79
81
|
const orderedResultHashIds = orderedResult.map(({ hashId }) => hashId);
|
|
80
82
|
const orderedResultUpdateIds = orderedResultHashIds.map((id) => poolUpdates[poolUpdates.findIndex((item) => item.id === id)].updateId);
|
|
81
83
|
let poolDatas = [];
|
|
82
84
|
if (sortType !== 'data') {
|
|
83
85
|
this.logger.debug('About to query stake pools data');
|
|
84
|
-
poolDatas = await __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolData(orderedResultUpdateIds);
|
|
86
|
+
poolDatas = await __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolData(orderedResultUpdateIds, useBlockfrost);
|
|
85
87
|
}
|
|
86
88
|
else {
|
|
87
89
|
poolDatas = orderedResult;
|
|
@@ -93,7 +95,7 @@ class DbSyncStakePoolProvider extends (0, util_1.DbSyncProvider)(util_3.Runnable
|
|
|
93
95
|
for (const [hashId, pool] of Object.entries(itemsToCache))
|
|
94
96
|
__classPrivateFieldGet(this, _DbSyncStakePoolProvider_cache, "f").set(`${util_2.IDS_NAMESPACE}/${rewardsHistoryKey}/${hashId}`, pool, __1.UNLIMITED_CACHE_TTL);
|
|
95
97
|
}
|
|
96
|
-
async queryExtraPoolsData(idsToFetch, sortType,
|
|
98
|
+
async queryExtraPoolsData(idsToFetch, sortType, totalStake, orderedResult, useBlockfrost) {
|
|
97
99
|
if (idsToFetch.length === 0)
|
|
98
100
|
return util_2.emptyPoolsExtraInfo;
|
|
99
101
|
this.logger.debug('About to query stake pool extra information');
|
|
@@ -101,30 +103,40 @@ class DbSyncStakePoolProvider extends (0, util_1.DbSyncProvider)(util_3.Runnable
|
|
|
101
103
|
const orderedResultUpdateIds = idsToFetch.map(({ updateId }) => updateId);
|
|
102
104
|
const [poolRelays, poolOwners, poolRegistrations, poolRetirements, poolMetrics] = await Promise.all([
|
|
103
105
|
__classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolRelays(orderedResultUpdateIds),
|
|
104
|
-
__classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolOwners(orderedResultUpdateIds),
|
|
105
|
-
__classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryRegistrations(orderedResultHashIds),
|
|
106
|
-
__classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryRetirements(orderedResultHashIds),
|
|
106
|
+
useBlockfrost ? [] : __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolOwners(orderedResultUpdateIds),
|
|
107
|
+
useBlockfrost ? [] : __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryRegistrations(orderedResultHashIds),
|
|
108
|
+
useBlockfrost ? [] : __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryRetirements(orderedResultHashIds),
|
|
107
109
|
sortType === 'metrics'
|
|
108
110
|
? orderedResult
|
|
109
|
-
: __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolMetrics(orderedResultHashIds,
|
|
111
|
+
: __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolMetrics(orderedResultHashIds, totalStake, useBlockfrost)
|
|
110
112
|
]);
|
|
111
113
|
return { poolMetrics, poolOwners, poolRegistrations, poolRelays, poolRetirements };
|
|
112
114
|
}
|
|
113
115
|
async queryStakePools(options) {
|
|
114
116
|
const { filters, pagination, rewardsHistoryLimit = util_2.REWARDS_HISTORY_LIMIT_DEFAULT } = options;
|
|
117
|
+
const useBlockfrost = __classPrivateFieldGet(this, _DbSyncStakePoolProvider_useBlockfrost, "f");
|
|
115
118
|
if (pagination.limit > __classPrivateFieldGet(this, _DbSyncStakePoolProvider_paginationPageSizeLimit, "f")) {
|
|
116
119
|
throw new core_1.ProviderError(core_1.ProviderFailure.BadRequest, undefined, `Page size of ${pagination.limit} can not be greater than ${__classPrivateFieldGet(this, _DbSyncStakePoolProvider_paginationPageSizeLimit, "f")}`);
|
|
117
120
|
}
|
|
118
121
|
if (filters?.identifier && filters.identifier.values.length > __classPrivateFieldGet(this, _DbSyncStakePoolProvider_paginationPageSizeLimit, "f")) {
|
|
119
122
|
throw new core_1.ProviderError(core_1.ProviderFailure.BadRequest, undefined, `Filter identifiers of ${filters.identifier.values.length} can not be greater than ${__classPrivateFieldGet(this, _DbSyncStakePoolProvider_paginationPageSizeLimit, "f")}`);
|
|
120
123
|
}
|
|
121
|
-
const { params, query } =
|
|
124
|
+
const { params, query } = useBlockfrost
|
|
125
|
+
? __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").buildBlockfrostQuery(filters)
|
|
126
|
+
: filters?._condition === 'or'
|
|
127
|
+
? __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").buildOrQuery(filters)
|
|
128
|
+
: __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").buildAndQuery(filters);
|
|
122
129
|
const poolUpdates = await __classPrivateFieldGet(this, _DbSyncStakePoolProvider_cache, "f").get((0, util_2.queryCacheKey)(util_2.StakePoolsSubQuery.POOL_HASHES, options), () => __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolHashes(query, params));
|
|
123
|
-
const
|
|
124
|
-
|
|
130
|
+
const totalStake = await __classPrivateFieldGet(this, _DbSyncStakePoolProvider_cache, "f").get((0, util_2.queryCacheKey)(util_2.StakePoolsSubQuery.TOTAL_STAKE), async () => {
|
|
131
|
+
const distribution = await this.cardanoNode.stakeDistribution();
|
|
132
|
+
for (const [_, value] of distribution)
|
|
133
|
+
return value.stake.supply.toString();
|
|
134
|
+
throw new core_1.ProviderError(core_1.ProviderFailure.InvalidResponse, undefined, 'Got an empty distribution response from OgmiosCardanoNode');
|
|
135
|
+
});
|
|
136
|
+
const totalCount = poolUpdates.length;
|
|
125
137
|
const lastEpoch = await __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").getLastEpochWithData();
|
|
126
138
|
const { optimalPoolCount, no: lastEpochNo } = lastEpoch;
|
|
127
|
-
const { orderedResultHashIds, orderedResultUpdateIds, orderedResult, poolDatas, hashesIds, sortType } = await __classPrivateFieldGet(this, _DbSyncStakePoolProvider_cache, "f").get((0, util_2.queryCacheKey)(util_2.StakePoolsSubQuery.POOLS_DATA_ORDERED, options), () => this.getPoolsDataOrdered(poolUpdates,
|
|
139
|
+
const { orderedResultHashIds, orderedResultUpdateIds, orderedResult, poolDatas, hashesIds, sortType } = await __classPrivateFieldGet(this, _DbSyncStakePoolProvider_cache, "f").get((0, util_2.queryCacheKey)(util_2.StakePoolsSubQuery.POOLS_DATA_ORDERED, options), () => this.getPoolsDataOrdered(poolUpdates, totalStake, useBlockfrost, options));
|
|
128
140
|
const poolAPYs = sortType === 'apy'
|
|
129
141
|
? orderedResult
|
|
130
142
|
: await __classPrivateFieldGet(this, _DbSyncStakePoolProvider_cache, "f").get((0, util_2.queryCacheKey)(util_2.StakePoolsSubQuery.APY, hashesIds, options), () => __classPrivateFieldGet(this, _DbSyncStakePoolProvider_builder, "f").queryPoolAPY(hashesIds, __classPrivateFieldGet(this, _DbSyncStakePoolProvider_epochLength, "f"), { rewardsHistoryLimit }));
|
|
@@ -138,12 +150,12 @@ class DbSyncStakePoolProvider extends (0, util_1.DbSyncProvider)(util_3.Runnable
|
|
|
138
150
|
const idsToFetch = Object.entries(fromCache)
|
|
139
151
|
.filter(([_, pool]) => pool === undefined)
|
|
140
152
|
.map(([hashId, _]) => ({ id: Number(hashId), updateId: hashIdsMap[hashId] }));
|
|
141
|
-
const { poolRelays, poolOwners, poolRegistrations, poolRetirements, poolMetrics } = await this.queryExtraPoolsData(idsToFetch, sortType,
|
|
142
|
-
const { results, poolsToCache } = (0, mappers_1.toStakePoolResults)(orderedResultHashIds, fromCache, {
|
|
153
|
+
const { poolRelays, poolOwners, poolRegistrations, poolRetirements, poolMetrics } = await this.queryExtraPoolsData(idsToFetch, sortType, totalStake, orderedResult, useBlockfrost);
|
|
154
|
+
const { results, poolsToCache } = (0, mappers_1.toStakePoolResults)(orderedResultHashIds, fromCache, useBlockfrost, {
|
|
143
155
|
lastEpochNo: core_1.Cardano.EpochNo(lastEpochNo),
|
|
144
156
|
nodeMetricsDependencies: {
|
|
145
157
|
optimalPoolCount,
|
|
146
|
-
totalAdaAmount: BigInt(
|
|
158
|
+
totalAdaAmount: BigInt(totalStake)
|
|
147
159
|
},
|
|
148
160
|
poolAPYs,
|
|
149
161
|
poolDatas,
|
|
@@ -174,5 +186,5 @@ class DbSyncStakePoolProvider extends (0, util_1.DbSyncProvider)(util_3.Runnable
|
|
|
174
186
|
}
|
|
175
187
|
}
|
|
176
188
|
exports.DbSyncStakePoolProvider = DbSyncStakePoolProvider;
|
|
177
|
-
_DbSyncStakePoolProvider_builder = new WeakMap(), _DbSyncStakePoolProvider_cache = new WeakMap(), _DbSyncStakePoolProvider_epochLength = new WeakMap(), _DbSyncStakePoolProvider_epochMonitor = new WeakMap(), _DbSyncStakePoolProvider_epochRolloverDisposer = new WeakMap(), _DbSyncStakePoolProvider_paginationPageSizeLimit = new WeakMap(),
|
|
189
|
+
_DbSyncStakePoolProvider_builder = new WeakMap(), _DbSyncStakePoolProvider_cache = new WeakMap(), _DbSyncStakePoolProvider_epochLength = new WeakMap(), _DbSyncStakePoolProvider_epochMonitor = new WeakMap(), _DbSyncStakePoolProvider_epochRolloverDisposer = new WeakMap(), _DbSyncStakePoolProvider_metadataService = new WeakMap(), _DbSyncStakePoolProvider_paginationPageSizeLimit = new WeakMap(), _DbSyncStakePoolProvider_useBlockfrost = new WeakMap();
|
|
178
190
|
//# sourceMappingURL=DbSyncStakePoolProvider.js.map
|