@cardano-sdk/projection 0.7.0 → 0.7.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 +6 -6
- package/dist/cjs/Bootstrap/fromCardanoNode.d.ts +3 -2
- package/dist/cjs/Bootstrap/fromCardanoNode.d.ts.map +1 -1
- package/dist/cjs/Bootstrap/fromCardanoNode.js +14 -7
- package/dist/cjs/Bootstrap/fromCardanoNode.js.map +1 -1
- package/dist/cjs/operators/requestNext.d.ts +1 -4
- package/dist/cjs/operators/requestNext.d.ts.map +1 -1
- package/dist/cjs/operators/requestNext.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/Bootstrap/fromCardanoNode.d.ts +3 -2
- package/dist/esm/Bootstrap/fromCardanoNode.d.ts.map +1 -1
- package/dist/esm/Bootstrap/fromCardanoNode.js +15 -8
- package/dist/esm/Bootstrap/fromCardanoNode.js.map +1 -1
- package/dist/esm/operators/requestNext.d.ts +1 -4
- package/dist/esm/operators/requestNext.d.ts.map +1 -1
- package/dist/esm/operators/requestNext.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -2,9 +2,10 @@ import { ObservableCardanoNode } from '@cardano-sdk/core';
|
|
|
2
2
|
import { Logger } from 'ts-log';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { ProjectionEvent, StabilityWindowBuffer } from '../types';
|
|
5
|
-
export declare const fromCardanoNode: ({ buffer, logger: baseLogger
|
|
5
|
+
export declare const fromCardanoNode: ({ blocksBufferLength, buffer, cardanoNode, logger: baseLogger }: {
|
|
6
|
+
blocksBufferLength: number;
|
|
7
|
+
buffer: StabilityWindowBuffer;
|
|
6
8
|
cardanoNode: ObservableCardanoNode;
|
|
7
9
|
logger: Logger;
|
|
8
|
-
buffer: StabilityWindowBuffer;
|
|
9
10
|
}) => Observable<ProjectionEvent>;
|
|
10
11
|
//# sourceMappingURL=fromCardanoNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromCardanoNode.d.ts","sourceRoot":"","sources":["../../../src/Bootstrap/fromCardanoNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAA+E,MAAM,MAAM,CAAC;AAC/G,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAA4B,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"fromCardanoNode.d.ts","sourceRoot":"","sources":["../../../src/Bootstrap/fromCardanoNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAA+E,MAAM,MAAM,CAAC;AAC/G,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAA4B,MAAM,UAAU,CAAC;AAoH5F,eAAO,MAAM,eAAe;wBAMN,MAAM;YAClB,qBAAqB;iBAChB,qBAAqB;YAC1B,MAAM;MACZ,WAAW,eAAe,CAoD7B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CardanoNodeErrors, ChainSyncEventType } from '@cardano-sdk/core';
|
|
1
|
+
import { CardanoNodeErrors, ChainSyncEventType, ObservableCardanoNode } from '@cardano-sdk/core';
|
|
2
2
|
import { Observable, combineLatest, concat, defer, map, mergeMap, noop, of, take, takeWhile, tap } from 'rxjs';
|
|
3
3
|
import { contextLogger } from '@cardano-sdk/util';
|
|
4
4
|
import { pointDescription } from '../util';
|
|
@@ -11,13 +11,13 @@ const isIntersectionBlock = (block, intersection) => {
|
|
|
11
11
|
return block.header.hash === intersection.point.hash;
|
|
12
12
|
};
|
|
13
13
|
const blocksToPoints = (blocks) => uniq([...blocks.map((p) => (p === 'origin' ? p : p.header)), 'origin']);
|
|
14
|
-
const syncFromIntersection = ({ cardanoNode, chainSync: { intersection, chainSync$ }, logger
|
|
14
|
+
const syncFromIntersection = ({ blocksBufferLength, buffer, cardanoNode, chainSync: { intersection, chainSync$ }, logger }) => new Observable((observer) => {
|
|
15
15
|
logger.info(`Starting ChainSync from ${pointDescription(intersection.point)}`);
|
|
16
16
|
return chainSync$
|
|
17
|
-
.pipe(withRolledBackBlock(buffer), withNetworkInfo(cardanoNode), withEpochNo(), withEpochBoundary(intersection))
|
|
17
|
+
.pipe(ObservableCardanoNode.bufferChainSyncEvent(blocksBufferLength), withRolledBackBlock(buffer), withNetworkInfo(cardanoNode), withEpochNo(), withEpochBoundary(intersection))
|
|
18
18
|
.subscribe(observer);
|
|
19
19
|
});
|
|
20
|
-
const rollbackAndSyncFromIntersection = ({ buffer, cardanoNode, initialChainSync, logger, tail }) => new Observable((subscriber) => {
|
|
20
|
+
const rollbackAndSyncFromIntersection = ({ blocksBufferLength, buffer, cardanoNode, initialChainSync, logger, tail }) => new Observable((subscriber) => {
|
|
21
21
|
logger.warn('Rolling back to find intersection');
|
|
22
22
|
let skipFindingNewIntersection = true;
|
|
23
23
|
let chainSync = initialChainSync;
|
|
@@ -36,9 +36,9 @@ const rollbackAndSyncFromIntersection = ({ buffer, cardanoNode, initialChainSync
|
|
|
36
36
|
requestNext: noop,
|
|
37
37
|
tip: chainSync.intersection.tip
|
|
38
38
|
})), withNetworkInfo(cardanoNode), withEpochNo(), withEpochBoundary({ point: initialTip === 'origin' ? initialTip : initialTip.header }))));
|
|
39
|
-
return concat(rollback$, defer(() => syncFromIntersection({ buffer, cardanoNode, chainSync, logger }))).subscribe(subscriber);
|
|
39
|
+
return concat(rollback$, defer(() => syncFromIntersection({ blocksBufferLength, buffer, cardanoNode, chainSync, logger }))).subscribe(subscriber);
|
|
40
40
|
});
|
|
41
|
-
export const fromCardanoNode = ({ buffer, logger: baseLogger
|
|
41
|
+
export const fromCardanoNode = ({ blocksBufferLength, buffer, cardanoNode, logger: baseLogger }) => {
|
|
42
42
|
const logger = contextLogger(baseLogger, 'Bootstrap');
|
|
43
43
|
return combineLatest([buffer.tip$, buffer.tail$]).pipe(take(1), mergeMap((blocks) => {
|
|
44
44
|
const points = blocksToPoints(blocks);
|
|
@@ -53,10 +53,17 @@ export const fromCardanoNode = ({ buffer, logger: baseLogger, cardanoNode }) =>
|
|
|
53
53
|
slot: point.slot
|
|
54
54
|
}));
|
|
55
55
|
}
|
|
56
|
-
return syncFromIntersection({
|
|
56
|
+
return syncFromIntersection({
|
|
57
|
+
blocksBufferLength,
|
|
58
|
+
buffer,
|
|
59
|
+
cardanoNode,
|
|
60
|
+
chainSync: initialChainSync,
|
|
61
|
+
logger
|
|
62
|
+
});
|
|
57
63
|
}
|
|
58
64
|
if (blocks[0] !== 'origin' && initialChainSync.intersection.point.hash !== blocks[0].header.hash) {
|
|
59
65
|
return rollbackAndSyncFromIntersection({
|
|
66
|
+
blocksBufferLength,
|
|
60
67
|
buffer,
|
|
61
68
|
cardanoNode,
|
|
62
69
|
initialChainSync,
|
|
@@ -64,7 +71,7 @@ export const fromCardanoNode = ({ buffer, logger: baseLogger, cardanoNode }) =>
|
|
|
64
71
|
tail: blocks[1]
|
|
65
72
|
});
|
|
66
73
|
}
|
|
67
|
-
return syncFromIntersection({ buffer, cardanoNode, chainSync: initialChainSync, logger });
|
|
74
|
+
return syncFromIntersection({ blocksBufferLength, buffer, cardanoNode, chainSync: initialChainSync, logger });
|
|
68
75
|
}));
|
|
69
76
|
}));
|
|
70
77
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromCardanoNode.js","sourceRoot":"","sources":["../../../src/Bootstrap/fromCardanoNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,iBAAiB,EACjB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"fromCardanoNode.js","sourceRoot":"","sources":["../../../src/Bootstrap/fromCardanoNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,iBAAiB,EACjB,kBAAkB,EAElB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE/G,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACpG,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,MAAM,mBAAmB,GAAG,CAAC,KAAoB,EAAE,YAA0B,EAAE,EAAE;IAC/E,IAAI,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE;QACnC,OAAO,KAAK,CAAC;KACd;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAuC,EAAE,EAAE,CACjE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,QAAiB,CAAC,CAAC,CAAC;AAEnF,MAAM,oBAAoB,GAAG,CAAC,EAC5B,kBAAkB,EAClB,MAAM,EACN,WAAW,EACX,SAAS,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EACvC,MAAM,EAOP,EAAE,EAAE,CACH,IAAI,UAAU,CAAkB,CAAC,QAAQ,EAAE,EAAE;IAC3C,MAAM,CAAC,IAAI,CAAC,2BAA2B,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/E,OAAO,UAAU;SACd,IAAI,CACH,qBAAqB,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAC9D,mBAAmB,CAAC,MAAM,CAAC,EAC3B,eAAe,CAAC,WAAW,CAAC,EAC5B,WAAW,EAAE,EACb,iBAAiB,CAAC,YAAY,CAAC,CAChC;SACA,SAAS,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,MAAM,+BAA+B,GAAG,CAAC,EACvC,kBAAkB,EAClB,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,IAAI,EAQL,EAAE,EAAE,CACH,IAAI,UAAU,CAAkB,CAAC,UAAU,EAAE,EAAE;IAC7C,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACjD,IAAI,0BAA0B,GAAG,IAAI,CAAC;IACtC,IAAI,SAAS,GAAG,gBAAgB,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAEhC,IAAI,CAAC,CAAC,CAAC,EACP,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CACd,SAAS,CAAC,CAAC,KAAK,EAA0B,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,EAChE,QAAQ,CAAC,CAAC,KAAK,EAA6B,EAAE;QAE5C,IAAI,0BAA0B,EAAE;YAC9B,0BAA0B,GAAG,KAAK,CAAC;YACnC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;SAClB;QAED,OAAO,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5E,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YACnB,SAAS,GAAG,YAAY,CAAC;QAC3B,CAAC,CAAC,EACF,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CACjB,CAAC;IACJ,CAAC,CAAC,EACF,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,EACzE,QAAQ,CACN,CAAC,KAAK,EAA4C,EAAE,CAClD,EAAE,CAAC;QACD,KAAK;QACL,SAAS,EAAE,kBAAkB,CAAC,YAAY;QAC1C,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK;QAInC,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG;KAChC,CAAC,CACL,EACD,eAAe,CAAC,WAAW,CAAC,EAC5B,WAAW,EAAE,EACb,iBAAiB,CAAC,EAAE,KAAK,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CACvF,CACF,CACF,CAAC;IACF,OAAO,MAAM,CACX,SAAS,EACT,KAAK,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAClG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAUL,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,kBAAkB,EAClB,MAAM,EACN,WAAW,EACX,MAAM,EAAE,UAAU,EAMnB,EAA+B,EAAE;IAChC,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACtD,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACpD,IAAI,CAAC,CAAC,CAAC,EACP,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,wCAAwC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnF,OAAO,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAC3C,IAAI,CAAC,CAAC,CAAC,EACP,QAAQ,CAAC,CAAC,gBAAgB,EAAE,EAAE;YAC5B,IAAI,gBAAgB,CAAC,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE;gBACpD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;oBAC1B,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,yBAAyB,CAGvE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,KAAK,KAAK,QAAQ;wBAChB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC;4BACE,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB,CACN,CACF,CAAC;iBACH;gBAED,OAAO,oBAAoB,CAAC;oBAC1B,kBAAkB;oBAClB,MAAM;oBACN,WAAW;oBACX,SAAS,EAAE,gBAAgB;oBAC3B,MAAM;iBACP,CAAC,CAAC;aACJ;YACD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;gBAEhG,OAAO,+BAA+B,CAAC;oBACrC,kBAAkB;oBAClB,MAAM;oBACN,WAAW;oBACX,gBAAgB;oBAChB,MAAM;oBACN,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;iBAChB,CAAC,CAAC;aACJ;YAED,OAAO,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { OperatorFunction } from 'rxjs';
|
|
2
|
-
import {
|
|
3
|
-
export interface WithRequestNext {
|
|
4
|
-
requestNext: RequestNext;
|
|
5
|
-
}
|
|
2
|
+
import { WithRequestNext } from '@cardano-sdk/core';
|
|
6
3
|
export declare const requestNext: <In extends WithRequestNext>() => OperatorFunction<In, Omit<In, "requestNext">>;
|
|
7
4
|
//# sourceMappingURL=requestNext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestNext.d.ts","sourceRoot":"","sources":["../../../src/operators/requestNext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAY,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"requestNext.d.ts","sourceRoot":"","sources":["../../../src/operators/requestNext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAY,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD,eAAO,MAAM,WAAW,iFAOnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestNext.js","sourceRoot":"","sources":["../../../src/operators/requestNext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,IAAI,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"requestNext.js","sourceRoot":"","sources":["../../../src/operators/requestNext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,IAAI,MAAM,aAAa,CAAC;AAK/B,MAAM,CAAC,MAAM,WAAW,GACtB,GAA8E,EAAE,CAEhF,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CACnC,CAAC"}
|