@cardano-sdk/projection 0.6.16 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/operators/Mappers/certificates/withCertificates.d.ts +1 -6
- package/dist/cjs/operators/Mappers/certificates/withCertificates.d.ts.map +1 -1
- package/dist/cjs/operators/Mappers/certificates/withCertificates.js +3 -3
- package/dist/cjs/operators/Mappers/certificates/withCertificates.js.map +1 -1
- package/dist/cjs/operators/Mappers/certificates/withStakePools.d.ts +2 -2
- package/dist/cjs/operators/Mappers/certificates/withStakePools.d.ts.map +1 -1
- package/dist/cjs/operators/Mappers/withHandles.d.ts.map +1 -1
- package/dist/cjs/operators/Mappers/withHandles.js +1 -5
- package/dist/cjs/operators/Mappers/withHandles.js.map +1 -1
- package/dist/cjs/operators/logProjectionProgress.d.ts.map +1 -1
- package/dist/cjs/operators/logProjectionProgress.js +37 -12
- package/dist/cjs/operators/logProjectionProgress.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/operators/Mappers/certificates/withCertificates.d.ts +1 -6
- package/dist/esm/operators/Mappers/certificates/withCertificates.d.ts.map +1 -1
- package/dist/esm/operators/Mappers/certificates/withCertificates.js +3 -3
- package/dist/esm/operators/Mappers/certificates/withCertificates.js.map +1 -1
- package/dist/esm/operators/Mappers/certificates/withStakePools.d.ts +2 -2
- package/dist/esm/operators/Mappers/certificates/withStakePools.d.ts.map +1 -1
- package/dist/esm/operators/Mappers/withHandles.d.ts.map +1 -1
- package/dist/esm/operators/Mappers/withHandles.js +2 -6
- package/dist/esm/operators/Mappers/withHandles.js.map +1 -1
- package/dist/esm/operators/logProjectionProgress.d.ts.map +1 -1
- package/dist/esm/operators/logProjectionProgress.js +37 -12
- package/dist/esm/operators/logProjectionProgress.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { Cardano } from '@cardano-sdk/core';
|
|
2
2
|
import { WithBlock } from '../../../types';
|
|
3
|
-
export interface CertificatePointer {
|
|
4
|
-
slot: Cardano.Slot;
|
|
5
|
-
txIndex: number;
|
|
6
|
-
certIndex: number;
|
|
7
|
-
}
|
|
8
3
|
export interface OnChainCertificate {
|
|
9
|
-
pointer:
|
|
4
|
+
pointer: Cardano.Pointer;
|
|
10
5
|
certificate: Cardano.Certificate;
|
|
11
6
|
}
|
|
12
7
|
export interface WithCertificates {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withCertificates.d.ts","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,kBAAkB;IACjC,
|
|
1
|
+
{"version":3,"file":"withCertificates.d.ts","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAwBD,eAAO,MAAM,gBAAgB,oPAG1B,CAAC"}
|
|
@@ -5,9 +5,9 @@ const blockCertificates = ({ block: { header: { slot }, body } }) => body
|
|
|
5
5
|
.flatMap(({ body: { certificates = [] } }, txIndex) => certificates.map((certificate, certIndex) => ({
|
|
6
6
|
certificate,
|
|
7
7
|
pointer: {
|
|
8
|
-
certIndex,
|
|
9
|
-
slot,
|
|
10
|
-
txIndex
|
|
8
|
+
certIndex: Cardano.CertIndex(certIndex),
|
|
9
|
+
slot: Cardano.Slot(slot),
|
|
10
|
+
txIndex: Cardano.TxIndex(txIndex)
|
|
11
11
|
}
|
|
12
12
|
})));
|
|
13
13
|
export const withCertificates = unifiedProjectorOperator((evt) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withCertificates.js","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"withCertificates.js","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withCertificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAWvD,MAAM,iBAAiB,GAAG,CAAC,EACzB,KAAK,EAAE,EACL,MAAM,EAAE,EAAE,IAAI,EAAE,EAChB,IAAI,EACL,EACS,EAAE,EAAE,CACd,IAAI;KACD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;KACzD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CACpD,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5C,WAAW;IACX,OAAO,EAAE;QACP,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;QACvC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;KAClC;CACF,CAAC,CAAC,CACJ,CAAC;AAKN,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAuB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvF,GAAG,GAAG;IACN,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAAC;CACrC,CAAC,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Cardano } from '@cardano-sdk/core';
|
|
2
|
-
import {
|
|
2
|
+
import { WithCertificates } from './withCertificates';
|
|
3
3
|
import { WithEpochNo } from '../../../types';
|
|
4
4
|
export interface WithCertificateSource {
|
|
5
|
-
source:
|
|
5
|
+
source: Cardano.Pointer;
|
|
6
6
|
}
|
|
7
7
|
export declare type PoolUpdate = Omit<Cardano.PoolRegistrationCertificate, '__typename'> & WithCertificateSource;
|
|
8
8
|
export declare type PoolRetirement = Omit<Cardano.PoolRetirementCertificate, '__typename'> & WithCertificateSource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withStakePools.d.ts","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withStakePools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"withStakePools.d.ts","sourceRoot":"","sources":["../../../../../src/operators/Mappers/certificates/withStakePools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;CACzB;AAED,oBAAY,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,YAAY,CAAC,GAAG,qBAAqB,CAAC;AAEzG,oBAAY,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,YAAY,CAAC,GAAG,qBAAqB,CAAC;AAE3G,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QAIV,OAAO,EAAE,UAAU,EAAE,CAAC;QAKtB,WAAW,EAAE,cAAc,EAAE,CAAC;KAC/B,CAAC;CACH;AAKD,eAAO,MAAM,cAAc,sUA0BzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withHandles.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"withHandles.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IAQf,kBAAkB,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAiED,eAAO,MAAM,WAAW,2BACG,iBAAiB,6CAiBvC,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { Cardano } from '@cardano-sdk/core';
|
|
1
|
+
import { Asset, Cardano } from '@cardano-sdk/core';
|
|
2
2
|
import { CustomError } from 'ts-custom-error';
|
|
3
3
|
import { logError } from './util';
|
|
4
4
|
import { map } from 'rxjs';
|
|
5
5
|
const handleFromAssetId = (assetId) => Buffer.from(Cardano.AssetId.getAssetName(assetId), 'hex').toString('utf8');
|
|
6
|
-
const isValidHandle = (handle) => {
|
|
7
|
-
const pattern = /^[\w.-]+$/;
|
|
8
|
-
return pattern.test(handle);
|
|
9
|
-
};
|
|
10
6
|
class HandleParsingError extends CustomError {
|
|
11
7
|
constructor(handle, message = 'Invalid handle') {
|
|
12
8
|
super(`${message}: ${handle}`);
|
|
@@ -14,7 +10,7 @@ class HandleParsingError extends CustomError {
|
|
|
14
10
|
}
|
|
15
11
|
const mapHandleToData = (assetId, data) => {
|
|
16
12
|
const handle = handleFromAssetId(assetId);
|
|
17
|
-
if (!isValidHandle(handle))
|
|
13
|
+
if (!Asset.util.isValidHandle(handle))
|
|
18
14
|
throw new HandleParsingError(handle);
|
|
19
15
|
const { datum, address, policyId } = data;
|
|
20
16
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withHandles.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"withHandles.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logProjectionProgress.d.ts","sourceRoot":"","sources":["../../../src/operators/logProjectionProgress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAwB,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"logProjectionProgress.d.ts","sourceRoot":"","sources":["../../../src/operators/logProjectionProgress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAwB,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAyDpD,eAAO,MAAM,qBAAqB,4EAC0C,MAAM,2CAuB5E,CAAC"}
|
|
@@ -7,28 +7,53 @@ const isAtTheTipOrHigher = (header, tip) => {
|
|
|
7
7
|
return false;
|
|
8
8
|
return header.blockNo >= tip.blockNo;
|
|
9
9
|
};
|
|
10
|
+
const intervals = [1000, 10000, 100000];
|
|
11
|
+
const intervalsDesc = new Map([
|
|
12
|
+
[1000, '1K'],
|
|
13
|
+
[10000, '10K'],
|
|
14
|
+
[100000, '100K']
|
|
15
|
+
]);
|
|
16
|
+
const logSyncLine = (params) => {
|
|
17
|
+
const { blocksTime, header, logger, numEvt, startedAt, tip } = params;
|
|
18
|
+
const syncPercentage = ((header.blockNo * 100) / tip.blockNo).toFixed(2);
|
|
19
|
+
const now = Date.now();
|
|
20
|
+
blocksTime.set(numEvt, now);
|
|
21
|
+
const format = (desc, amount, since) => {
|
|
22
|
+
const speed = amount / (now - since);
|
|
23
|
+
return `${desc}: eta ${new Date(now + (tip.blockNo - header.blockNo) / speed)
|
|
24
|
+
.toISOString()
|
|
25
|
+
.replace(/\..*$/, '')} at ${Math.round(speed * 1000)} b/s`;
|
|
26
|
+
};
|
|
27
|
+
const speeds = [format('All', numEvt, startedAt)];
|
|
28
|
+
for (const interval of intervals) {
|
|
29
|
+
const prevTime = blocksTime.get(numEvt - interval);
|
|
30
|
+
if (prevTime)
|
|
31
|
+
speeds.push(format(intervalsDesc.get(interval), interval, prevTime));
|
|
32
|
+
}
|
|
33
|
+
logger.info(`Initializing ${syncPercentage}% at block #${header.blockNo} ${speeds.join(' - ')}`);
|
|
34
|
+
const pruneOldTimes = (upTo) => {
|
|
35
|
+
for (const block of blocksTime.keys())
|
|
36
|
+
if (block <= upTo)
|
|
37
|
+
blocksTime.delete(block);
|
|
38
|
+
else
|
|
39
|
+
return;
|
|
40
|
+
};
|
|
41
|
+
pruneOldTimes(header.blockNo - 100000);
|
|
42
|
+
};
|
|
10
43
|
export const logProjectionProgress = (baseLogger) => (evt$) => defer(() => {
|
|
11
44
|
const logger = contextLogger(baseLogger, 'Projector');
|
|
12
45
|
let numEvt = 0;
|
|
46
|
+
const blocksTime = new Map();
|
|
13
47
|
const logFrequency = 1000;
|
|
14
48
|
const startedAt = Date.now();
|
|
15
|
-
let lastLogAt = startedAt;
|
|
16
49
|
logger.info('Started');
|
|
17
50
|
return evt$.pipe(tap(({ block: { header }, eventType, tip }) => {
|
|
18
51
|
numEvt++;
|
|
19
52
|
if (isAtTheTipOrHigher(header, tip)) {
|
|
20
53
|
logger.info(`Processed event ${eventType === ChainSyncEventType.RollForward ? 'RollForward' : 'RollBackward'} ${pointDescription(header)}`);
|
|
21
54
|
}
|
|
22
|
-
else if (numEvt % logFrequency === 0 && tip !== 'origin')
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const currentSpeed = Math.round(logFrequency / ((now - lastLogAt) / 1000));
|
|
26
|
-
lastLogAt = now;
|
|
27
|
-
const overallSpeedPerMs = numEvt / (now - startedAt);
|
|
28
|
-
const overallSpeed = Math.round(overallSpeedPerMs * 1000);
|
|
29
|
-
const eta = new Date(now + (tip.blockNo - header.blockNo) / overallSpeedPerMs);
|
|
30
|
-
logger.info(`Initializing ${syncPercentage}% at block #${header.blockNo}. Speed: ${currentSpeed}bps (avg ${overallSpeed}bps). ETA: ${eta.toISOString()}`);
|
|
31
|
-
}
|
|
32
|
-
}), finalize(() => logger.info('Stopped')));
|
|
55
|
+
else if (numEvt % logFrequency === 0 && tip !== 'origin')
|
|
56
|
+
logSyncLine({ blocksTime, header, logger, numEvt, startedAt, tip });
|
|
57
|
+
}), finalize(() => logger.info(`Stopped after ${Math.round((Date.now() - startedAt) / 1000)} s`)));
|
|
33
58
|
});
|
|
34
59
|
//# sourceMappingURL=logProjectionProgress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logProjectionProgress.js","sourceRoot":"","sources":["../../../src/operators/logProjectionProgress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,kBAAkB,EAAe,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAc,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,kBAAkB,GAAG,CAAC,MAAkC,EAAE,GAAgB,EAAE,EAAE;IAClF,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"logProjectionProgress.js","sourceRoot":"","sources":["../../../src/operators/logProjectionProgress.ts"],"names":[],"mappings":"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"}
|