@cardano-sdk/cardano-services 0.10.0-nightly.0 → 0.10.0-nightly.2
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/ChainHistoryBuilder.d.ts +10 -7
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js +51 -32
- package/dist/cjs/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.d.ts +1 -0
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js +24 -34
- package/dist/cjs/ChainHistory/DbSyncChainHistory/DbSyncChainHistoryProvider.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.d.ts +4 -2
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.js +6 -3
- package/dist/cjs/ChainHistory/DbSyncChainHistory/mappers.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.d.ts +32 -12
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.d.ts.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.js +80 -29
- package/dist/cjs/ChainHistory/DbSyncChainHistory/queries.js.map +1 -1
- package/dist/cjs/ChainHistory/DbSyncChainHistory/types.d.ts +8 -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/Metadata/DbSyncMetadataService.js +10 -9
- package/dist/cjs/Metadata/DbSyncMetadataService.js.map +1 -1
- package/dist/cjs/Metadata/queries.d.ts +2 -1
- package/dist/cjs/Metadata/queries.d.ts.map +1 -1
- package/dist/cjs/Metadata/queries.js +11 -2
- package/dist/cjs/Metadata/queries.js.map +1 -1
- package/dist/cjs/Metadata/types.d.ts +1 -0
- package/dist/cjs/Metadata/types.d.ts.map +1 -1
- package/dist/cjs/Metadata/util.d.ts +4 -0
- package/dist/cjs/Metadata/util.d.ts.map +1 -0
- package/dist/cjs/Metadata/util.js +15 -0
- package/dist/cjs/Metadata/util.js.map +1 -0
- package/dist/cjs/Program/Options.d.ts +1 -0
- package/dist/cjs/Program/Options.d.ts.map +1 -0
- package/dist/cjs/Program/Options.js +2 -0
- package/dist/cjs/Program/Options.js.map +1 -0
- package/dist/cjs/Program/defaults.d.ts +1 -0
- package/dist/cjs/Program/defaults.d.ts.map +1 -0
- package/dist/cjs/Program/defaults.js +2 -0
- package/dist/cjs/Program/defaults.js.map +1 -0
- 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} +14 -5
- package/dist/cjs/Program/programs/providerServer.d.ts.map +1 -0
- package/dist/cjs/Program/programs/{httpServer.js → providerServer.js} +32 -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 +9 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.d.ts.map +1 -1
- package/dist/cjs/StakePool/DbSyncStakePoolProvider/DbSyncStakePoolProvider.js +58 -26
- 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 +4 -3
- 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 +79 -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
package/README.md
CHANGED
|
@@ -23,10 +23,10 @@ The services require instances of [Cardano Node] and [Ogmios] as a minimum, with
|
|
|
23
23
|
[docker-compose.json](./docker-compose.yml) for the current supported version of each service
|
|
24
24
|
dependency.
|
|
25
25
|
|
|
26
|
-
###
|
|
26
|
+
### Provider Server
|
|
27
27
|
|
|
28
|
-
The
|
|
29
|
-
Run the [CLI] with `start-server --help` to see the full list of options.
|
|
28
|
+
The Provider server can be started with one or more services by name, segmented by URL path.
|
|
29
|
+
Run the [CLI] with `start-provider-server --help` to see the full list of options.
|
|
30
30
|
|
|
31
31
|
### Worker
|
|
32
32
|
|
|
@@ -44,11 +44,11 @@ _The following examples require the [install and build] steps to be completed._
|
|
|
44
44
|
- Connects to [PostgreSQL] service running at `localhost:5432`
|
|
45
45
|
- HTTP API exposed using a custom API URL
|
|
46
46
|
|
|
47
|
-
**`start-server` using CLI options:**
|
|
47
|
+
**`start-provider-server` using CLI options:**
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
50
|
./dist/cjs/cli.js \
|
|
51
|
-
start-server \
|
|
51
|
+
start-provider-server \
|
|
52
52
|
--api-url http://localhost:6000 \
|
|
53
53
|
--cardano-node-config-path ./config/network/preprod/cardano-node/config.json \
|
|
54
54
|
--postgres-connection-string postgresql://somePgUser:somePassword@localhost:5432/someDbName \
|
|
@@ -56,7 +56,7 @@ _The following examples require the [install and build] steps to be completed._
|
|
|
56
56
|
asset chain-history stake-pool tx-submit network-info utxo rewards
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
**`start-server` using env variables:**
|
|
59
|
+
**`start-provider-server` using env variables:**
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
62
|
SERVICE_NAMES=asset,chain-history,stake-pool,tx-submit,network-info,utxo,rewards \
|
|
@@ -64,7 +64,7 @@ API_URL=http://localhost:6000 \
|
|
|
64
64
|
CARDANO_NODE_CONFIG_PATH=./config/network/preprod/cardano-node/config.json \
|
|
65
65
|
POSTGRES_CONNECTION_STRING=postgresql://somePgUser:somePassword@localhost:5432/someDbName \
|
|
66
66
|
OGMIOS_URL=ws://localhost:1338 \
|
|
67
|
-
./dist/cjs/cli.js start-server
|
|
67
|
+
./dist/cjs/cli.js start-provider-server
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
#### All Providers | Service Discovery | Queued Tx Submission | Metrics
|
|
@@ -77,11 +77,11 @@ OGMIOS_URL=ws://localhost:1338 \
|
|
|
77
77
|
- HTTP API exposed using a custom API URL
|
|
78
78
|
- Prometheus metrics exporter enabled at http://localhost:6000/metrics
|
|
79
79
|
|
|
80
|
-
**`start-server` using CLI options:**
|
|
80
|
+
**`start-provider-server` using CLI options:**
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
83
|
./dist/cjs/cli.js \
|
|
84
|
-
start-server \
|
|
84
|
+
start-provider-server \
|
|
85
85
|
--api-url http://localhost:6000 \
|
|
86
86
|
--enable-metrics \
|
|
87
87
|
--cardano-node-config-path ./config/network/preprod/cardano-node/config.json \
|
|
@@ -95,7 +95,7 @@ OGMIOS_URL=ws://localhost:1338 \
|
|
|
95
95
|
asset chain-history stake-pool tx-submit network-info utxo rewards
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
**`start-server` using env variables:**
|
|
98
|
+
**`start-provider-server` using env variables:**
|
|
99
99
|
|
|
100
100
|
```bash
|
|
101
101
|
SERVICE_NAMES=asset,chain-history,stake-pool,tx-submit,network-info,utxo,rewards \
|
|
@@ -109,7 +109,7 @@ POSTGRES_PASSWORD=somePassword \
|
|
|
109
109
|
OGMIOS_SRV_SERVICE_NAME=some-domain-for-ogmios \
|
|
110
110
|
RABBITMQ_SRV_SERVICE_NAME=some-domain-for-rabbitmq \
|
|
111
111
|
USE_QUEUE=true \
|
|
112
|
-
./dist/cjs/cli.js start-server
|
|
112
|
+
./dist/cjs/cli.js start-provider-server
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
**`start-worker` using CLI options:**
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AvailableNetworks } from '..';
|
|
2
|
+
import { HttpService } from '../Http';
|
|
3
|
+
import { Logger } from 'ts-log';
|
|
4
|
+
import { Pool } from 'pg';
|
|
5
|
+
export interface BlockfrostServiceConfig {
|
|
6
|
+
blockfrostApiKey: string;
|
|
7
|
+
cacheTtl: number;
|
|
8
|
+
network: AvailableNetworks;
|
|
9
|
+
}
|
|
10
|
+
export interface BlockfrostServiceDependencies {
|
|
11
|
+
db: Pool;
|
|
12
|
+
logger: Logger;
|
|
13
|
+
}
|
|
14
|
+
export declare class BlockfrostService extends HttpService {
|
|
15
|
+
#private;
|
|
16
|
+
constructor(cfg: BlockfrostServiceConfig, deps: BlockfrostServiceDependencies);
|
|
17
|
+
protected initializeImpl(): Promise<void>;
|
|
18
|
+
protected startImpl(): Promise<void>;
|
|
19
|
+
protected shutdownImpl(): Promise<void>;
|
|
20
|
+
refreshCache(): Promise<void>;
|
|
21
|
+
private writeCache;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=BlockfrostService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockfrostService.d.ts","sourceRoot":"","sources":["../../../src/Blockfrost/BlockfrostService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAM1B,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,iBAAkB,SAAQ,WAAW;;gBAOpC,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,6BAA6B;IA0B7E,SAAS,CAAC,cAAc;IAIxB,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,YAAY;IAMT,YAAY;YA2BX,UAAU;CAiCzB"}
|
|
@@ -0,0 +1,116 @@
|
|
|
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 _BlockfrostService_api, _BlockfrostService_builder, _BlockfrostService_cacheTtl, _BlockfrostService_db, _BlockfrostService_shuttingDown;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.BlockfrostService = void 0;
|
|
16
|
+
const blockfrost_js_1 = require("@blockfrost/blockfrost-js");
|
|
17
|
+
const builder_1 = require("./builder");
|
|
18
|
+
const core_1 = require("@cardano-sdk/core");
|
|
19
|
+
const Http_1 = require("../Http");
|
|
20
|
+
const express_1 = require("express");
|
|
21
|
+
const queries_1 = require("./queries");
|
|
22
|
+
class BlockfrostService extends Http_1.HttpService {
|
|
23
|
+
constructor(cfg, deps) {
|
|
24
|
+
const { blockfrostApiKey, cacheTtl, network } = cfg;
|
|
25
|
+
const { db, logger } = deps;
|
|
26
|
+
const provider = { healthCheck: () => Promise.resolve({ ok: false }) };
|
|
27
|
+
super('blockfrost-cache', provider, (0, express_1.Router)(), logger);
|
|
28
|
+
_BlockfrostService_api.set(this, void 0);
|
|
29
|
+
_BlockfrostService_builder.set(this, void 0);
|
|
30
|
+
_BlockfrostService_cacheTtl.set(this, void 0);
|
|
31
|
+
_BlockfrostService_db.set(this, void 0);
|
|
32
|
+
_BlockfrostService_shuttingDown.set(this, void 0);
|
|
33
|
+
__classPrivateFieldSet(this, _BlockfrostService_api, new blockfrost_js_1.BlockFrostAPI({ network, projectId: blockfrostApiKey }), "f");
|
|
34
|
+
__classPrivateFieldSet(this, _BlockfrostService_builder, new builder_1.BlockfrostCacheBuilder(db, logger), "f");
|
|
35
|
+
__classPrivateFieldSet(this, _BlockfrostService_cacheTtl, cacheTtl, "f");
|
|
36
|
+
__classPrivateFieldSet(this, _BlockfrostService_db, db, "f");
|
|
37
|
+
provider.healthCheck = async () => {
|
|
38
|
+
try {
|
|
39
|
+
await db.query('SELECT 1');
|
|
40
|
+
await __classPrivateFieldGet(this, _BlockfrostService_api, "f").pools();
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
this.logger.error(error);
|
|
44
|
+
return { ok: false };
|
|
45
|
+
}
|
|
46
|
+
return { ok: true };
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
initializeImpl() {
|
|
50
|
+
return Promise.resolve();
|
|
51
|
+
}
|
|
52
|
+
startImpl() {
|
|
53
|
+
return Promise.resolve();
|
|
54
|
+
}
|
|
55
|
+
shutdownImpl() {
|
|
56
|
+
__classPrivateFieldSet(this, _BlockfrostService_shuttingDown, true, "f");
|
|
57
|
+
return Promise.resolve();
|
|
58
|
+
}
|
|
59
|
+
async refreshCache() {
|
|
60
|
+
const [pools, currentEpoch] = await Promise.all([
|
|
61
|
+
__classPrivateFieldGet(this, _BlockfrostService_builder, "f").getPools(__classPrivateFieldGet(this, _BlockfrostService_cacheTtl, "f")),
|
|
62
|
+
__classPrivateFieldGet(this, _BlockfrostService_builder, "f").getCurrentEpoch()
|
|
63
|
+
]);
|
|
64
|
+
for (const { id, view } of pools) {
|
|
65
|
+
if (__classPrivateFieldGet(this, _BlockfrostService_shuttingDown, "f"))
|
|
66
|
+
return;
|
|
67
|
+
this.logger.debug(`Going to fetch data from Blockfrost for pool ${view}`);
|
|
68
|
+
const metrics = await __classPrivateFieldGet(this, _BlockfrostService_api, "f").poolsById(view);
|
|
69
|
+
const lastRetire = await __classPrivateFieldGet(this, _BlockfrostService_builder, "f").getLastRetire(id);
|
|
70
|
+
const firstUpdate = await __classPrivateFieldGet(this, _BlockfrostService_builder, "f").getFirstUpdateAfterBlock(id, lastRetire ? lastRetire.block_no : 0);
|
|
71
|
+
const status = firstUpdate
|
|
72
|
+
? firstUpdate.epoch_no <= currentEpoch
|
|
73
|
+
? core_1.Cardano.StakePoolStatus.Active
|
|
74
|
+
: core_1.Cardano.StakePoolStatus.Activating
|
|
75
|
+
: lastRetire.retiring_epoch <= currentEpoch
|
|
76
|
+
? core_1.Cardano.StakePoolStatus.Retired
|
|
77
|
+
: core_1.Cardano.StakePoolStatus.Retiring;
|
|
78
|
+
this.logger.debug(`Going to write Blockfrost cache data for pool ${view}`);
|
|
79
|
+
await this.writeCache(id, metrics, status);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async writeCache(id, metrics, status) {
|
|
83
|
+
const client = await __classPrivateFieldGet(this, _BlockfrostService_db, "f").connect();
|
|
84
|
+
try {
|
|
85
|
+
await client.query('BEGIN');
|
|
86
|
+
try {
|
|
87
|
+
await client.query(queries_1.setPoolMetric, [
|
|
88
|
+
id,
|
|
89
|
+
0,
|
|
90
|
+
Date.now(),
|
|
91
|
+
metrics.blocks_minted,
|
|
92
|
+
metrics.live_delegators,
|
|
93
|
+
metrics.active_stake,
|
|
94
|
+
metrics.live_stake,
|
|
95
|
+
metrics.live_pledge,
|
|
96
|
+
metrics.live_saturation,
|
|
97
|
+
metrics.reward_account,
|
|
98
|
+
JSON.stringify([metrics.owners, metrics.registration.reverse(), metrics.retirement]),
|
|
99
|
+
status
|
|
100
|
+
]);
|
|
101
|
+
await client.query('COMMIT');
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
this.logger.error(error);
|
|
105
|
+
await client.query('ROLLBACK');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
this.logger.error(error);
|
|
110
|
+
}
|
|
111
|
+
client.release();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.BlockfrostService = BlockfrostService;
|
|
115
|
+
_BlockfrostService_api = new WeakMap(), _BlockfrostService_builder = new WeakMap(), _BlockfrostService_cacheTtl = new WeakMap(), _BlockfrostService_db = new WeakMap(), _BlockfrostService_shuttingDown = new WeakMap();
|
|
116
|
+
//# sourceMappingURL=BlockfrostService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockfrostService.js","sourceRoot":"","sources":["../../../src/Blockfrost/BlockfrostService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FirstUpdateAfterBlock, LastRetireModel, PoolsModel } from './types';
|
|
2
|
+
import { Logger } from 'ts-log';
|
|
3
|
+
import { Pool } from 'pg';
|
|
4
|
+
export declare class BlockfrostCacheBuilder {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(db: Pool, logger: Logger);
|
|
7
|
+
getCurrentEpoch(): Promise<number>;
|
|
8
|
+
getFirstUpdateAfterBlock(id: string, blockNo: number): Promise<FirstUpdateAfterBlock | undefined>;
|
|
9
|
+
getLastRetire(id: string): Promise<LastRetireModel | undefined>;
|
|
10
|
+
getPools(cacheTtl: number): Promise<PoolsModel[]>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/Blockfrost/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAErB,eAAe,EACf,UAAU,EACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAK1B,qBAAa,sBAAsB;;gBAIrB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;IAK9B,eAAe;IAOf,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAOjG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAO/D,QAAQ,CAAC,QAAQ,EAAE,MAAM;CAQhC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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 _BlockfrostCacheBuilder_db, _BlockfrostCacheBuilder_logger;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.BlockfrostCacheBuilder = void 0;
|
|
16
|
+
const util_1 = require("@cardano-sdk/util");
|
|
17
|
+
const queries_1 = require("./queries");
|
|
18
|
+
const mappers_1 = require("./mappers");
|
|
19
|
+
class BlockfrostCacheBuilder {
|
|
20
|
+
constructor(db, logger) {
|
|
21
|
+
_BlockfrostCacheBuilder_db.set(this, void 0);
|
|
22
|
+
_BlockfrostCacheBuilder_logger.set(this, void 0);
|
|
23
|
+
__classPrivateFieldSet(this, _BlockfrostCacheBuilder_db, db, "f");
|
|
24
|
+
__classPrivateFieldSet(this, _BlockfrostCacheBuilder_logger, (0, util_1.contextLogger)(logger, 'builder'), "f");
|
|
25
|
+
}
|
|
26
|
+
async getCurrentEpoch() {
|
|
27
|
+
__classPrivateFieldGet(this, _BlockfrostCacheBuilder_logger, "f").debug('Going to query current epoch');
|
|
28
|
+
const result = await __classPrivateFieldGet(this, _BlockfrostCacheBuilder_db, "f").query(queries_1.findCurrentEpoch);
|
|
29
|
+
return result.rows[0].epoch_no;
|
|
30
|
+
}
|
|
31
|
+
async getFirstUpdateAfterBlock(id, blockNo) {
|
|
32
|
+
__classPrivateFieldGet(this, _BlockfrostCacheBuilder_logger, "f").debug(`Going to query first update for pool ${id} after block ${blockNo}`);
|
|
33
|
+
const result = await __classPrivateFieldGet(this, _BlockfrostCacheBuilder_db, "f").query(queries_1.findFirstUpdateAfterBlock, [id, blockNo]);
|
|
34
|
+
return result.rows.map(mappers_1.mapFirstUpdateAfterBlock)[0];
|
|
35
|
+
}
|
|
36
|
+
async getLastRetire(id) {
|
|
37
|
+
__classPrivateFieldGet(this, _BlockfrostCacheBuilder_logger, "f").debug(`Going to query last retire for pool ${id}`);
|
|
38
|
+
const result = await __classPrivateFieldGet(this, _BlockfrostCacheBuilder_db, "f").query(queries_1.findLastRetire, [id]);
|
|
39
|
+
return result.rows[0];
|
|
40
|
+
}
|
|
41
|
+
async getPools(cacheTtl) {
|
|
42
|
+
const since = Date.now() - cacheTtl * 60000;
|
|
43
|
+
__classPrivateFieldGet(this, _BlockfrostCacheBuilder_logger, "f").debug('Going to query stake pools to be refreshed');
|
|
44
|
+
const result = await __classPrivateFieldGet(this, _BlockfrostCacheBuilder_db, "f").query(queries_1.findPools, [since]);
|
|
45
|
+
__classPrivateFieldGet(this, _BlockfrostCacheBuilder_logger, "f").debug('Stake pools to refresh', result.rowCount);
|
|
46
|
+
return result.rows;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.BlockfrostCacheBuilder = BlockfrostCacheBuilder;
|
|
50
|
+
_BlockfrostCacheBuilder_db = new WeakMap(), _BlockfrostCacheBuilder_logger = new WeakMap();
|
|
51
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/Blockfrost/builder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AASA,4CAAkD;AAClD,uCAAmG;AACnG,uCAAqD;AAErD,MAAa,sBAAsB;IAIjC,YAAY,EAAQ,EAAE,MAAc;QAHpC,6CAAU;QACV,iDAAgB;QAGd,uBAAA,IAAI,8BAAO,EAAE,MAAA,CAAC;QACd,uBAAA,IAAI,kCAAW,IAAA,oBAAa,EAAC,MAAM,EAAE,SAAS,CAAC,MAAA,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,uBAAA,IAAI,sCAAQ,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,kCAAI,CAAC,KAAK,CAAoB,0BAAgB,CAAC,CAAC;QAEzE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAAU,EAAE,OAAe;QACxD,uBAAA,IAAI,sCAAQ,CAAC,KAAK,CAAC,wCAAwC,EAAE,gBAAgB,OAAO,EAAE,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,kCAAI,CAAC,KAAK,CAA6B,mCAAyB,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAE1G,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,uBAAA,IAAI,sCAAQ,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,kCAAI,CAAC,KAAK,CAAkB,wBAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3E,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,KAAM,CAAC;QAC7C,uBAAA,IAAI,sCAAQ,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,kCAAI,CAAC,KAAK,CAAa,mBAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,uBAAA,IAAI,sCAAQ,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE9D,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;CACF;AAtCD,wDAsCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Blockfrost/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./BlockfrostService"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Blockfrost/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../../src/Blockfrost/mappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE5E,eAAO,MAAM,wBAAwB,wBAAyB,0BAA0B,KAAG,qBAEzF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapFirstUpdateAfterBlock = void 0;
|
|
4
|
+
const mapFirstUpdateAfterBlock = ({ active_epoch_no }) => ({
|
|
5
|
+
epoch_no: Number(active_epoch_no)
|
|
6
|
+
});
|
|
7
|
+
exports.mapFirstUpdateAfterBlock = mapFirstUpdateAfterBlock;
|
|
8
|
+
//# sourceMappingURL=mappers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../src/Blockfrost/mappers.ts"],"names":[],"mappings":";;;AAEO,MAAM,wBAAwB,GAAG,CAAC,EAAE,eAAe,EAA8B,EAAyB,EAAE,CAAC,CAAC;IACnH,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;CAClC,CAAC,CAAC;AAFU,QAAA,wBAAwB,4BAElC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const findCurrentEpoch = "\nSELECT\n MAX(no) AS epoch_no\nFROM epoch\n";
|
|
2
|
+
export declare const findFirstUpdateAfterBlock = "\nSELECT\n active_epoch_no\nFROM pool_update\nJOIN tx ON\n tx.id = registered_tx_id\nJOIN block ON\n block_id = block.id AND\n block_no > $2\nWHERE hash_id = $1\nORDER BY block_no DESC\nLIMIT 1\n";
|
|
3
|
+
export declare const findLastRetire = "\nSELECT\n block_no,\n retiring_epoch\nFROM pool_retire\nJOIN tx ON\n tx.id = announced_tx_id\nJOIN block ON\n block_id = block.id\nWHERE hash_id = $1\nORDER BY block_no DESC\nLIMIT 1\n";
|
|
4
|
+
export declare const findPools = "\nSELECT\n id,\n view\nFROM pool_hash\nLEFT JOIN blockfrost.pool_metric ON\n id = pool_hash_id\nWHERE\n COALESCE(cache_time, 0) < $1\n";
|
|
5
|
+
export declare const setPoolMetric = "\nINSERT INTO blockfrost.pool_metric\nVALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12)\nON CONFLICT (pool_hash_id)\nDO UPDATE SET\n last_reward_epoch = $2,\n cache_time = $3,\n blocks_created = $4,\n delegators = $5,\n active_stake = $6,\n live_stake = $7,\n live_pledge = $8,\n saturation = $9,\n reward_address = $10,\n extra = $11,\n status = $12\n";
|
|
6
|
+
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/Blockfrost/queries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,kDAI5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,4MAYrC,CAAC;AAEF,eAAO,MAAM,cAAc,kMAY1B,CAAC;AAEF,eAAO,MAAM,SAAS,+IASrB,CAAC;AAEF,eAAO,MAAM,aAAa,8WAgBzB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setPoolMetric = exports.findPools = exports.findLastRetire = exports.findFirstUpdateAfterBlock = exports.findCurrentEpoch = void 0;
|
|
4
|
+
exports.findCurrentEpoch = `
|
|
5
|
+
SELECT
|
|
6
|
+
MAX(no) AS epoch_no
|
|
7
|
+
FROM epoch
|
|
8
|
+
`;
|
|
9
|
+
exports.findFirstUpdateAfterBlock = `
|
|
10
|
+
SELECT
|
|
11
|
+
active_epoch_no
|
|
12
|
+
FROM pool_update
|
|
13
|
+
JOIN tx ON
|
|
14
|
+
tx.id = registered_tx_id
|
|
15
|
+
JOIN block ON
|
|
16
|
+
block_id = block.id AND
|
|
17
|
+
block_no > $2
|
|
18
|
+
WHERE hash_id = $1
|
|
19
|
+
ORDER BY block_no DESC
|
|
20
|
+
LIMIT 1
|
|
21
|
+
`;
|
|
22
|
+
exports.findLastRetire = `
|
|
23
|
+
SELECT
|
|
24
|
+
block_no,
|
|
25
|
+
retiring_epoch
|
|
26
|
+
FROM pool_retire
|
|
27
|
+
JOIN tx ON
|
|
28
|
+
tx.id = announced_tx_id
|
|
29
|
+
JOIN block ON
|
|
30
|
+
block_id = block.id
|
|
31
|
+
WHERE hash_id = $1
|
|
32
|
+
ORDER BY block_no DESC
|
|
33
|
+
LIMIT 1
|
|
34
|
+
`;
|
|
35
|
+
exports.findPools = `
|
|
36
|
+
SELECT
|
|
37
|
+
id,
|
|
38
|
+
view
|
|
39
|
+
FROM pool_hash
|
|
40
|
+
LEFT JOIN blockfrost.pool_metric ON
|
|
41
|
+
id = pool_hash_id
|
|
42
|
+
WHERE
|
|
43
|
+
COALESCE(cache_time, 0) < $1
|
|
44
|
+
`;
|
|
45
|
+
exports.setPoolMetric = `
|
|
46
|
+
INSERT INTO blockfrost.pool_metric
|
|
47
|
+
VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12)
|
|
48
|
+
ON CONFLICT (pool_hash_id)
|
|
49
|
+
DO UPDATE SET
|
|
50
|
+
last_reward_epoch = $2,
|
|
51
|
+
cache_time = $3,
|
|
52
|
+
blocks_created = $4,
|
|
53
|
+
delegators = $5,
|
|
54
|
+
active_stake = $6,
|
|
55
|
+
live_stake = $7,
|
|
56
|
+
live_pledge = $8,
|
|
57
|
+
saturation = $9,
|
|
58
|
+
reward_address = $10,
|
|
59
|
+
extra = $11,
|
|
60
|
+
status = $12
|
|
61
|
+
`;
|
|
62
|
+
//# sourceMappingURL=queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/Blockfrost/queries.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;;;;CAI/B,CAAC;AAEW,QAAA,yBAAyB,GAAG;;;;;;;;;;;;CAYxC,CAAC;AAEW,QAAA,cAAc,GAAG;;;;;;;;;;;;CAY7B,CAAC;AAEW,QAAA,SAAS,GAAG;;;;;;;;;CASxB,CAAC;AAEW,QAAA,aAAa,GAAG;;;;;;;;;;;;;;;;CAgB5B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface CurrentEpochModel {
|
|
2
|
+
epoch_no: number;
|
|
3
|
+
}
|
|
4
|
+
export interface FirstUpdateAfterBlock {
|
|
5
|
+
epoch_no: number;
|
|
6
|
+
}
|
|
7
|
+
export interface FirstUpdateAfterBlockModel {
|
|
8
|
+
active_epoch_no: string;
|
|
9
|
+
}
|
|
10
|
+
export interface LastRetireModel {
|
|
11
|
+
block_no: number;
|
|
12
|
+
retiring_epoch: number;
|
|
13
|
+
}
|
|
14
|
+
export interface PoolsModel {
|
|
15
|
+
id: string;
|
|
16
|
+
view: string;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Blockfrost/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Blockfrost/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import { Cardano } from '@cardano-sdk/core';
|
|
1
|
+
import { Cardano, PaginationArgs, Range } from '@cardano-sdk/core';
|
|
2
2
|
import { TransactionDataMap, TxInput, TxOutTokenMap, TxOutput, TxTokenMap } from './types';
|
|
3
3
|
import { Logger } from 'ts-log';
|
|
4
4
|
import { Pool } from 'pg';
|
|
5
5
|
export declare class ChainHistoryBuilder {
|
|
6
6
|
#private;
|
|
7
7
|
constructor(db: Pool, logger: Logger);
|
|
8
|
-
|
|
8
|
+
queryTransactionInputsByIds(ids: string[], collateral?: boolean): Promise<TxInput[]>;
|
|
9
9
|
queryMultiAssetsByTxOut(txOutIds: BigInt[]): Promise<TxOutTokenMap>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
queryTransactionOutputsByIds(ids: string[]): Promise<TxOutput[]>;
|
|
11
|
+
queryTxMintByIds(ids: string[]): Promise<TxTokenMap>;
|
|
12
|
+
queryTxRecordIdsByTxHashes(ids: Cardano.TransactionId[]): Promise<string[]>;
|
|
13
|
+
queryWithdrawalsByTxIds(ids: string[]): Promise<TransactionDataMap<Cardano.Withdrawal[]>>;
|
|
14
|
+
queryRedeemersByIds(ids: string[]): Promise<TransactionDataMap<Cardano.Redeemer[]>>;
|
|
15
|
+
queryCertificatesByIds(ids: string[]): Promise<TransactionDataMap<Cardano.Certificate[]>>;
|
|
16
|
+
queryTxIdsByAddresses(addresses: Cardano.PaymentAddress[], blockRange?: Range<Cardano.BlockNo>): Promise<number>;
|
|
17
|
+
queryTxIdsByAddresses(addresses: Cardano.PaymentAddress[], blockRange?: Range<Cardano.BlockNo>, pagination?: PaginationArgs): Promise<string[]>;
|
|
15
18
|
}
|
|
16
19
|
//# sourceMappingURL=ChainHistoryBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainHistoryBuilder.d.ts","sourceRoot":"","sources":["../../../../src/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChainHistoryBuilder.d.ts","sourceRoot":"","sources":["../../../../src/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAUL,kBAAkB,EAElB,OAAO,EAGP,aAAa,EACb,QAAQ,EAER,UAAU,EAIX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAe,MAAM,IAAI,CAAC;AAgBvC,qBAAa,mBAAmB;;gBAIlB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;IAKvB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,UAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IASlF,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAMnE,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAUhE,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAMpD,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO3E,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAYzF,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAYnF,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAoD/F,qBAAqB,CAC1B,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,EACnC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAClC,OAAO,CAAC,MAAM,CAAC;IACX,qBAAqB,CAC1B,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,EACnC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EACnC,UAAU,CAAC,EAAE,cAAc,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;CA4BrB"}
|