@cardano-sdk/projection-typeorm 0.2.1-test.0 → 0.2.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.
Files changed (91) hide show
  1. package/dist/cjs/createDataSource.d.ts.map +1 -1
  2. package/dist/cjs/createDataSource.js +2 -5
  3. package/dist/cjs/createDataSource.js.map +1 -1
  4. package/dist/cjs/index.d.ts +1 -1
  5. package/dist/cjs/index.d.ts.map +1 -1
  6. package/dist/cjs/index.js +3 -2
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/operators/storeStakePoolMetadataJob.d.ts.map +1 -1
  9. package/dist/cjs/operators/storeStakePoolMetadataJob.js +5 -1
  10. package/dist/cjs/operators/storeStakePoolMetadataJob.js.map +1 -1
  11. package/dist/cjs/operators/withTypeormTransaction.js +1 -1
  12. package/dist/cjs/operators/withTypeormTransaction.js.map +1 -1
  13. package/dist/cjs/pgBoss.d.ts +7 -15
  14. package/dist/cjs/pgBoss.d.ts.map +1 -1
  15. package/dist/cjs/pgBoss.js +25 -28
  16. package/dist/cjs/pgBoss.js.map +1 -1
  17. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  18. package/dist/esm/createDataSource.d.ts.map +1 -1
  19. package/dist/esm/createDataSource.js +2 -5
  20. package/dist/esm/createDataSource.js.map +1 -1
  21. package/dist/esm/index.d.ts +1 -1
  22. package/dist/esm/index.d.ts.map +1 -1
  23. package/dist/esm/index.js +1 -1
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/operators/storeStakePoolMetadataJob.d.ts.map +1 -1
  26. package/dist/esm/operators/storeStakePoolMetadataJob.js +5 -1
  27. package/dist/esm/operators/storeStakePoolMetadataJob.js.map +1 -1
  28. package/dist/esm/operators/withTypeormTransaction.js +1 -1
  29. package/dist/esm/operators/withTypeormTransaction.js.map +1 -1
  30. package/dist/esm/pgBoss.d.ts +7 -15
  31. package/dist/esm/pgBoss.d.ts.map +1 -1
  32. package/dist/esm/pgBoss.js +23 -26
  33. package/dist/esm/pgBoss.js.map +1 -1
  34. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +9 -9
  36. package/dist/cjs/createSinks.d.ts +0 -19
  37. package/dist/cjs/createSinks.d.ts.map +0 -1
  38. package/dist/cjs/createSinks.js +0 -101
  39. package/dist/cjs/createSinks.js.map +0 -1
  40. package/dist/cjs/sinks/index.d.ts +0 -3
  41. package/dist/cjs/sinks/index.d.ts.map +0 -1
  42. package/dist/cjs/sinks/index.js +0 -8
  43. package/dist/cjs/sinks/index.js.map +0 -1
  44. package/dist/cjs/sinks/stakeKeys.sink.d.ts +0 -4
  45. package/dist/cjs/sinks/stakeKeys.sink.d.ts.map +0 -1
  46. package/dist/cjs/sinks/stakeKeys.sink.js +0 -15
  47. package/dist/cjs/sinks/stakeKeys.sink.js.map +0 -1
  48. package/dist/cjs/sinks/stakePools.sink.d.ts +0 -4
  49. package/dist/cjs/sinks/stakePools.sink.d.ts.map +0 -1
  50. package/dist/cjs/sinks/stakePools.sink.js +0 -224
  51. package/dist/cjs/sinks/stakePools.sink.js.map +0 -1
  52. package/dist/cjs/sinks/util.d.ts +0 -5
  53. package/dist/cjs/sinks/util.d.ts.map +0 -1
  54. package/dist/cjs/sinks/util.js +0 -8
  55. package/dist/cjs/sinks/util.js.map +0 -1
  56. package/dist/cjs/types.d.ts +0 -16
  57. package/dist/cjs/types.d.ts.map +0 -1
  58. package/dist/cjs/types.js +0 -3
  59. package/dist/cjs/types.js.map +0 -1
  60. package/dist/cjs/util.d.ts +0 -2
  61. package/dist/cjs/util.d.ts.map +0 -1
  62. package/dist/cjs/util.js +0 -25
  63. package/dist/cjs/util.js.map +0 -1
  64. package/dist/esm/createSinks.d.ts +0 -19
  65. package/dist/esm/createSinks.d.ts.map +0 -1
  66. package/dist/esm/createSinks.js +0 -70
  67. package/dist/esm/createSinks.js.map +0 -1
  68. package/dist/esm/sinks/index.d.ts +0 -3
  69. package/dist/esm/sinks/index.d.ts.map +0 -1
  70. package/dist/esm/sinks/index.js +0 -3
  71. package/dist/esm/sinks/index.js.map +0 -1
  72. package/dist/esm/sinks/stakeKeys.sink.d.ts +0 -4
  73. package/dist/esm/sinks/stakeKeys.sink.d.ts.map +0 -1
  74. package/dist/esm/sinks/stakeKeys.sink.js +0 -12
  75. package/dist/esm/sinks/stakeKeys.sink.js.map +0 -1
  76. package/dist/esm/sinks/stakePools.sink.d.ts +0 -4
  77. package/dist/esm/sinks/stakePools.sink.d.ts.map +0 -1
  78. package/dist/esm/sinks/stakePools.sink.js +0 -218
  79. package/dist/esm/sinks/stakePools.sink.js.map +0 -1
  80. package/dist/esm/sinks/util.d.ts +0 -5
  81. package/dist/esm/sinks/util.d.ts.map +0 -1
  82. package/dist/esm/sinks/util.js +0 -4
  83. package/dist/esm/sinks/util.js.map +0 -1
  84. package/dist/esm/types.d.ts +0 -16
  85. package/dist/esm/types.d.ts.map +0 -1
  86. package/dist/esm/types.js +0 -2
  87. package/dist/esm/types.js.map +0 -1
  88. package/dist/esm/util.d.ts +0 -2
  89. package/dist/esm/util.d.ts.map +0 -1
  90. package/dist/esm/util.js +0 -21
  91. package/dist/esm/util.js.map +0 -1
@@ -1,70 +0,0 @@
1
- import 'reflect-metadata';
2
- import * as supportedSinks from './sinks';
3
- import { BlockEntity } from './entity/Block.entity';
4
- import { ChainSyncEventType } from '@cardano-sdk/core';
5
- import { NEVER, ReplaySubject, Subject, concat, concatMap, finalize, from, map, share, switchMap, tap, timer } from 'rxjs';
6
- import { Operators } from '@cardano-sdk/projection';
7
- import { retryBackoff } from 'backoff-rxjs';
8
- import { TypeormStabilityWindowBuffer } from './TypeormStabilityWindowBuffer';
9
- import { finalizeWithLatest } from '@cardano-sdk/util-rxjs';
10
- import { isRecoverableTypeormError } from './util';
11
- import omit from 'lodash/omit';
12
- const defaultReconnectionConfig = { initialInterval: 10, maxInterval: 5000 };
13
- const TypeormContextProps = ['blockEntity', 'queryRunner', 'transactionCommitted$'];
14
- const withQueryRunner = (dataSource, buffer, logger) => concat(from((async () => {
15
- const queryRunner = dataSource.createQueryRunner('master');
16
- await queryRunner.connect();
17
- await buffer.initialize(queryRunner);
18
- return { queryRunner };
19
- })()), NEVER).pipe(finalizeWithLatest(async (evt) => {
20
- if (!evt)
21
- return;
22
- if (evt.queryRunner.isTransactionActive) {
23
- try {
24
- await evt.queryRunner.rollbackTransaction();
25
- }
26
- catch (error) {
27
- logger.error('Failed to rollback transaction', error);
28
- }
29
- }
30
- if (!evt.queryRunner.isReleased) {
31
- try {
32
- await evt.queryRunner.release();
33
- }
34
- catch (error) {
35
- logger.error('Failed to "release" query runner', error);
36
- }
37
- }
38
- }));
39
- export const createSinks = ({ dataSource$, reconnectionConfig, logger, compactBufferEveryNBlocks, allowNonSequentialBlockHeights }) => {
40
- const buffer = new TypeormStabilityWindowBuffer({ allowNonSequentialBlockHeights, compactBufferEveryNBlocks }, { logger });
41
- return {
42
- after: (evt$) => evt$.pipe(concatMap((evt) => from(evt.queryRunner.commitTransaction()).pipe(tap(() => evt.transactionCommitted$.next()), map(() => omit(evt, TypeormContextProps)))), retryBackoff({
43
- ...reconnectionConfig,
44
- ...defaultReconnectionConfig,
45
- shouldRetry: (error) => isRecoverableTypeormError(error)
46
- }), finalize(() => buffer.shutdown())),
47
- before: (evt$) => evt$.pipe(share({
48
- connector: () => new ReplaySubject(1),
49
- resetOnComplete: false,
50
- resetOnError: true,
51
- resetOnRefCountZero: () => timer(3000)
52
- }), Operators.withStaticContext(dataSource$.pipe(switchMap((dataSource) => withQueryRunner(dataSource, buffer, logger)))), Operators.withEventContext(({ queryRunner }) => from(queryRunner.startTransaction('SERIALIZABLE').then(() => ({ transactionCommitted$: new Subject() })))), Operators.withEventContext(({ block, queryRunner, eventType }) => {
53
- const repository = queryRunner.manager.getRepository(BlockEntity);
54
- const blockEntity = repository.create({
55
- hash: block.header.hash,
56
- height: block.header.blockNo,
57
- slot: block.header.slot
58
- });
59
- return from(eventType === ChainSyncEventType.RollForward
60
- ? repository.insert(blockEntity)
61
- : repository.delete({
62
- hash: blockEntity.hash
63
- })).pipe(map(() => ({ blockEntity })));
64
- })),
65
- buffer,
66
- projectionSinks: supportedSinks
67
- };
68
- };
69
- export const createSinksFactory = (props) => () => createSinks(props);
70
- //# sourceMappingURL=createSinks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSinks.js","sourceRoot":"","sources":["../../src/createSinks.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { stakeKeys } from './stakeKeys.sink';
2
- export { stakePools } from './stakePools.sink';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sinks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,3 +0,0 @@
1
- export { stakeKeys } from './stakeKeys.sink';
2
- export { stakePools } from './stakePools.sink';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sinks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Projections } from '@cardano-sdk/projection';
2
- import { TypeormSink } from '../types';
3
- export declare const stakeKeys: TypeormSink<Projections.StakeKeysProjection>;
4
- //# sourceMappingURL=stakeKeys.sink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stakeKeys.sink.d.ts","sourceRoot":"","sources":["../../../src/sinks/stakeKeys.sink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAQlE,CAAC"}
@@ -1,12 +0,0 @@
1
- import { StakeKeyEntity } from '../entity/StakeKey.entity';
2
- import { from, map } from 'rxjs';
3
- export const stakeKeys = {
4
- entities: [StakeKeyEntity],
5
- sink({ stakeKeys: { insert, del }, queryRunner }) {
6
- const repository = queryRunner.manager.getRepository(StakeKeyEntity);
7
- const createAll = insert.length > 0 ? repository.insert(insert.map((hash) => ({ hash }))) : Promise.resolve();
8
- const deleteAll = del.length > 0 ? repository.delete(del) : Promise.resolve();
9
- return from(Promise.all([createAll, deleteAll])).pipe(map(() => void 0));
10
- }
11
- };
12
- //# sourceMappingURL=stakeKeys.sink.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stakeKeys.sink.js","sourceRoot":"","sources":["../../../src/sinks/stakeKeys.sink.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,CAAC,MAAM,SAAS,GAAiD;IACrE,QAAQ,EAAE,CAAC,cAAc,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE;QAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9G,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Projections } from '@cardano-sdk/projection';
2
- import { TypeormSink } from '../types';
3
- export declare const stakePools: TypeormSink<Projections.StakePoolsProjection>;
4
- //# sourceMappingURL=stakePools.sink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stakePools.sink.d.ts","sourceRoot":"","sources":["../../../src/sinks/stakePools.sink.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAoB,MAAM,UAAU,CAAC;AAoSzD,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAKpE,CAAC"}
@@ -1,218 +0,0 @@
1
- import { Cardano, ChainSyncEventType, epochSlotsCalc } from '@cardano-sdk/core';
2
- import { In, Not } from 'typeorm';
3
- import { MaxCertificatePointerIdCertificateIndex as MaxCertificatePointerIdCertIndex, MaxCertificatePointerIdTxIndex, certificatePointerToId } from './util';
4
- import { PoolRegistrationEntity, PoolRetirementEntity, StakePoolEntity } from '../entity';
5
- import { from } from 'rxjs';
6
- import omit from 'lodash/omit';
7
- const insertMissingStakePools = async ({ stakePools: { updates }, queryRunner }) => {
8
- if (updates.length === 0)
9
- return;
10
- const stakePoolsRepository = queryRunner.manager.getRepository(StakePoolEntity);
11
- const existingStakePoolEntities = await stakePoolsRepository.find({
12
- select: { id: true },
13
- where: { id: In(updates.map((update) => update.poolParameters.id)) }
14
- });
15
- await stakePoolsRepository.insert(updates
16
- .filter((update) => !existingStakePoolEntities.some((existingEntity) => existingEntity.id === update.poolParameters.id))
17
- .map(({ poolParameters: { id } }) => stakePoolsRepository.create({ id, status: Cardano.StakePoolStatus.Activating })));
18
- };
19
- const insertPoolUpdates = async ({ stakePools: { updates }, queryRunner, blockEntity }) => {
20
- if (updates.length === 0)
21
- return;
22
- const poolUpdatesRepository = queryRunner.manager.getRepository(PoolRegistrationEntity);
23
- const poolUpdateEntities = updates.map(({ poolParameters, source }) => poolUpdatesRepository.create({
24
- id: certificatePointerToId(source),
25
- ...omit(poolParameters, ['id', 'metadataJson']),
26
- block: blockEntity,
27
- marginPercent: poolParameters.margin.numerator / poolParameters.margin.denominator,
28
- metadataHash: poolParameters.metadataJson?.hash,
29
- metadataUrl: poolParameters.metadataJson?.url,
30
- stakePool: {
31
- id: poolParameters.id
32
- }
33
- }));
34
- await poolUpdatesRepository.insert(poolUpdateEntities);
35
- };
36
- const insertPoolRetirements = async ({ stakePools: { retirements }, queryRunner, blockEntity }) => {
37
- if (retirements.length === 0)
38
- return;
39
- const poolRetirementsRepository = queryRunner.manager.getRepository(PoolRetirementEntity);
40
- const poolRetirementEntities = retirements.map(({ epoch, poolId, source }) => poolRetirementsRepository.create({
41
- block: blockEntity,
42
- id: certificatePointerToId(source),
43
- retireAtEpoch: epoch,
44
- stakePool: { id: poolId }
45
- }));
46
- await poolRetirementsRepository.insert(poolRetirementEntities);
47
- };
48
- const findPoolRegistrationId = async (registrationsRepository, id, query) => {
49
- const result = await registrationsRepository.find({
50
- order: { id: query === 'first' ? 'ASC' : 'DESC' },
51
- select: { id: true },
52
- take: 1,
53
- where: { stakePool: { id } }
54
- });
55
- return result.length > 0 ? BigInt(result[0].id) : null;
56
- };
57
- const undoUpdateLatestRetirementAndRetiringStatus = async ({ queryRunner, epochNo, eraSummaries, stakePools: { retirements } }) => {
58
- if (retirements.length === 0)
59
- return;
60
- const retirementsRepository = queryRunner.manager.getRepository(PoolRetirementEntity);
61
- const poolsRepository = queryRunner.manager.getRepository(StakePoolEntity);
62
- const registrationsRepository = queryRunner.manager.getRepository(PoolRegistrationEntity);
63
- const { firstSlot } = epochSlotsCalc(epochNo, eraSummaries);
64
- const epochStartId = certificatePointerToId({
65
- certIndex: 0,
66
- slot: firstSlot,
67
- txIndex: 0
68
- });
69
- return Promise.all(retirements.map(async ({ poolId }) => {
70
- const lastRetirementResult = await retirementsRepository.find({
71
- order: { id: 'DESC' },
72
- select: { id: true },
73
- take: 1,
74
- where: { stakePool: { id: poolId } }
75
- });
76
- const lastRetirement = lastRetirementResult[0];
77
- const firstRegistrationId = await findPoolRegistrationId(registrationsRepository, poolId, 'first');
78
- if (!firstRegistrationId) {
79
- return;
80
- }
81
- const status = await (async () => {
82
- if (!lastRetirement)
83
- return firstRegistrationId > epochStartId
84
- ? Cardano.StakePoolStatus.Activating
85
- : Cardano.StakePoolStatus.Active;
86
- const lastRegistrationId = await findPoolRegistrationId(registrationsRepository, poolId, 'last');
87
- return lastRegistrationId > lastRetirement.id
88
- ? Cardano.StakePoolStatus.Active
89
- : Cardano.StakePoolStatus.Retiring;
90
- })();
91
- await poolsRepository.update(poolId, {
92
- lastRetirement,
93
- status
94
- });
95
- }));
96
- };
97
- const undoUpdateLatestRegistration = ({ queryRunner, stakePools: { updates } }) => {
98
- const poolsRepository = queryRunner.manager.getRepository(StakePoolEntity);
99
- const registrationsRepository = queryRunner.manager.getRepository(PoolRegistrationEntity);
100
- return Promise.all(updates.map(async ({ poolParameters: { id } }) => {
101
- const lastRegistrationId = await findPoolRegistrationId(registrationsRepository, id, 'last');
102
- await (lastRegistrationId
103
- ? poolsRepository.update(id, { lastRegistration: { id: lastRegistrationId } })
104
- : poolsRepository.delete(id));
105
- }));
106
- };
107
- const undoUpdateLatestCertificatesAndDeletePoolsWithZeroRegistrations = (evt) => Promise.all([undoUpdateLatestRegistration(evt), undoUpdateLatestRetirementAndRetiringStatus(evt)]);
108
- const computeCertificateIdRange = (epochNo, eraSummaries) => {
109
- const { firstSlot, lastSlot } = epochSlotsCalc(epochNo, eraSummaries);
110
- const minId = certificatePointerToId({
111
- certIndex: 0,
112
- slot: firstSlot,
113
- txIndex: 0
114
- });
115
- const maxId = certificatePointerToId({
116
- certIndex: MaxCertificatePointerIdCertIndex,
117
- slot: lastSlot,
118
- txIndex: MaxCertificatePointerIdTxIndex
119
- });
120
- return { maxId, minId };
121
- };
122
- const updatePoolStatusWhere = async (where, newStatus, dependencies) => {
123
- if (where.firstRegisteredInEpoch < 0)
124
- return;
125
- const { minId, maxId } = computeCertificateIdRange(where.firstRegisteredInEpoch, dependencies.eraSummaries);
126
- const queryResult = await dependencies.queryRunner.query(`
127
- SELECT sp.id
128
- FROM stake_pool sp
129
- JOIN pool_registration r1 ON (sp.id = r1.stake_pool_id)
130
- LEFT OUTER JOIN pool_registration r2 ON (sp.id = r2.stake_pool_id AND r1.id > r2.id)
131
- WHERE r2.id IS NULL AND sp.status='${where.currentStatus}' AND r1.id >= ${minId} AND r1.id <= ${maxId};
132
- `);
133
- if (queryResult.length > 0) {
134
- const stakePoolsRepository = dependencies.queryRunner.manager.getRepository(StakePoolEntity);
135
- await stakePoolsRepository.update(queryResult.map((pool) => pool.id), { status: newStatus });
136
- }
137
- };
138
- const activateOnRollover = async ({ queryRunner, crossEpochBoundary, eraSummaries, epochNo }) => {
139
- if (!crossEpochBoundary)
140
- return;
141
- await updatePoolStatusWhere({
142
- currentStatus: Cardano.StakePoolStatus.Activating,
143
- firstRegisteredInEpoch: Cardano.EpochNo(epochNo - 2)
144
- }, Cardano.StakePoolStatus.Active, { eraSummaries, queryRunner });
145
- };
146
- const undoActivateOnRollover = async ({ queryRunner, eraSummaries, crossEpochBoundary, epochNo }) => {
147
- if (!crossEpochBoundary)
148
- return;
149
- await updatePoolStatusWhere({
150
- currentStatus: Cardano.StakePoolStatus.Active,
151
- firstRegisteredInEpoch: Cardano.EpochNo(epochNo - 1)
152
- }, Cardano.StakePoolStatus.Activating, { eraSummaries, queryRunner });
153
- };
154
- const findPoolsRetiringAtEpoch = (repository, epochNo) => repository.find({
155
- relations: { lastRetirement: true },
156
- select: { id: true },
157
- where: { lastRetirement: { retireAtEpoch: epochNo } }
158
- });
159
- const retireOnRollover = async ({ queryRunner, crossEpochBoundary, epochNo }) => {
160
- if (!crossEpochBoundary)
161
- return;
162
- const stakePoolsRepository = queryRunner.manager.getRepository(StakePoolEntity);
163
- const retiredPools = await findPoolsRetiringAtEpoch(stakePoolsRepository, epochNo);
164
- if (retiredPools.length > 0) {
165
- await stakePoolsRepository.update(retiredPools.map(({ id }) => id), { status: Cardano.StakePoolStatus.Retired });
166
- }
167
- };
168
- const undoRetireOnRollover = async ({ queryRunner, crossEpochBoundary, epochNo }) => {
169
- if (!crossEpochBoundary)
170
- return;
171
- const stakePoolsRepository = queryRunner.manager.getRepository(StakePoolEntity);
172
- const retiredPools = await findPoolsRetiringAtEpoch(stakePoolsRepository, Cardano.EpochNo(epochNo + 1));
173
- if (retiredPools.length > 0) {
174
- await stakePoolsRepository.update(retiredPools.map(({ id }) => id), { status: Cardano.StakePoolStatus.Retiring });
175
- }
176
- };
177
- const updateLatestCertificates = async ({ queryRunner, stakePools: { updates, retirements } }) => {
178
- const stakePoolsRepository = queryRunner.manager.getRepository(StakePoolEntity);
179
- await Promise.all([
180
- Promise.all(updates.map(({ poolParameters: { id }, source }) => stakePoolsRepository.update(id, {
181
- lastRegistration: { id: certificatePointerToId(source) }
182
- }))),
183
- Promise.all(retirements.map(({ poolId, source }) => stakePoolsRepository.update({
184
- id: poolId,
185
- status: Not(Cardano.StakePoolStatus.Retired)
186
- }, {
187
- lastRetirement: { id: certificatePointerToId(source) },
188
- status: Cardano.StakePoolStatus.Retiring
189
- })))
190
- ]);
191
- };
192
- const reactivateRetired = async ({ queryRunner, stakePools: { updates } }) => {
193
- if (updates.length === 0)
194
- return;
195
- await queryRunner.manager.query(`
196
- UPDATE stake_pool
197
- SET status='activating'
198
- WHERE status='retired' AND last_registration_id > last_retirement_id;
199
- `);
200
- };
201
- const rollForward = async (evt) => {
202
- await Promise.all([activateOnRollover(evt), retireOnRollover(evt)]);
203
- await insertMissingStakePools(evt);
204
- await Promise.all([insertPoolUpdates(evt), insertPoolRetirements(evt)]);
205
- await updateLatestCertificates(evt);
206
- await reactivateRetired(evt);
207
- };
208
- const rollBackward = async (evt) => {
209
- await Promise.all([undoActivateOnRollover(evt), undoRetireOnRollover(evt)]);
210
- await undoUpdateLatestCertificatesAndDeletePoolsWithZeroRegistrations(evt);
211
- };
212
- export const stakePools = {
213
- entities: [StakePoolEntity, PoolRegistrationEntity, PoolRetirementEntity],
214
- sink(evt) {
215
- return from(evt.eventType === ChainSyncEventType.RollForward ? rollForward(evt) : rollBackward(evt));
216
- }
217
- };
218
- //# sourceMappingURL=stakePools.sink.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stakePools.sink.js","sourceRoot":"","sources":["../../../src/sinks/stakePools.sink.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Operators } from '@cardano-sdk/projection';
2
- export declare const certificatePointerToId: ({ slot, certIndex, txIndex }: Operators.CertificatePointer) => bigint;
3
- export declare const MaxCertificatePointerIdTxIndex = 99999;
4
- export declare const MaxCertificatePointerIdCertificateIndex = 9999;
5
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/sinks/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,eAAO,MAAM,sBAAsB,iCAAkC,UAAU,kBAAkB,WACjB,CAAC;AAEjF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,eAAO,MAAM,uCAAuC,OAAO,CAAC"}
@@ -1,4 +0,0 @@
1
- export const certificatePointerToId = ({ slot, certIndex, txIndex }) => BigInt(slot) * 10000000000n + BigInt(txIndex) * 10000n + BigInt(certIndex);
2
- export const MaxCertificatePointerIdTxIndex = 99999;
3
- export const MaxCertificatePointerIdCertificateIndex = 9999;
4
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/sinks/util.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAgC,EAAE,EAAE,CACnG,MAAM,CAAC,IAAI,CAAC,GAAG,YAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAM,CAAC;AACrD,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC"}
@@ -1,16 +0,0 @@
1
- import { BlockEntity } from './entity/Block.entity';
2
- import { Projections, Sink, UnifiedProjectorEvent } from '@cardano-sdk/projection';
3
- import { QueryRunner } from 'typeorm';
4
- import { Subject } from 'rxjs';
5
- import { WithNetworkInfo } from '@cardano-sdk/projection/dist/cjs/operators';
6
- export interface WithTypeormContext {
7
- queryRunner: QueryRunner;
8
- transactionCommitted$: Subject<void>;
9
- blockEntity: BlockEntity;
10
- }
11
- export interface WithTypeormSinkMetadata {
12
- entities: Function[];
13
- }
14
- export declare type TypeormSink<P> = Sink<P, WithTypeormContext> & WithTypeormSinkMetadata;
15
- export declare type TypeormSinkEvent<P> = P extends Projections.Projection<infer ExtraProps> ? UnifiedProjectorEvent<ExtraProps & WithNetworkInfo & WithTypeormContext> : never;
16
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,oBAAY,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,uBAAuB,CAAC;AAEnF,oBAAY,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,GAChF,qBAAqB,CAAC,UAAU,GAAG,eAAe,GAAG,kBAAkB,CAAC,GACxE,KAAK,CAAC"}
package/dist/esm/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare const isRecoverableTypeormError: (error: unknown) => boolean;
2
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAuCA,eAAO,MAAM,yBAAyB,UAAW,OAAO,YACS,CAAC"}
package/dist/esm/util.js DELETED
@@ -1,21 +0,0 @@
1
- import { AlreadyHasActiveConnectionError, CannotConnectAlreadyConnectedError, CannotExecuteNotConnectedError, CannotGetEntityManagerNotConnectedError, ConnectionIsNotSetError, ConnectionNotFoundError, NoConnectionForRepositoryError, NoConnectionOptionError, NoNeedToReleaseEntityManagerError, NoVersionOrUpdateDateColumnError, PersistedEntityNotFoundError, PessimisticLockTransactionRequiredError, QueryRunnerAlreadyReleasedError, QueryRunnerProviderAlreadyReleasedError, TransactionAlreadyStartedError, TransactionNotStartedError } from 'typeorm';
2
- const recoverableErrorClasses = [
3
- AlreadyHasActiveConnectionError,
4
- CannotConnectAlreadyConnectedError,
5
- CannotExecuteNotConnectedError,
6
- CannotGetEntityManagerNotConnectedError,
7
- ConnectionIsNotSetError,
8
- ConnectionNotFoundError,
9
- NoConnectionForRepositoryError,
10
- NoConnectionOptionError,
11
- NoNeedToReleaseEntityManagerError,
12
- NoVersionOrUpdateDateColumnError,
13
- PersistedEntityNotFoundError,
14
- PessimisticLockTransactionRequiredError,
15
- QueryRunnerAlreadyReleasedError,
16
- QueryRunnerProviderAlreadyReleasedError,
17
- TransactionAlreadyStartedError,
18
- TransactionNotStartedError
19
- ];
20
- export const isRecoverableTypeormError = (error) => recoverableErrorClasses.some((Class) => error instanceof Class);
21
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,8BAA8B,EAC9B,uCAAuC,EACvC,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,iCAAiC,EACjC,gCAAgC,EAChC,4BAA4B,EAC5B,uCAAuC,EACvC,+BAA+B,EAC/B,uCAAuC,EACvC,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAGjB,MAAM,uBAAuB,GAAG;IAC9B,+BAA+B;IAC/B,kCAAkC;IAClC,8BAA8B;IAC9B,uCAAuC;IACvC,uBAAuB;IACvB,uBAAuB;IACvB,8BAA8B;IAC9B,uBAAuB;IACvB,iCAAiC;IACjC,gCAAgC;IAChC,4BAA4B;IAC5B,uCAAuC;IACvC,+BAA+B;IAC/B,uCAAuC;IACvC,8BAA8B;IAC9B,0BAA0B;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAAE,EAAE,CAC1D,uBAAuB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC"}