@cardano-sdk/ogmios 0.15.31 → 0.15.33
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/dist/cjs/CardanoNode/OgmiosCardanoNode.d.ts +2 -3
- package/dist/cjs/CardanoNode/OgmiosCardanoNode.d.ts.map +1 -1
- package/dist/cjs/CardanoNode/OgmiosCardanoNode.js +21 -43
- package/dist/cjs/CardanoNode/OgmiosCardanoNode.js.map +1 -1
- package/dist/cjs/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.d.ts +3 -1
- package/dist/cjs/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.d.ts.map +1 -1
- package/dist/cjs/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.js +2 -0
- package/dist/cjs/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.js.map +1 -1
- package/dist/cjs/CardanoNode/queries.d.ts +3 -2
- package/dist/cjs/CardanoNode/queries.d.ts.map +1 -1
- package/dist/cjs/CardanoNode/queries.js +14 -1
- package/dist/cjs/CardanoNode/queries.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/CardanoNode/OgmiosCardanoNode.d.ts +2 -3
- package/dist/esm/CardanoNode/OgmiosCardanoNode.d.ts.map +1 -1
- package/dist/esm/CardanoNode/OgmiosCardanoNode.js +23 -45
- package/dist/esm/CardanoNode/OgmiosCardanoNode.js.map +1 -1
- package/dist/esm/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.d.ts +3 -1
- package/dist/esm/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.d.ts.map +1 -1
- package/dist/esm/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.js +3 -1
- package/dist/esm/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.js.map +1 -1
- package/dist/esm/CardanoNode/queries.d.ts +3 -2
- package/dist/esm/CardanoNode/queries.d.ts.map +1 -1
- package/dist/esm/CardanoNode/queries.js +13 -1
- package/dist/esm/CardanoNode/queries.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -8
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { CardanoNode, EraSummary, HealthCheckResponse, StakeDistribution } from '@cardano-sdk/core';
|
|
2
|
-
import { ConnectionConfig } from '@cardano-ogmios/client';
|
|
3
2
|
import { Logger } from 'ts-log';
|
|
3
|
+
import { OgmiosObservableCardanoNode } from './OgmiosObservableCardanoNode/index.js';
|
|
4
4
|
import { RunnableModule } from '@cardano-sdk/util';
|
|
5
5
|
export declare class OgmiosCardanoNode extends RunnableModule implements CardanoNode {
|
|
6
6
|
#private;
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(ogmiosObservableCardanoNode: OgmiosObservableCardanoNode, logger: Logger);
|
|
8
8
|
initializeImpl(): Promise<void>;
|
|
9
9
|
shutdownImpl(): Promise<void>;
|
|
10
10
|
eraSummaries(): Promise<EraSummary[]>;
|
|
11
11
|
systemStart(): Promise<Date>;
|
|
12
12
|
stakeDistribution(): Promise<StakeDistribution>;
|
|
13
13
|
healthCheck(): Promise<HealthCheckResponse>;
|
|
14
|
-
static healthCheck(connectionConfig: ConnectionConfig, logger: Logger): Promise<HealthCheckResponse>;
|
|
15
14
|
startImpl(): Promise<void>;
|
|
16
15
|
}
|
|
17
16
|
//# sourceMappingURL=OgmiosCardanoNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OgmiosCardanoNode.d.ts","sourceRoot":"","sources":["../../../src/CardanoNode/OgmiosCardanoNode.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"OgmiosCardanoNode.d.ts","sourceRoot":"","sources":["../../../src/CardanoNode/OgmiosCardanoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EAGV,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAahC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgCnD,qBAAa,iBAAkB,SAAQ,cAAe,YAAW,WAAW;;gBAI9D,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM;IAMvE,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,YAAY,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAOrC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAO5D,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IASrC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAajC"}
|
|
@@ -9,74 +9,52 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
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");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _OgmiosCardanoNode_instances,
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { RunnableModule
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
var _OgmiosCardanoNode_instances, _OgmiosCardanoNode_ogmiosObservableCardanoNode, _OgmiosCardanoNode_shuttingDown$, _OgmiosCardanoNode_assertIsRunning;
|
|
13
|
+
import { GeneralCardanoNodeError, GeneralCardanoNodeErrorCode, Milliseconds } from '@cardano-sdk/core';
|
|
14
|
+
import { Subject, defaultIfEmpty, firstValueFrom, pipe, takeUntil, throwError, throwIfEmpty, timeout } from 'rxjs';
|
|
15
|
+
import { RunnableModule } from '@cardano-sdk/util';
|
|
16
|
+
const DEFAULT_RESPONSE_TIMEOUT = Milliseconds(10000);
|
|
17
|
+
const withTimeout = () => timeout({
|
|
18
|
+
first: DEFAULT_RESPONSE_TIMEOUT,
|
|
19
|
+
with: () => throwError(() => new GeneralCardanoNodeError(GeneralCardanoNodeErrorCode.ConnectionFailure, null, 'Timeout'))
|
|
20
|
+
});
|
|
21
|
+
const withShutdown = (shuttingDown$) => pipe(takeUntil(shuttingDown$), throwIfEmpty(() => new GeneralCardanoNodeError(GeneralCardanoNodeErrorCode.ServerNotReady, null, 'OgmiosCardanoNode is shutting down.')));
|
|
18
22
|
export class OgmiosCardanoNode extends RunnableModule {
|
|
19
|
-
constructor(
|
|
23
|
+
constructor(ogmiosObservableCardanoNode, logger) {
|
|
20
24
|
super('OgmiosCardanoNode', logger);
|
|
21
25
|
_OgmiosCardanoNode_instances.add(this);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
__classPrivateFieldSet(this,
|
|
26
|
-
__classPrivateFieldSet(this, _OgmiosCardanoNode_connectionConfig, connectionConfig, "f");
|
|
26
|
+
_OgmiosCardanoNode_ogmiosObservableCardanoNode.set(this, void 0);
|
|
27
|
+
_OgmiosCardanoNode_shuttingDown$.set(this, void 0);
|
|
28
|
+
__classPrivateFieldSet(this, _OgmiosCardanoNode_ogmiosObservableCardanoNode, ogmiosObservableCardanoNode, "f");
|
|
29
|
+
__classPrivateFieldSet(this, _OgmiosCardanoNode_shuttingDown$, new Subject(), "f");
|
|
27
30
|
}
|
|
28
31
|
async initializeImpl() {
|
|
29
|
-
|
|
30
|
-
__classPrivateFieldSet(this, _OgmiosCardanoNode_stateQueryClient, await createLedgerStateQueryClient(await createInteractionContextWithLogger(__classPrivateFieldGet(this, _OgmiosCardanoNode_logger, "f"), { connection: __classPrivateFieldGet(this, _OgmiosCardanoNode_connectionConfig, "f") })), "f");
|
|
31
|
-
__classPrivateFieldGet(this, _OgmiosCardanoNode_logger, "f").info('CardanoNode initialized');
|
|
32
|
+
return Promise.resolve();
|
|
32
33
|
}
|
|
33
34
|
async shutdownImpl() {
|
|
34
|
-
__classPrivateFieldGet(this,
|
|
35
|
-
|
|
35
|
+
__classPrivateFieldGet(this, _OgmiosCardanoNode_shuttingDown$, "f").next();
|
|
36
|
+
return Promise.resolve();
|
|
36
37
|
}
|
|
37
38
|
async eraSummaries() {
|
|
38
39
|
__classPrivateFieldGet(this, _OgmiosCardanoNode_instances, "m", _OgmiosCardanoNode_assertIsRunning).call(this);
|
|
39
|
-
return
|
|
40
|
+
return firstValueFrom(__classPrivateFieldGet(this, _OgmiosCardanoNode_ogmiosObservableCardanoNode, "f").eraSummaries$.pipe(withTimeout(), withShutdown(__classPrivateFieldGet(this, _OgmiosCardanoNode_shuttingDown$, "f"))));
|
|
40
41
|
}
|
|
41
42
|
async systemStart() {
|
|
42
43
|
__classPrivateFieldGet(this, _OgmiosCardanoNode_instances, "m", _OgmiosCardanoNode_assertIsRunning).call(this);
|
|
43
|
-
__classPrivateFieldGet(this,
|
|
44
|
-
return withCoreCardanoNodeError(async () => __classPrivateFieldGet(this, _OgmiosCardanoNode_stateQueryClient, "f").networkStartTime());
|
|
44
|
+
return firstValueFrom(__classPrivateFieldGet(this, _OgmiosCardanoNode_ogmiosObservableCardanoNode, "f").systemStart$.pipe(withTimeout(), withShutdown(__classPrivateFieldGet(this, _OgmiosCardanoNode_shuttingDown$, "f"))));
|
|
45
45
|
}
|
|
46
46
|
async stakeDistribution() {
|
|
47
47
|
__classPrivateFieldGet(this, _OgmiosCardanoNode_instances, "m", _OgmiosCardanoNode_assertIsRunning).call(this);
|
|
48
|
-
__classPrivateFieldGet(this,
|
|
49
|
-
return withCoreCardanoNodeError(async () => {
|
|
50
|
-
const map = new Map();
|
|
51
|
-
for (const [key, value] of Object.entries(await __classPrivateFieldGet(this, _OgmiosCardanoNode_stateQueryClient, "f").liveStakeDistribution())) {
|
|
52
|
-
const splitStake = value.stake.split('/');
|
|
53
|
-
map.set(Cardano.PoolId(key), {
|
|
54
|
-
...value,
|
|
55
|
-
stake: { pool: BigInt(splitStake[0]), supply: BigInt(splitStake[1]) }
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
return map;
|
|
59
|
-
});
|
|
48
|
+
return firstValueFrom(__classPrivateFieldGet(this, _OgmiosCardanoNode_ogmiosObservableCardanoNode, "f").stakeDistribution$.pipe(withTimeout(), withShutdown(__classPrivateFieldGet(this, _OgmiosCardanoNode_shuttingDown$, "f"))));
|
|
60
49
|
}
|
|
61
50
|
healthCheck() {
|
|
62
|
-
return
|
|
63
|
-
}
|
|
64
|
-
static async healthCheck(connectionConfig, logger) {
|
|
65
|
-
try {
|
|
66
|
-
return ogmiosServerHealthToHealthCheckResponse(await getServerHealth({
|
|
67
|
-
connection: createConnectionObject(connectionConfig)
|
|
68
|
-
}));
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
logger.error(error.message);
|
|
72
|
-
return { ok: false };
|
|
73
|
-
}
|
|
51
|
+
return firstValueFrom(__classPrivateFieldGet(this, _OgmiosCardanoNode_ogmiosObservableCardanoNode, "f").healthCheck$.pipe(takeUntil(__classPrivateFieldGet(this, _OgmiosCardanoNode_shuttingDown$, "f")), defaultIfEmpty({ message: 'OgmiosCardanoNode is shutting down.', ok: false })));
|
|
74
52
|
}
|
|
75
53
|
async startImpl() {
|
|
76
54
|
return Promise.resolve();
|
|
77
55
|
}
|
|
78
56
|
}
|
|
79
|
-
|
|
57
|
+
_OgmiosCardanoNode_ogmiosObservableCardanoNode = new WeakMap(), _OgmiosCardanoNode_shuttingDown$ = new WeakMap(), _OgmiosCardanoNode_instances = new WeakSet(), _OgmiosCardanoNode_assertIsRunning = function _OgmiosCardanoNode_assertIsRunning() {
|
|
80
58
|
if (this.state !== 'running') {
|
|
81
59
|
throw new GeneralCardanoNodeError(GeneralCardanoNodeErrorCode.ServerNotReady, null, 'OgmiosCardanoNode is not running');
|
|
82
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OgmiosCardanoNode.js","sourceRoot":"","sources":["../../../src/CardanoNode/OgmiosCardanoNode.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"OgmiosCardanoNode.js","sourceRoot":"","sources":["../../../src/CardanoNode/OgmiosCardanoNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cardano, EraSummary, HealthCheckResponse, Milliseconds, ObservableCardanoNode, ObservableChainSync, PointOrOrigin, TxCBOR } from '@cardano-sdk/core';
|
|
1
|
+
import { Cardano, EraSummary, HealthCheckResponse, Milliseconds, ObservableCardanoNode, ObservableChainSync, PointOrOrigin, StakeDistribution, TxCBOR } from '@cardano-sdk/core';
|
|
2
2
|
import { InteractionContextProps } from './createObservableInteractionContext.js';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { RetryBackoffConfig } from 'backoff-rxjs';
|
|
@@ -14,6 +14,8 @@ export declare class OgmiosObservableCardanoNode implements ObservableCardanoNod
|
|
|
14
14
|
#private;
|
|
15
15
|
readonly eraSummaries$: Observable<EraSummary[]>;
|
|
16
16
|
readonly genesisParameters$: Observable<Cardano.CompactGenesis>;
|
|
17
|
+
readonly stakeDistribution$: Observable<StakeDistribution>;
|
|
18
|
+
readonly systemStart$: Observable<Date>;
|
|
17
19
|
readonly healthCheck$: Observable<HealthCheckResponse>;
|
|
18
20
|
constructor(props: OgmiosObservableCardanoNodeProps, { logger }: WithLogger);
|
|
19
21
|
findIntersect(points: PointOrOrigin[]): Observable<ObservableChainSync>;
|
package/dist/esm/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OgmiosObservableCardanoNode.d.ts","sourceRoot":"","sources":["../../../../src/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAGP,UAAU,EAGV,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,
|
|
1
|
+
{"version":3,"file":"OgmiosObservableCardanoNode.d.ts","sourceRoot":"","sources":["../../../../src/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAGP,UAAU,EAGV,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EAEjB,MAAM,EACP,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,uBAAuB,EAAsC,MAAM,sCAAsC,CAAC;AAEnH,OAAO,EACL,UAAU,EAWX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAiB9D,oBAAY,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,aAAa,CAAC,CAAC;AACrG,oBAAY,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC;AAQ7G,oBAAY,gCAAgC,GAAG,uBAAuB,GAAG;IAEvE,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IAExD,wBAAwB,CAAC,EAAE,mBAAmB,CAAC;CAChD,CAAC;AAyCF,qBAAa,2BAA4B,YAAW,qBAAqB;;IAMvE,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;IACjD,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAChE,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC3D,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;gBAE3C,KAAK,EAAE,gCAAgC,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU;IAiE3E,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE;IA8BrC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC;CAaxD"}
|
|
@@ -19,7 +19,7 @@ import { contextLogger } from '@cardano-sdk/util';
|
|
|
19
19
|
import { createObservableChainSyncClient } from './createObservableChainSyncClient.js';
|
|
20
20
|
import { ogmiosServerHealthToHealthCheckResponse } from '../../util.js';
|
|
21
21
|
import { ogmiosToCorePointOrOrigin, ogmiosToCoreTipOrOrigin, pointOrOriginToOgmios } from './util.js';
|
|
22
|
-
import { queryEraSummaries, queryGenesisParameters, withCoreCardanoNodeError } from '../queries.js';
|
|
22
|
+
import { queryEraSummaries, queryGenesisParameters, queryStakeDistribution, withCoreCardanoNodeError } from '../queries.js';
|
|
23
23
|
import isEqual from 'lodash/isEqual.js';
|
|
24
24
|
const ogmiosToCoreIntersection = (intersection) => ({
|
|
25
25
|
point: ogmiosToCorePointOrOrigin(intersection.intersection),
|
|
@@ -75,6 +75,8 @@ export class OgmiosObservableCardanoNode {
|
|
|
75
75
|
const stateQueryClient$ = __classPrivateFieldGet(this, _OgmiosObservableCardanoNode_interactionContext$, "f").pipe(switchMap((interactionContext) => from(createLedgerStateQueryClient(interactionContext))), distinctUntilChanged((a, b) => isEqual(a, b)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
76
76
|
this.eraSummaries$ = stateQueryClient$.pipe(switchMap((client) => from(queryEraSummaries(client, __classPrivateFieldGet(this, _OgmiosObservableCardanoNode_logger, "f")))), retryBackoff(stateQueryRetryBackoffConfig(props.localStateQueryRetryConfig, logger)));
|
|
77
77
|
this.genesisParameters$ = stateQueryClient$.pipe(switchMap((client) => from(queryGenesisParameters(client, __classPrivateFieldGet(this, _OgmiosObservableCardanoNode_logger, "f")))), retryBackoff(stateQueryRetryBackoffConfig(props.localStateQueryRetryConfig, logger)), distinctUntilChanged(isEqual), shareReplay({ bufferSize: 1, refCount: true }));
|
|
78
|
+
this.stakeDistribution$ = stateQueryClient$.pipe(switchMap((client) => from(queryStakeDistribution(client, __classPrivateFieldGet(this, _OgmiosObservableCardanoNode_logger, "f")))), retryBackoff(stateQueryRetryBackoffConfig(props.localStateQueryRetryConfig, logger)));
|
|
79
|
+
this.systemStart$ = stateQueryClient$.pipe(switchMap((client) => from(withCoreCardanoNodeError(() => client.networkStartTime()))), retryBackoff(stateQueryRetryBackoffConfig(props.localStateQueryRetryConfig, logger)));
|
|
78
80
|
this.healthCheck$ = __classPrivateFieldGet(this, _OgmiosObservableCardanoNode_connectionConfig$, "f").pipe(switchMap((connectionConfig) => from(getServerHealth({ connection: createConnectionObject(connectionConfig) }))), map(ogmiosServerHealthToHealthCheckResponse), timeout({
|
|
79
81
|
first: props.healthCheckTimeout || DEFAULT_HEALTH_CHECK_TIMEOUT,
|
|
80
82
|
with: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OgmiosObservableCardanoNode.js","sourceRoot":"","sources":["../../../../src/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAEL,gBAAgB,EAChB,eAAe,EAEf,uBAAuB,EACvB,2BAA2B,EAE3B,YAAY,
|
|
1
|
+
{"version":3,"file":"OgmiosObservableCardanoNode.js","sourceRoot":"","sources":["../../../../src/CardanoNode/OgmiosObservableCardanoNode/OgmiosObservableCardanoNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ChainSyncError, GeneralCardanoNodeError, StateQueryError, TxSubmissionError } from '@cardano-sdk/core';
|
|
1
|
+
import { Cardano, ChainSyncError, GeneralCardanoNodeError, StakeDistribution, StateQueryError, TxSubmissionError } from '@cardano-sdk/core';
|
|
2
2
|
import { LedgerStateQuery } from '@cardano-ogmios/client';
|
|
3
3
|
import { Logger } from 'ts-log';
|
|
4
4
|
export declare const ogmiosToCoreError: (error: any) => GeneralCardanoNodeError<any> | StateQueryError<any> | TxSubmissionError<unknown> | ChainSyncError<any>;
|
|
5
5
|
export declare const withCoreCardanoNodeError: <T>(operation: () => Promise<T>) => Promise<T>;
|
|
6
6
|
export declare const queryEraSummaries: (client: LedgerStateQuery.LedgerStateQueryClient, logger: Logger) => Promise<import("@cardano-sdk/core").EraSummary[]>;
|
|
7
|
-
export declare const queryGenesisParameters: (client: LedgerStateQuery.LedgerStateQueryClient, logger: Logger) => Promise<
|
|
7
|
+
export declare const queryGenesisParameters: (client: LedgerStateQuery.LedgerStateQueryClient, logger: Logger) => Promise<Cardano.CompactGenesis>;
|
|
8
|
+
export declare const queryStakeDistribution: (client: LedgerStateQuery.LedgerStateQueryClient, logger: Logger) => Promise<StakeDistribution>;
|
|
8
9
|
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/CardanoNode/queries.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/CardanoNode/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,cAAc,EACd,uBAAuB,EAIvB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EAIlB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiDhC,eAAO,MAAM,iBAAiB,UAAW,GAAG,2GAmB3C,CAAC;AAEF,eAAO,MAAM,wBAAwB,gDAMpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,iBAAiB,sBAAsB,UAAU,MAAM,sDAM7F,CAAC;AAEL,eAAO,MAAM,sBAAsB,WAAY,iBAAiB,sBAAsB,UAAU,MAAM,oCAKlG,CAAC;AAEL,eAAO,MAAM,sBAAsB,WAAY,iBAAiB,sBAAsB,UAAU,MAAM,+BAYlG,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CardanoNodeUtil, ChainSyncError, GeneralCardanoNodeError, GeneralCardanoNodeErrorCode, StateQueryError, TxSubmissionError, TxSubmissionErrorCode } from '@cardano-sdk/core';
|
|
1
|
+
import { Cardano, CardanoNodeUtil, ChainSyncError, GeneralCardanoNodeError, GeneralCardanoNodeErrorCode, StateQueryError, TxSubmissionError, TxSubmissionErrorCode } from '@cardano-sdk/core';
|
|
2
2
|
import { eraSummary, genesis } from '../ogmiosToCore/index.js';
|
|
3
3
|
import { isConnectionError } from '@cardano-sdk/util';
|
|
4
4
|
import { mapTxIn, mapValue, mapWithdrawals } from '../ogmiosToCore/tx.js';
|
|
@@ -79,4 +79,16 @@ export const queryGenesisParameters = (client, logger) => withCoreCardanoNodeErr
|
|
|
79
79
|
logger.info('Querying genesis parameters');
|
|
80
80
|
return genesis(await client.genesisConfiguration('shelley'));
|
|
81
81
|
});
|
|
82
|
+
export const queryStakeDistribution = (client, logger) => withCoreCardanoNodeError(async () => {
|
|
83
|
+
logger.info('Querying stake distribution');
|
|
84
|
+
const map = new Map();
|
|
85
|
+
for (const [key, value] of Object.entries(await client.liveStakeDistribution())) {
|
|
86
|
+
const splitStake = value.stake.split('/');
|
|
87
|
+
map.set(Cardano.PoolId(key), {
|
|
88
|
+
stake: { pool: BigInt(splitStake[0]), supply: BigInt(splitStake[1]) },
|
|
89
|
+
vrf: Cardano.VrfVkHex(value.vrf)
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return map;
|
|
93
|
+
});
|
|
82
94
|
//# sourceMappingURL=queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/CardanoNode/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/CardanoNode/queries.ts"],"names":[],"mappings":"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"}
|