@cardano-sdk/projection-typeorm 0.5.3 → 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.
Files changed (153) hide show
  1. package/dist/cjs/TypeormStabilityWindowBuffer.d.ts +6 -7
  2. package/dist/cjs/TypeormStabilityWindowBuffer.d.ts.map +1 -1
  3. package/dist/cjs/TypeormStabilityWindowBuffer.js +40 -108
  4. package/dist/cjs/TypeormStabilityWindowBuffer.js.map +1 -1
  5. package/dist/cjs/createDataSource.d.ts +13 -0
  6. package/dist/cjs/createDataSource.d.ts.map +1 -1
  7. package/dist/cjs/createDataSource.js +53 -2
  8. package/dist/cjs/createDataSource.js.map +1 -1
  9. package/dist/cjs/createTypeormTipTracker.d.ts +16 -0
  10. package/dist/cjs/createTypeormTipTracker.d.ts.map +1 -0
  11. package/dist/cjs/createTypeormTipTracker.js +55 -0
  12. package/dist/cjs/createTypeormTipTracker.js.map +1 -0
  13. package/dist/cjs/entity/Address.entity.d.ts.map +1 -1
  14. package/dist/cjs/entity/Address.entity.js.map +1 -1
  15. package/dist/cjs/entity/CurrentPoolMetrics.entity.d.ts +2 -1
  16. package/dist/cjs/entity/CurrentPoolMetrics.entity.d.ts.map +1 -1
  17. package/dist/cjs/entity/CurrentPoolMetrics.entity.js +15 -11
  18. package/dist/cjs/entity/CurrentPoolMetrics.entity.js.map +1 -1
  19. package/dist/cjs/entity/Handle.entity.d.ts.map +1 -1
  20. package/dist/cjs/entity/Handle.entity.js.map +1 -1
  21. package/dist/cjs/entity/HandleMetadata.entity.d.ts.map +1 -1
  22. package/dist/cjs/entity/HandleMetadata.entity.js.map +1 -1
  23. package/dist/cjs/entity/NftMetadata.entity.d.ts.map +1 -1
  24. package/dist/cjs/entity/NftMetadata.entity.js.map +1 -1
  25. package/dist/cjs/entity/PoolDelisted.entity.d.ts +5 -0
  26. package/dist/cjs/entity/PoolDelisted.entity.d.ts.map +1 -0
  27. package/dist/cjs/entity/PoolDelisted.entity.js +25 -0
  28. package/dist/cjs/entity/PoolDelisted.entity.js.map +1 -0
  29. package/dist/cjs/entity/PoolRegistration.entity.d.ts +1 -0
  30. package/dist/cjs/entity/PoolRegistration.entity.d.ts.map +1 -1
  31. package/dist/cjs/entity/PoolRegistration.entity.js +4 -0
  32. package/dist/cjs/entity/PoolRegistration.entity.js.map +1 -1
  33. package/dist/cjs/entity/PoolRetirement.entity.d.ts +1 -0
  34. package/dist/cjs/entity/PoolRetirement.entity.d.ts.map +1 -1
  35. package/dist/cjs/entity/PoolRetirement.entity.js +4 -0
  36. package/dist/cjs/entity/PoolRetirement.entity.js.map +1 -1
  37. package/dist/cjs/entity/PoolRewards.entity.d.ts +18 -0
  38. package/dist/cjs/entity/PoolRewards.entity.d.ts.map +1 -0
  39. package/dist/cjs/entity/PoolRewards.entity.js +77 -0
  40. package/dist/cjs/entity/PoolRewards.entity.js.map +1 -0
  41. package/dist/cjs/entity/StakeKeyRegistration.entity.d.ts.map +1 -1
  42. package/dist/cjs/entity/StakeKeyRegistration.entity.js.map +1 -1
  43. package/dist/cjs/entity/index.d.ts +12 -10
  44. package/dist/cjs/entity/index.d.ts.map +1 -1
  45. package/dist/cjs/entity/index.js +12 -10
  46. package/dist/cjs/entity/index.js.map +1 -1
  47. package/dist/cjs/entity/util.d.ts.map +1 -1
  48. package/dist/cjs/entity/util.js.map +1 -1
  49. package/dist/cjs/index.d.ts +4 -5
  50. package/dist/cjs/index.d.ts.map +1 -1
  51. package/dist/cjs/index.js +4 -10
  52. package/dist/cjs/index.js.map +1 -1
  53. package/dist/cjs/operators/index.d.ts +10 -9
  54. package/dist/cjs/operators/index.d.ts.map +1 -1
  55. package/dist/cjs/operators/index.js +10 -11
  56. package/dist/cjs/operators/index.js.map +1 -1
  57. package/dist/cjs/operators/storePoolMetricsUpdateJob.d.ts +1 -1
  58. package/dist/cjs/operators/storePoolMetricsUpdateJob.d.ts.map +1 -1
  59. package/dist/cjs/operators/storePoolMetricsUpdateJob.js +20 -4
  60. package/dist/cjs/operators/storePoolMetricsUpdateJob.js.map +1 -1
  61. package/dist/cjs/operators/storeStakePoolMetadataJob.d.ts.map +1 -1
  62. package/dist/cjs/operators/storeStakePoolMetadataJob.js +3 -6
  63. package/dist/cjs/operators/storeStakePoolMetadataJob.js.map +1 -1
  64. package/dist/cjs/operators/storeStakePoolRewardsJob.d.ts +3 -0
  65. package/dist/cjs/operators/storeStakePoolRewardsJob.d.ts.map +1 -0
  66. package/dist/cjs/operators/storeStakePoolRewardsJob.js +16 -0
  67. package/dist/cjs/operators/storeStakePoolRewardsJob.js.map +1 -0
  68. package/dist/cjs/operators/withTypeormTransaction.d.ts +10 -11
  69. package/dist/cjs/operators/withTypeormTransaction.d.ts.map +1 -1
  70. package/dist/cjs/operators/withTypeormTransaction.js +4 -33
  71. package/dist/cjs/operators/withTypeormTransaction.js.map +1 -1
  72. package/dist/cjs/pgBoss.d.ts +8 -0
  73. package/dist/cjs/pgBoss.d.ts.map +1 -1
  74. package/dist/cjs/pgBoss.js +13 -1
  75. package/dist/cjs/pgBoss.js.map +1 -1
  76. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  77. package/dist/esm/TypeormStabilityWindowBuffer.d.ts +6 -7
  78. package/dist/esm/TypeormStabilityWindowBuffer.d.ts.map +1 -1
  79. package/dist/esm/TypeormStabilityWindowBuffer.js +41 -109
  80. package/dist/esm/TypeormStabilityWindowBuffer.js.map +1 -1
  81. package/dist/esm/createDataSource.d.ts +13 -0
  82. package/dist/esm/createDataSource.d.ts.map +1 -1
  83. package/dist/esm/createDataSource.js +49 -1
  84. package/dist/esm/createDataSource.js.map +1 -1
  85. package/dist/esm/createTypeormTipTracker.d.ts +16 -0
  86. package/dist/esm/createTypeormTipTracker.d.ts.map +1 -0
  87. package/dist/esm/createTypeormTipTracker.js +51 -0
  88. package/dist/esm/createTypeormTipTracker.js.map +1 -0
  89. package/dist/esm/entity/Address.entity.d.ts.map +1 -1
  90. package/dist/esm/entity/Address.entity.js.map +1 -1
  91. package/dist/esm/entity/CurrentPoolMetrics.entity.d.ts +2 -1
  92. package/dist/esm/entity/CurrentPoolMetrics.entity.d.ts.map +1 -1
  93. package/dist/esm/entity/CurrentPoolMetrics.entity.js +15 -11
  94. package/dist/esm/entity/CurrentPoolMetrics.entity.js.map +1 -1
  95. package/dist/esm/entity/Handle.entity.d.ts.map +1 -1
  96. package/dist/esm/entity/Handle.entity.js.map +1 -1
  97. package/dist/esm/entity/HandleMetadata.entity.d.ts.map +1 -1
  98. package/dist/esm/entity/HandleMetadata.entity.js.map +1 -1
  99. package/dist/esm/entity/NftMetadata.entity.d.ts.map +1 -1
  100. package/dist/esm/entity/NftMetadata.entity.js.map +1 -1
  101. package/dist/esm/entity/PoolDelisted.entity.d.ts +5 -0
  102. package/dist/esm/entity/PoolDelisted.entity.d.ts.map +1 -0
  103. package/dist/esm/entity/PoolDelisted.entity.js +22 -0
  104. package/dist/esm/entity/PoolDelisted.entity.js.map +1 -0
  105. package/dist/esm/entity/PoolRegistration.entity.d.ts +1 -0
  106. package/dist/esm/entity/PoolRegistration.entity.d.ts.map +1 -1
  107. package/dist/esm/entity/PoolRegistration.entity.js +4 -0
  108. package/dist/esm/entity/PoolRegistration.entity.js.map +1 -1
  109. package/dist/esm/entity/PoolRetirement.entity.d.ts +1 -0
  110. package/dist/esm/entity/PoolRetirement.entity.d.ts.map +1 -1
  111. package/dist/esm/entity/PoolRetirement.entity.js +4 -0
  112. package/dist/esm/entity/PoolRetirement.entity.js.map +1 -1
  113. package/dist/esm/entity/PoolRewards.entity.d.ts +18 -0
  114. package/dist/esm/entity/PoolRewards.entity.d.ts.map +1 -0
  115. package/dist/esm/entity/PoolRewards.entity.js +74 -0
  116. package/dist/esm/entity/PoolRewards.entity.js.map +1 -0
  117. package/dist/esm/entity/StakeKeyRegistration.entity.d.ts.map +1 -1
  118. package/dist/esm/entity/StakeKeyRegistration.entity.js.map +1 -1
  119. package/dist/esm/entity/index.d.ts +12 -10
  120. package/dist/esm/entity/index.d.ts.map +1 -1
  121. package/dist/esm/entity/index.js +12 -10
  122. package/dist/esm/entity/index.js.map +1 -1
  123. package/dist/esm/entity/util.d.ts.map +1 -1
  124. package/dist/esm/entity/util.js.map +1 -1
  125. package/dist/esm/index.d.ts +4 -5
  126. package/dist/esm/index.d.ts.map +1 -1
  127. package/dist/esm/index.js +4 -5
  128. package/dist/esm/index.js.map +1 -1
  129. package/dist/esm/operators/index.d.ts +10 -9
  130. package/dist/esm/operators/index.d.ts.map +1 -1
  131. package/dist/esm/operators/index.js +10 -9
  132. package/dist/esm/operators/index.js.map +1 -1
  133. package/dist/esm/operators/storePoolMetricsUpdateJob.d.ts +1 -1
  134. package/dist/esm/operators/storePoolMetricsUpdateJob.d.ts.map +1 -1
  135. package/dist/esm/operators/storePoolMetricsUpdateJob.js +20 -4
  136. package/dist/esm/operators/storePoolMetricsUpdateJob.js.map +1 -1
  137. package/dist/esm/operators/storeStakePoolMetadataJob.d.ts.map +1 -1
  138. package/dist/esm/operators/storeStakePoolMetadataJob.js +4 -7
  139. package/dist/esm/operators/storeStakePoolMetadataJob.js.map +1 -1
  140. package/dist/esm/operators/storeStakePoolRewardsJob.d.ts +3 -0
  141. package/dist/esm/operators/storeStakePoolRewardsJob.d.ts.map +1 -0
  142. package/dist/esm/operators/storeStakePoolRewardsJob.js +13 -0
  143. package/dist/esm/operators/storeStakePoolRewardsJob.js.map +1 -0
  144. package/dist/esm/operators/withTypeormTransaction.d.ts +10 -11
  145. package/dist/esm/operators/withTypeormTransaction.d.ts.map +1 -1
  146. package/dist/esm/operators/withTypeormTransaction.js +5 -34
  147. package/dist/esm/operators/withTypeormTransaction.js.map +1 -1
  148. package/dist/esm/pgBoss.d.ts +8 -0
  149. package/dist/esm/pgBoss.d.ts.map +1 -1
  150. package/dist/esm/pgBoss.js +12 -0
  151. package/dist/esm/pgBoss.js.map +1 -1
  152. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  153. package/package.json +15 -15
@@ -1,25 +1,24 @@
1
- import { DataSource, QueryRunner } from 'typeorm';
2
- import { DataSourceExtensions } from '../createDataSource';
3
- import { Observable, Subject } from 'rxjs';
1
+ import { Observable } from 'rxjs';
4
2
  import { PgBossExtension } from '../pgBoss';
5
3
  import { ProjectionEvent, UnifiedExtChainSyncOperator } from '@cardano-sdk/projection';
6
- import { WithLogger } from '@cardano-sdk/util';
7
- export interface WithTypeormTransactionDependencies extends WithLogger {
8
- dataSource$: Observable<DataSource>;
4
+ import { QueryRunner } from 'typeorm';
5
+ import { TypeormConnection } from '../createDataSource';
6
+ export interface WithTypeormTransactionDependencies {
7
+ connection$: Observable<TypeormConnection>;
9
8
  }
10
9
  export interface WithTypeormContext {
11
10
  queryRunner: QueryRunner;
12
- transactionCommitted$: Subject<void>;
13
11
  }
14
12
  export interface WithPgBoss {
15
13
  pgBoss: PgBossExtension;
16
14
  }
17
15
  declare type TypeormContextProp = keyof (WithTypeormContext & WithPgBoss);
18
- export declare function withTypeormTransaction<Props>(dependencies: WithTypeormTransactionDependencies): UnifiedExtChainSyncOperator<Props, Props & WithTypeormContext>;
19
- export declare function withTypeormTransaction<Props>(dependencies: WithTypeormTransactionDependencies, extensions: {
16
+ export declare function withTypeormTransaction<Props>(dependencies: WithTypeormTransactionDependencies & {
17
+ pgBoss?: false;
18
+ }): UnifiedExtChainSyncOperator<Props, Props & WithTypeormContext>;
19
+ export declare function withTypeormTransaction<Props>(dependencies: WithTypeormTransactionDependencies & {
20
20
  pgBoss: true;
21
21
  }): UnifiedExtChainSyncOperator<Props, Props & WithTypeormContext & WithPgBoss>;
22
- export declare function withTypeormTransaction<Props>(dependencies: WithTypeormTransactionDependencies, extensions: DataSourceExtensions): UnifiedExtChainSyncOperator<Props, Props & WithTypeormContext>;
23
- export declare const typeormTransactionCommit: <T extends WithTypeormContext>() => (evt$: Observable<ProjectionEvent<T>>) => Observable<ProjectionEvent<Omit<T, keyof WithTypeormContext | "pgBoss">>>;
22
+ export declare const typeormTransactionCommit: <T extends WithTypeormContext>() => (evt$: Observable<ProjectionEvent<T>>) => Observable<ProjectionEvent<Omit<T, "pgBoss" | "queryRunner">>>;
24
23
  export {};
25
24
  //# sourceMappingURL=withTypeormTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withTypeormTransaction.d.ts","sourceRoot":"","sources":["../../../src/operators/withTypeormTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAS,UAAU,EAAE,OAAO,EAAsD,MAAM,MAAM,CAAC;AACtG,OAAO,EAAE,eAAe,EAAyB,MAAM,WAAW,CAAC;AACnE,OAAO,EACL,eAAe,EAEf,2BAA2B,EAG5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C,MAAM,WAAW,kCAAmC,SAAQ,UAAU;IACpE,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,aAAK,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,GAAG,UAAU,CAAC,CAAC;AAGlE,wBAAgB,sBAAsB,CAAC,KAAK,EAC1C,YAAY,EAAE,kCAAkC,GAC/C,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAAC,CAAC;AAClE,wBAAgB,sBAAsB,CAAC,KAAK,EAC1C,YAAY,EAAE,kCAAkC,EAChD,UAAU,EAAE;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAC3B,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,GAAG,UAAU,CAAC,CAAC;AAC/E,wBAAgB,sBAAsB,CAAC,KAAK,EAC1C,YAAY,EAAE,kCAAkC,EAChD,UAAU,EAAE,oBAAoB,GAC/B,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAAC,CAAC;AAsElE,eAAO,MAAM,wBAAwB,yJAehC,CAAC"}
1
+ {"version":3,"file":"withTypeormTransaction.d.ts","sourceRoot":"","sources":["../../../src/operators/withTypeormTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuC,MAAM,MAAM,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,eAAe,EAEf,2BAA2B,EAG5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,WAAW,kCAAkC;IACjD,WAAW,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,aAAK,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,GAAG,UAAU,CAAC,CAAC;AAGlE,wBAAgB,sBAAsB,CAAC,KAAK,EAC1C,YAAY,EAAE,kCAAkC,GAAG;IAAE,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GACpE,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAAC,CAAC;AAElE,wBAAgB,sBAAsB,CAAC,KAAK,EAC1C,YAAY,EAAE,kCAAkC,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAClE,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,GAAG,UAAU,CAAC,CAAC;AA8B/E,eAAO,MAAM,wBAAwB,8IAchC,CAAC"}
@@ -1,40 +1,11 @@
1
- import { NEVER, Subject, concat, defer, from, map, mergeMap, switchMap, tap } from 'rxjs';
2
- import { createPgBossExtension } from '../pgBoss';
1
+ import { Subject, defer, from, map, mergeMap } from 'rxjs';
3
2
  import { withEventContext, withStaticContext } from '@cardano-sdk/projection';
4
- import { finalizeWithLatest } from '@cardano-sdk/util-rxjs';
5
3
  import omit from 'lodash/omit';
6
- const WithTypeormTransactionProps = ['queryRunner', 'transactionCommitted$', 'pgBoss'];
7
- export function withTypeormTransaction({ dataSource$, logger }, extensions) {
8
- return (evt$) => evt$.pipe(withStaticContext(defer(() => dataSource$.pipe(switchMap((dataSource) => concat(from((async () => {
9
- const queryRunner = dataSource.createQueryRunner('master');
10
- await queryRunner.connect();
11
- if (extensions?.pgBoss) {
12
- const pgBoss = createPgBossExtension(queryRunner, logger);
13
- return { pgBoss, queryRunner };
14
- }
15
- return { queryRunner };
16
- })()), NEVER).pipe(finalizeWithLatest(async (evt) => {
17
- if (!evt)
18
- return;
19
- if (evt.queryRunner.isTransactionActive) {
20
- try {
21
- await evt.queryRunner.rollbackTransaction();
22
- }
23
- catch (error) {
24
- logger.error('Failed to rollback transaction', error);
25
- }
26
- }
27
- if (!evt.queryRunner.isReleased) {
28
- try {
29
- await evt.queryRunner.release();
30
- }
31
- catch (error) {
32
- logger.error('Failed to "release" query runner', error);
33
- }
34
- }
35
- })))))), withEventContext(({ queryRunner }) => from(queryRunner.startTransaction('SERIALIZABLE').then(() => ({ transactionCommitted$: new Subject() })))));
4
+ const WithTypeormTransactionProps = ['queryRunner', 'pgBoss'];
5
+ export function withTypeormTransaction({ connection$ }) {
6
+ return (evt$) => evt$.pipe(withStaticContext(defer(() => connection$)), withEventContext(({ queryRunner }) => from(queryRunner.startTransaction('SERIALIZABLE').then(() => ({ transactionCommitted$: new Subject() })))));
36
7
  }
37
- export const typeormTransactionCommit = () => (evt$) => evt$.pipe(mergeMap((evt) => from(evt.queryRunner.commitTransaction()).pipe(tap(() => evt.transactionCommitted$.next()), map(() => {
8
+ export const typeormTransactionCommit = () => (evt$) => evt$.pipe(mergeMap((evt) => from(evt.queryRunner.commitTransaction()).pipe(map(() => {
38
9
  const result = omit(evt, WithTypeormTransactionProps);
39
10
  return result;
40
11
  }))));
@@ -1 +1 @@
1
- {"version":3,"file":"withTypeormTransaction.js","sourceRoot":"","sources":["../../../src/operators/withTypeormTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"withTypeormTransaction.js","sourceRoot":"","sources":["../../../src/operators/withTypeormTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEvE,OAAO,EAIL,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,IAAI,MAAM,aAAa,CAAC;AAe/B,MAAM,2BAA2B,GAA8B,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAWzF,MAAM,UAAU,sBAAsB,CAAQ,EAC5C,WAAW,EAC+C;IAK1D,OAAO,CAAC,IAA0C,EAAE,EAAE,CACpD,IAAI,CAAC,IAAI,CACP,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,EAC3C,gBAAgB,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CACnC,IAAI,CAMF,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,OAAO,EAAQ,EAAE,CAAC,CAAC,CAC1G,CACF,CACF,CAAC;AACN,CAAC;AAMD,MAAM,CAAC,MAAM,wBAAwB,GACnC,GAAiC,EAAE,CACnC,CAAC,IAAoC,EAA4D,EAAE,CACjG,IAAI,CAAC,IAAI,CACP,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CACf,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAC5C,GAAG,CAAC,GAAG,EAAE;IAGP,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IACtD,OAAO,MAAsD,CAAC;AAChE,CAAC,CAAC,CACH,CACF,CACF,CAAC"}
@@ -2,8 +2,11 @@ import { Cardano } from '@cardano-sdk/core';
2
2
  import { DataSource, QueryRunner } from 'typeorm';
3
3
  import { Logger } from 'ts-log';
4
4
  import PgBoss, { SendOptions } from 'pg-boss';
5
+ export declare const POOL_DELIST_SCHEDULE = "pool-delist-schedule";
5
6
  export declare const STAKE_POOL_METADATA_QUEUE = "pool-metadata";
6
7
  export declare const STAKE_POOL_METRICS_UPDATE = "pool-metrics";
8
+ export declare const STAKE_POOL_REWARDS = "pool-rewards";
9
+ export declare const availableQueues: readonly ["pool-delist-schedule", "pool-metadata", "pool-metrics", "pool-rewards"];
7
10
  export interface PgBossExtension {
8
11
  send: <T extends object>(taskName: string, data: T, options: SendOptions & {
9
12
  slot: Cardano.Slot;
@@ -11,12 +14,17 @@ export interface PgBossExtension {
11
14
  }
12
15
  export interface StakePoolMetricsUpdateJob {
13
16
  slot: Cardano.Slot;
17
+ outdatedSlot?: Cardano.Slot;
14
18
  }
15
19
  export interface StakePoolMetadataJob {
16
20
  poolRegistrationId: string;
17
21
  poolId: Cardano.PoolId;
18
22
  metadataJson: NonNullable<Cardano.StakePool['metadataJson']>;
19
23
  }
24
+ export interface StakePoolRewardsJob {
25
+ epochNo: Cardano.EpochNo;
26
+ }
27
+ export declare const defaultJobOptions: SendOptions;
20
28
  export declare const createPgBoss: (queryRunner: QueryRunner | null, logger: Logger, dataSource?: DataSource) => PgBoss;
21
29
  export declare const createPgBossExtension: (queryRunner: QueryRunner, logger: Logger) => PgBossExtension;
22
30
  //# sourceMappingURL=pgBoss.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pgBoss.d.ts","sourceRoot":"","sources":["../../src/pgBoss.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AACzD,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,WAAW,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAA;KAAE,KAC1C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IAInC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;IACvB,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;CAC9D;AAsCD,eAAO,MAAM,YAAY,gBAAiB,WAAW,GAAG,IAAI,UAAU,MAAM,eAAe,UAAU,WAQpG,CAAC;AA6JF,eAAO,MAAM,qBAAqB,gBAAiB,WAAW,UAAU,MAAM,KAAG,eAUhF,CAAC"}
1
+ {"version":3,"file":"pgBoss.d.ts","sourceRoot":"","sources":["../../src/pgBoss.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AACzD,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AACxD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,eAAe,oFAKlB,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,WAAW,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAA;KAAE,KAC1C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IAEnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;IACvB,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,iBAAiB,EAAE,WAG/B,CAAC;AAsCF,eAAO,MAAM,YAAY,gBAAiB,WAAW,GAAG,IAAI,UAAU,MAAM,eAAe,UAAU,WAQpG,CAAC;AA6JF,eAAO,MAAM,qBAAqB,gBAAiB,WAAW,UAAU,MAAM,KAAG,eAUhF,CAAC"}
@@ -2,8 +2,20 @@ import { contextLogger } from '@cardano-sdk/util';
2
2
  import { v4 } from 'uuid';
3
3
  import Attorney from 'pg-boss/src/attorney';
4
4
  import PgBoss from 'pg-boss';
5
+ export const POOL_DELIST_SCHEDULE = 'pool-delist-schedule';
5
6
  export const STAKE_POOL_METADATA_QUEUE = 'pool-metadata';
6
7
  export const STAKE_POOL_METRICS_UPDATE = 'pool-metrics';
8
+ export const STAKE_POOL_REWARDS = 'pool-rewards';
9
+ export const availableQueues = [
10
+ POOL_DELIST_SCHEDULE,
11
+ STAKE_POOL_METADATA_QUEUE,
12
+ STAKE_POOL_METRICS_UPDATE,
13
+ STAKE_POOL_REWARDS
14
+ ];
15
+ export const defaultJobOptions = {
16
+ retryDelay: 6 * 3600,
17
+ retryLimit: 1000000
18
+ };
7
19
  class BossDb {
8
20
  constructor(queryRunner, logger, dataSource) {
9
21
  this.queryRunner = queryRunner;
@@ -1 +1 @@
1
- {"version":3,"file":"pgBoss.js","sourceRoot":"","sources":["../../src/pgBoss.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,MAAuB,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAuBxD,MAAM,MAAM;IACV,YAAoB,WAA+B,EAAU,MAAc,EAAU,UAAuB;QAAxF,gBAAW,GAAX,WAAW,CAAoB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,eAAU,GAAV,UAAU,CAAa;IAAG,CAAC;IAEhH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,MAAiB;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAE7F,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAE3E,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAEjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpD,CAAC;CACF;AAoBD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAA+B,EAAE,MAAc,EAAE,UAAuB,EAAE,EAAE;IACvG,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IAE/E,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,KAAK,UAAU,SAAS,CAEtB,IAAY,EACZ,IAAS,EACT,OAA4E,EAC5E,eAAe,GAAG,CAAC;IAEnB,MAAM,EACJ,EAAE,EAAE,OAAO,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,YAAY,GAAG,IAAI,EACnB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EAEV,IAAI,EACL,GAAG,OAAO,CAAC;IAEZ,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;IAEhB,MAAM,MAAM,GAAG;QACb,EAAE;QACF,IAAI;QACJ,QAAQ;QACR,UAAU;QACV,UAAU;QACV,QAAQ;QACR,IAAI;QACJ,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,UAAU;QACV,YAAY;QACZ,SAAS;QACT,UAAU;QAEV,IAAI;KACL,CAAC;IACF,MAAM,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAElE,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1B;IAGD,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IAGD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAG7G,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAElC,eAAe,GAAG,gBAAiB,CAAC;IAEpC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,MAAM,GAAG;IACb,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACf,CAAC;AAGF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC;kBACpB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAkDT,MAAM,CAAC,OAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;GAoBtC,CAAC;AAEJ,KAAK,UAAU,IAAI,CAAY,GAAG,IAAW;IAC3C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAwB,EAAE,MAAc,EAAmB,EAAE;IACjG,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAY,CAAC,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAY,CAAC,IAAI,GAAG,IAAI,CAAC;IACzB,IAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,OAAO;QACL,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAA6B,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"pgBoss.js","sourceRoot":"","sources":["../../src/pgBoss.ts"],"names":[],"mappings":"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"}