@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.
- package/dist/cjs/TypeormStabilityWindowBuffer.d.ts +6 -7
- package/dist/cjs/TypeormStabilityWindowBuffer.d.ts.map +1 -1
- package/dist/cjs/TypeormStabilityWindowBuffer.js +40 -108
- package/dist/cjs/TypeormStabilityWindowBuffer.js.map +1 -1
- package/dist/cjs/createDataSource.d.ts +13 -0
- package/dist/cjs/createDataSource.d.ts.map +1 -1
- package/dist/cjs/createDataSource.js +53 -2
- package/dist/cjs/createDataSource.js.map +1 -1
- package/dist/cjs/createTypeormTipTracker.d.ts +16 -0
- package/dist/cjs/createTypeormTipTracker.d.ts.map +1 -0
- package/dist/cjs/createTypeormTipTracker.js +55 -0
- package/dist/cjs/createTypeormTipTracker.js.map +1 -0
- package/dist/cjs/entity/Address.entity.d.ts.map +1 -1
- package/dist/cjs/entity/Address.entity.js.map +1 -1
- package/dist/cjs/entity/CurrentPoolMetrics.entity.d.ts +2 -1
- package/dist/cjs/entity/CurrentPoolMetrics.entity.d.ts.map +1 -1
- package/dist/cjs/entity/CurrentPoolMetrics.entity.js +15 -11
- package/dist/cjs/entity/CurrentPoolMetrics.entity.js.map +1 -1
- package/dist/cjs/entity/Handle.entity.d.ts.map +1 -1
- package/dist/cjs/entity/Handle.entity.js.map +1 -1
- package/dist/cjs/entity/HandleMetadata.entity.d.ts.map +1 -1
- package/dist/cjs/entity/HandleMetadata.entity.js.map +1 -1
- package/dist/cjs/entity/NftMetadata.entity.d.ts.map +1 -1
- package/dist/cjs/entity/NftMetadata.entity.js.map +1 -1
- package/dist/cjs/entity/PoolDelisted.entity.d.ts +5 -0
- package/dist/cjs/entity/PoolDelisted.entity.d.ts.map +1 -0
- package/dist/cjs/entity/PoolDelisted.entity.js +25 -0
- package/dist/cjs/entity/PoolDelisted.entity.js.map +1 -0
- package/dist/cjs/entity/PoolRegistration.entity.d.ts +1 -0
- package/dist/cjs/entity/PoolRegistration.entity.d.ts.map +1 -1
- package/dist/cjs/entity/PoolRegistration.entity.js +4 -0
- package/dist/cjs/entity/PoolRegistration.entity.js.map +1 -1
- package/dist/cjs/entity/PoolRetirement.entity.d.ts +1 -0
- package/dist/cjs/entity/PoolRetirement.entity.d.ts.map +1 -1
- package/dist/cjs/entity/PoolRetirement.entity.js +4 -0
- package/dist/cjs/entity/PoolRetirement.entity.js.map +1 -1
- package/dist/cjs/entity/PoolRewards.entity.d.ts +18 -0
- package/dist/cjs/entity/PoolRewards.entity.d.ts.map +1 -0
- package/dist/cjs/entity/PoolRewards.entity.js +77 -0
- package/dist/cjs/entity/PoolRewards.entity.js.map +1 -0
- package/dist/cjs/entity/StakeKeyRegistration.entity.d.ts.map +1 -1
- package/dist/cjs/entity/StakeKeyRegistration.entity.js.map +1 -1
- package/dist/cjs/entity/index.d.ts +12 -10
- package/dist/cjs/entity/index.d.ts.map +1 -1
- package/dist/cjs/entity/index.js +12 -10
- package/dist/cjs/entity/index.js.map +1 -1
- package/dist/cjs/entity/util.d.ts.map +1 -1
- package/dist/cjs/entity/util.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -5
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/operators/index.d.ts +10 -9
- package/dist/cjs/operators/index.d.ts.map +1 -1
- package/dist/cjs/operators/index.js +10 -11
- package/dist/cjs/operators/index.js.map +1 -1
- package/dist/cjs/operators/storePoolMetricsUpdateJob.d.ts +1 -1
- package/dist/cjs/operators/storePoolMetricsUpdateJob.d.ts.map +1 -1
- package/dist/cjs/operators/storePoolMetricsUpdateJob.js +20 -4
- package/dist/cjs/operators/storePoolMetricsUpdateJob.js.map +1 -1
- package/dist/cjs/operators/storeStakePoolMetadataJob.d.ts.map +1 -1
- package/dist/cjs/operators/storeStakePoolMetadataJob.js +3 -6
- package/dist/cjs/operators/storeStakePoolMetadataJob.js.map +1 -1
- package/dist/cjs/operators/storeStakePoolRewardsJob.d.ts +3 -0
- package/dist/cjs/operators/storeStakePoolRewardsJob.d.ts.map +1 -0
- package/dist/cjs/operators/storeStakePoolRewardsJob.js +16 -0
- package/dist/cjs/operators/storeStakePoolRewardsJob.js.map +1 -0
- package/dist/cjs/operators/withTypeormTransaction.d.ts +10 -11
- package/dist/cjs/operators/withTypeormTransaction.d.ts.map +1 -1
- package/dist/cjs/operators/withTypeormTransaction.js +4 -33
- package/dist/cjs/operators/withTypeormTransaction.js.map +1 -1
- package/dist/cjs/pgBoss.d.ts +8 -0
- package/dist/cjs/pgBoss.d.ts.map +1 -1
- package/dist/cjs/pgBoss.js +13 -1
- package/dist/cjs/pgBoss.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/TypeormStabilityWindowBuffer.d.ts +6 -7
- package/dist/esm/TypeormStabilityWindowBuffer.d.ts.map +1 -1
- package/dist/esm/TypeormStabilityWindowBuffer.js +41 -109
- package/dist/esm/TypeormStabilityWindowBuffer.js.map +1 -1
- package/dist/esm/createDataSource.d.ts +13 -0
- package/dist/esm/createDataSource.d.ts.map +1 -1
- package/dist/esm/createDataSource.js +49 -1
- package/dist/esm/createDataSource.js.map +1 -1
- package/dist/esm/createTypeormTipTracker.d.ts +16 -0
- package/dist/esm/createTypeormTipTracker.d.ts.map +1 -0
- package/dist/esm/createTypeormTipTracker.js +51 -0
- package/dist/esm/createTypeormTipTracker.js.map +1 -0
- package/dist/esm/entity/Address.entity.d.ts.map +1 -1
- package/dist/esm/entity/Address.entity.js.map +1 -1
- package/dist/esm/entity/CurrentPoolMetrics.entity.d.ts +2 -1
- package/dist/esm/entity/CurrentPoolMetrics.entity.d.ts.map +1 -1
- package/dist/esm/entity/CurrentPoolMetrics.entity.js +15 -11
- package/dist/esm/entity/CurrentPoolMetrics.entity.js.map +1 -1
- package/dist/esm/entity/Handle.entity.d.ts.map +1 -1
- package/dist/esm/entity/Handle.entity.js.map +1 -1
- package/dist/esm/entity/HandleMetadata.entity.d.ts.map +1 -1
- package/dist/esm/entity/HandleMetadata.entity.js.map +1 -1
- package/dist/esm/entity/NftMetadata.entity.d.ts.map +1 -1
- package/dist/esm/entity/NftMetadata.entity.js.map +1 -1
- package/dist/esm/entity/PoolDelisted.entity.d.ts +5 -0
- package/dist/esm/entity/PoolDelisted.entity.d.ts.map +1 -0
- package/dist/esm/entity/PoolDelisted.entity.js +22 -0
- package/dist/esm/entity/PoolDelisted.entity.js.map +1 -0
- package/dist/esm/entity/PoolRegistration.entity.d.ts +1 -0
- package/dist/esm/entity/PoolRegistration.entity.d.ts.map +1 -1
- package/dist/esm/entity/PoolRegistration.entity.js +4 -0
- package/dist/esm/entity/PoolRegistration.entity.js.map +1 -1
- package/dist/esm/entity/PoolRetirement.entity.d.ts +1 -0
- package/dist/esm/entity/PoolRetirement.entity.d.ts.map +1 -1
- package/dist/esm/entity/PoolRetirement.entity.js +4 -0
- package/dist/esm/entity/PoolRetirement.entity.js.map +1 -1
- package/dist/esm/entity/PoolRewards.entity.d.ts +18 -0
- package/dist/esm/entity/PoolRewards.entity.d.ts.map +1 -0
- package/dist/esm/entity/PoolRewards.entity.js +74 -0
- package/dist/esm/entity/PoolRewards.entity.js.map +1 -0
- package/dist/esm/entity/StakeKeyRegistration.entity.d.ts.map +1 -1
- package/dist/esm/entity/StakeKeyRegistration.entity.js.map +1 -1
- package/dist/esm/entity/index.d.ts +12 -10
- package/dist/esm/entity/index.d.ts.map +1 -1
- package/dist/esm/entity/index.js +12 -10
- package/dist/esm/entity/index.js.map +1 -1
- package/dist/esm/entity/util.d.ts.map +1 -1
- package/dist/esm/entity/util.js.map +1 -1
- package/dist/esm/index.d.ts +4 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operators/index.d.ts +10 -9
- package/dist/esm/operators/index.d.ts.map +1 -1
- package/dist/esm/operators/index.js +10 -9
- package/dist/esm/operators/index.js.map +1 -1
- package/dist/esm/operators/storePoolMetricsUpdateJob.d.ts +1 -1
- package/dist/esm/operators/storePoolMetricsUpdateJob.d.ts.map +1 -1
- package/dist/esm/operators/storePoolMetricsUpdateJob.js +20 -4
- package/dist/esm/operators/storePoolMetricsUpdateJob.js.map +1 -1
- package/dist/esm/operators/storeStakePoolMetadataJob.d.ts.map +1 -1
- package/dist/esm/operators/storeStakePoolMetadataJob.js +4 -7
- package/dist/esm/operators/storeStakePoolMetadataJob.js.map +1 -1
- package/dist/esm/operators/storeStakePoolRewardsJob.d.ts +3 -0
- package/dist/esm/operators/storeStakePoolRewardsJob.d.ts.map +1 -0
- package/dist/esm/operators/storeStakePoolRewardsJob.js +13 -0
- package/dist/esm/operators/storeStakePoolRewardsJob.js.map +1 -0
- package/dist/esm/operators/withTypeormTransaction.d.ts +10 -11
- package/dist/esm/operators/withTypeormTransaction.d.ts.map +1 -1
- package/dist/esm/operators/withTypeormTransaction.js +5 -34
- package/dist/esm/operators/withTypeormTransaction.js.map +1 -1
- package/dist/esm/pgBoss.d.ts +8 -0
- package/dist/esm/pgBoss.d.ts.map +1 -1
- package/dist/esm/pgBoss.js +12 -0
- package/dist/esm/pgBoss.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -15
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { Cardano } from '@cardano-sdk/core';
|
|
2
|
-
import { QueryRunner } from 'typeorm';
|
|
3
2
|
import { Observable } from 'rxjs';
|
|
4
3
|
import { ProjectionEvent, StabilityWindowBuffer } from '@cardano-sdk/projection';
|
|
4
|
+
import { ReconnectionConfig } from '@cardano-sdk/util-rxjs';
|
|
5
|
+
import { TypeormConnection } from './createDataSource';
|
|
5
6
|
import { WithLogger } from '@cardano-sdk/util';
|
|
6
7
|
import { WithTypeormContext } from './operators';
|
|
7
8
|
export interface TypeormStabilityWindowBufferProps extends WithLogger {
|
|
8
9
|
compactBufferEveryNBlocks?: number;
|
|
9
|
-
|
|
10
|
+
connection$: Observable<TypeormConnection>;
|
|
11
|
+
reconnectionConfig: ReconnectionConfig;
|
|
10
12
|
}
|
|
11
13
|
export declare class TypeormStabilityWindowBuffer implements StabilityWindowBuffer {
|
|
12
14
|
#private;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
constructor({ allowNonSequentialBlockHeights, compactBufferEveryNBlocks, logger }: TypeormStabilityWindowBufferProps);
|
|
15
|
+
constructor({ compactBufferEveryNBlocks, connection$, logger, reconnectionConfig }: TypeormStabilityWindowBufferProps);
|
|
16
|
+
getBlock(id: Cardano.BlockId): Observable<Cardano.Block | null>;
|
|
16
17
|
storeBlockData<T extends ProjectionEvent<WithTypeormContext>>(): (evt$: Observable<T>) => Observable<T>;
|
|
17
|
-
initialize(queryRunner: QueryRunner): Promise<void>;
|
|
18
|
-
shutdown(): void;
|
|
19
18
|
}
|
|
20
19
|
//# sourceMappingURL=TypeormStabilityWindowBuffer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeormStabilityWindowBuffer.d.ts","sourceRoot":"","sources":["../../src/TypeormStabilityWindowBuffer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAsB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TypeormStabilityWindowBuffer.d.ts","sourceRoot":"","sources":["../../src/TypeormStabilityWindowBuffer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAsB,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAyD,MAAM,MAAM,CAAC;AACzF,OAAO,EAAE,eAAe,EAAoB,qBAAqB,EAAmB,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,iCAAkC,SAAQ,UAAU;IAEnE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,WAAW,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE3C,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,qBAAa,4BAA6B,YAAW,qBAAqB;;gBAM5D,EACV,yBAA+B,EAC/B,WAAW,EACX,MAAM,EACN,kBAAkB,EACnB,EAAE,iCAAiC;IAUpC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAuB/D,cAAc,CAAC,CAAC,SAAS,eAAe,CAAC,kBAAkB,CAAC,YAC5C,WAAW,CAAC,CAAC;CAgD9B"}
|
|
@@ -10,72 +10,59 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
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");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _TypeormStabilityWindowBuffer_instances,
|
|
13
|
+
var _TypeormStabilityWindowBuffer_instances, _TypeormStabilityWindowBuffer_queryRunner$, _TypeormStabilityWindowBuffer_retryBackoffConfig, _TypeormStabilityWindowBuffer_logger, _TypeormStabilityWindowBuffer_compactEvery, _TypeormStabilityWindowBuffer_rollForward, _TypeormStabilityWindowBuffer_deleteOldBlockData;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.TypeormStabilityWindowBuffer = void 0;
|
|
16
16
|
const entity_1 = require("./entity");
|
|
17
17
|
const core_1 = require("@cardano-sdk/core");
|
|
18
18
|
const typeorm_1 = require("typeorm");
|
|
19
19
|
const rxjs_1 = require("rxjs");
|
|
20
|
+
const backoff_rxjs_1 = require("backoff-rxjs");
|
|
20
21
|
const util_1 = require("@cardano-sdk/util");
|
|
21
|
-
const
|
|
22
|
-
if (typeof point1 !== 'object') {
|
|
23
|
-
return point1 === point2;
|
|
24
|
-
}
|
|
25
|
-
if (typeof point2 !== 'object') {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
return point1.header.hash === point2.header.hash;
|
|
29
|
-
};
|
|
30
|
-
const blockDataSelect = {
|
|
31
|
-
data: true
|
|
32
|
-
};
|
|
22
|
+
const isRecoverableTypeormError_1 = require("./isRecoverableTypeormError");
|
|
33
23
|
class TypeormStabilityWindowBuffer {
|
|
34
|
-
constructor({
|
|
24
|
+
constructor({ compactBufferEveryNBlocks = 100, connection$, logger, reconnectionConfig }) {
|
|
35
25
|
_TypeormStabilityWindowBuffer_instances.add(this);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
_TypeormStabilityWindowBuffer_tip$.set(this, new rxjs_1.ReplaySubject(1));
|
|
39
|
-
_TypeormStabilityWindowBuffer_tail$.set(this, new rxjs_1.ReplaySubject(1));
|
|
26
|
+
_TypeormStabilityWindowBuffer_queryRunner$.set(this, void 0);
|
|
27
|
+
_TypeormStabilityWindowBuffer_retryBackoffConfig.set(this, void 0);
|
|
40
28
|
_TypeormStabilityWindowBuffer_logger.set(this, void 0);
|
|
41
29
|
_TypeormStabilityWindowBuffer_compactEvery.set(this, void 0);
|
|
42
|
-
_TypeormStabilityWindowBuffer_allowNonSequentialBlockHeights.set(this, void 0);
|
|
43
30
|
__classPrivateFieldSet(this, _TypeormStabilityWindowBuffer_compactEvery, compactBufferEveryNBlocks, "f");
|
|
44
|
-
__classPrivateFieldSet(this, _TypeormStabilityWindowBuffer_allowNonSequentialBlockHeights, allowNonSequentialBlockHeights, "f");
|
|
45
31
|
__classPrivateFieldSet(this, _TypeormStabilityWindowBuffer_logger, (0, util_1.contextLogger)(logger, 'TypeormStabilityWindowBuffer'), "f");
|
|
46
|
-
this
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
32
|
+
__classPrivateFieldSet(this, _TypeormStabilityWindowBuffer_queryRunner$, connection$.pipe((0, rxjs_1.map)(({ queryRunner }) => queryRunner)), "f");
|
|
33
|
+
__classPrivateFieldSet(this, _TypeormStabilityWindowBuffer_retryBackoffConfig, {
|
|
34
|
+
...reconnectionConfig,
|
|
35
|
+
shouldRetry: isRecoverableTypeormError_1.isRecoverableTypeormError
|
|
36
|
+
}, "f");
|
|
51
37
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
38
|
+
getBlock(id) {
|
|
39
|
+
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_logger, "f").debug('getBlock', id);
|
|
40
|
+
return __classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_queryRunner$, "f").pipe((0, rxjs_1.switchMap)((queryRunner) => {
|
|
41
|
+
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_logger, "f").debug('getBlock query runner');
|
|
42
|
+
const repository = queryRunner.manager.getRepository(entity_1.BlockDataEntity);
|
|
43
|
+
return (0, rxjs_1.from)((async () => {
|
|
44
|
+
const blockDataEntity = await repository.findOne({ where: { block: { hash: id } } });
|
|
45
|
+
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_logger, "f").debug('getBlock found', blockDataEntity);
|
|
46
|
+
return blockDataEntity?.data || null;
|
|
47
|
+
})());
|
|
48
|
+
}), (0, rxjs_1.take)(1), (0, rxjs_1.catchError)((err) => {
|
|
49
|
+
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_logger, "f").error(err);
|
|
50
|
+
throw err;
|
|
51
|
+
}), (0, backoff_rxjs_1.retryBackoff)(__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_retryBackoffConfig, "f")));
|
|
64
52
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
53
|
+
storeBlockData() {
|
|
54
|
+
return (evt$) => evt$.pipe((0, rxjs_1.concatMap)((evt) => {
|
|
55
|
+
if (evt.eventType === core_1.ChainSyncEventType.RollForward &&
|
|
56
|
+
evt.block.header.blockNo >= evt.tip.blockNo - evt.genesisParameters.securityParameter) {
|
|
57
|
+
return (0, rxjs_1.from)(__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_instances, "m", _TypeormStabilityWindowBuffer_rollForward).call(this, evt)).pipe((0, rxjs_1.map)(() => evt));
|
|
58
|
+
}
|
|
59
|
+
return (0, rxjs_1.of)(evt);
|
|
60
|
+
}));
|
|
68
61
|
}
|
|
69
62
|
}
|
|
70
63
|
exports.TypeormStabilityWindowBuffer = TypeormStabilityWindowBuffer;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
order: { blockHeight: 'ASC' },
|
|
74
|
-
select: blockDataSelect,
|
|
75
|
-
take: 1
|
|
76
|
-
});
|
|
77
|
-
}, _TypeormStabilityWindowBuffer_rollForward = async function _TypeormStabilityWindowBuffer_rollForward(evt) {
|
|
78
|
-
const { eventType, transactionCommitted$, queryRunner, block } = evt;
|
|
64
|
+
_TypeormStabilityWindowBuffer_queryRunner$ = new WeakMap(), _TypeormStabilityWindowBuffer_retryBackoffConfig = new WeakMap(), _TypeormStabilityWindowBuffer_logger = new WeakMap(), _TypeormStabilityWindowBuffer_compactEvery = new WeakMap(), _TypeormStabilityWindowBuffer_instances = new WeakSet(), _TypeormStabilityWindowBuffer_rollForward = async function _TypeormStabilityWindowBuffer_rollForward(evt) {
|
|
65
|
+
const { eventType, queryRunner, block } = evt;
|
|
79
66
|
const { header: { blockNo } } = block;
|
|
80
67
|
const repository = queryRunner.manager.getRepository(entity_1.BlockDataEntity);
|
|
81
68
|
if (eventType === core_1.ChainSyncEventType.RollForward) {
|
|
@@ -87,70 +74,15 @@ _TypeormStabilityWindowBuffer_tail = new WeakMap(), _TypeormStabilityWindowBuffe
|
|
|
87
74
|
data: block
|
|
88
75
|
});
|
|
89
76
|
await Promise.all([repository.insert(blockData), __classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_instances, "m", _TypeormStabilityWindowBuffer_deleteOldBlockData).call(this, evt)]);
|
|
90
|
-
transactionCommitted$.subscribe(() => {
|
|
91
|
-
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_instances, "m", _TypeormStabilityWindowBuffer_setTip).call(this, block);
|
|
92
|
-
if (__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_tail, "f") === 'origin') {
|
|
93
|
-
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_instances, "m", _TypeormStabilityWindowBuffer_setTail).call(this, block);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
77
|
}
|
|
97
|
-
},
|
|
98
|
-
|
|
99
|
-
const prevTip = await repository.findOne({
|
|
100
|
-
order: {
|
|
101
|
-
blockHeight: 'DESC'
|
|
102
|
-
},
|
|
103
|
-
select: blockDataSelect,
|
|
104
|
-
where: {
|
|
105
|
-
blockHeight: (0, typeorm_1.LessThan)(blockNo)
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
if (!__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_allowNonSequentialBlockHeights, "f") && prevTip?.data && blockNo !== prevTip?.data.header.blockNo + 1) {
|
|
109
|
-
throw new Error('Assert: inconsistent PgStabilityWindowBuffer at rollBackward');
|
|
110
|
-
}
|
|
111
|
-
transactionCommitted$.subscribe(() => {
|
|
112
|
-
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_instances, "m", _TypeormStabilityWindowBuffer_setTip).call(this, prevTip?.data || 'origin');
|
|
113
|
-
if (!prevTip?.data) {
|
|
114
|
-
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_instances, "m", _TypeormStabilityWindowBuffer_setTail).call(this, 'origin');
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}, _TypeormStabilityWindowBuffer_deleteOldBlockData = async function _TypeormStabilityWindowBuffer_deleteOldBlockData({ genesisParameters: { securityParameter }, block: { header: { blockNo } }, queryRunner, transactionCommitted$ }) {
|
|
118
|
-
if (blockNo < securityParameter || blockNo % __classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_compactEvery, "f") !== 0) {
|
|
78
|
+
}, _TypeormStabilityWindowBuffer_deleteOldBlockData = async function _TypeormStabilityWindowBuffer_deleteOldBlockData({ genesisParameters: { securityParameter }, block: { header: { blockNo } }, queryRunner }) {
|
|
79
|
+
if (blockNo % __classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_compactEvery, "f") !== 0) {
|
|
119
80
|
return;
|
|
120
81
|
}
|
|
121
82
|
const repository = queryRunner.manager.getRepository(entity_1.BlockDataEntity);
|
|
122
83
|
const nextTailBlockHeight = blockNo - securityParameter;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
data: true
|
|
127
|
-
},
|
|
128
|
-
where: {
|
|
129
|
-
blockHeight: nextTailBlockHeight
|
|
130
|
-
}
|
|
131
|
-
}),
|
|
132
|
-
repository.delete({
|
|
133
|
-
blockHeight: (0, typeorm_1.LessThan)(nextTailBlockHeight)
|
|
134
|
-
})
|
|
135
|
-
]);
|
|
136
|
-
if (!nextTailEntity) {
|
|
137
|
-
if (__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_allowNonSequentialBlockHeights, "f")) {
|
|
138
|
-
[nextTailEntity] = await __classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_instances, "m", _TypeormStabilityWindowBuffer_findTail).call(this, repository);
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
throw new Error('Assert: inconsistent PgStabilityWindowBuffer at #deleteOldBlockData');
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
transactionCommitted$.subscribe(() => __classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_instances, "m", _TypeormStabilityWindowBuffer_setTail).call(this, nextTailEntity.data));
|
|
145
|
-
}, _TypeormStabilityWindowBuffer_setTail = function _TypeormStabilityWindowBuffer_setTail(tail) {
|
|
146
|
-
if (!pointEquals(tail, __classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_tail, "f"))) {
|
|
147
|
-
__classPrivateFieldSet(this, _TypeormStabilityWindowBuffer_tail, tail, "f");
|
|
148
|
-
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_tail$, "f").next(tail);
|
|
149
|
-
}
|
|
150
|
-
}, _TypeormStabilityWindowBuffer_setTip = function _TypeormStabilityWindowBuffer_setTip(tip) {
|
|
151
|
-
if (!pointEquals(tip, __classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_tip, "f"))) {
|
|
152
|
-
__classPrivateFieldSet(this, _TypeormStabilityWindowBuffer_tip, tip, "f");
|
|
153
|
-
__classPrivateFieldGet(this, _TypeormStabilityWindowBuffer_tip$, "f").next(tip);
|
|
154
|
-
}
|
|
84
|
+
await repository.delete({
|
|
85
|
+
blockHeight: (0, typeorm_1.LessThan)(nextTailBlockHeight)
|
|
86
|
+
});
|
|
155
87
|
};
|
|
156
88
|
//# sourceMappingURL=TypeormStabilityWindowBuffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeormStabilityWindowBuffer.js","sourceRoot":"","sources":["../../src/TypeormStabilityWindowBuffer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,qCAA2C;AAC3C,4CAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"TypeormStabilityWindowBuffer.js","sourceRoot":"","sources":["../../src/TypeormStabilityWindowBuffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { DataSource, DataSourceOptions, QueryRunner } from 'typeorm';
|
|
3
3
|
import { Logger } from 'ts-log';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { PgBossExtension } from './pgBoss';
|
|
4
6
|
export interface DataSourceExtensions {
|
|
5
7
|
pgBoss?: boolean;
|
|
6
8
|
}
|
|
@@ -20,5 +22,16 @@ export interface CreateDataSourceProps {
|
|
|
20
22
|
}
|
|
21
23
|
export declare const pgBossSchemaExists: (queryRunner: QueryRunner) => Promise<boolean>;
|
|
22
24
|
export declare const createDataSource: ({ connectionConfig, devOptions, options, entities, extensions, logger }: CreateDataSourceProps) => DataSource;
|
|
25
|
+
export declare type CreateObservableDataSourceProps = Omit<CreateDataSourceProps, 'connectionConfig'> & {
|
|
26
|
+
connectionConfig$: Observable<PgConnectionConfig>;
|
|
27
|
+
};
|
|
28
|
+
export declare const createObservableDataSource: ({ connectionConfig$, ...rest }: CreateObservableDataSourceProps) => Observable<DataSource>;
|
|
29
|
+
export interface TypeormConnection {
|
|
30
|
+
queryRunner: QueryRunner;
|
|
31
|
+
pgBoss?: PgBossExtension;
|
|
32
|
+
}
|
|
33
|
+
export declare type ConnectProps = Pick<CreateObservableDataSourceProps, 'extensions' | 'logger'>;
|
|
34
|
+
export declare const connect: ({ logger, extensions }: ConnectProps) => (dataSource$: Observable<DataSource>) => Observable<TypeormConnection>;
|
|
35
|
+
export declare const createObservableConnection: (props: CreateObservableDataSourceProps) => Observable<TypeormConnection>;
|
|
23
36
|
export {};
|
|
24
37
|
//# sourceMappingURL=createDataSource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDataSource.d.ts","sourceRoot":"","sources":["../../src/createDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAkD,WAAW,EAAE,MAAM,SAAS,CAAC;AACrH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"createDataSource.d.ts","sourceRoot":"","sources":["../../src/createDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAkD,WAAW,EAAE,MAAM,SAAS,CAAC;AACrH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAS,UAAU,EAA2B,MAAM,MAAM,CAAC;AAClE,OAAO,EAAE,eAAe,EAAuC,MAAM,UAAU,CAAC;AAMhF,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,aAAK,yBAAyB,GAAG,iBAAiB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1E,oBAAY,kBAAkB,GAAG,IAAI,CACnC,yBAAyB,EACzB,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,CAC/D,CAAC;AAEF,oBAAY,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,EAAE,aAAa,GAAG,YAAY,CAAC,CAAC;AAE9F,oBAAY,cAAc,GAAG,IAAI,CAC/B,yBAAyB,EACvB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,OAAO,GACP,uBAAuB,GACvB,UAAU,GACV,OAAO,GACP,eAAe,GACf,YAAY,CACf,GAAG,EAAE,CAAC;AAEP,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAoDD,eAAO,MAAM,kBAAkB,gBAAuB,WAAW,qBAKhE,CAAC;AA8BF,eAAO,MAAM,gBAAgB,4EAO1B,qBAAqB,eAuBvB,CAAC;AAEF,oBAAY,+BAA+B,GAAG,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,GAAG;IAC9F,iBAAiB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,0BAA0B,mCAAoC,+BAA+B,2BAyBvG,CAAC;AAEJ,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAsBD,oBAAY,YAAY,GAAG,IAAI,CAAC,+BAA+B,EAAE,YAAY,GAAG,QAAQ,CAAC,CAAC;AAY1F,eAAO,MAAM,OAAO,2BACO,YAAY,mBACvB,WAAW,UAAU,CAAC,kCAOjC,CAAC;AAEN,eAAO,MAAM,0BAA0B,UAAW,+BAA+B,KAAG,WAAW,iBAAiB,CACxD,CAAC"}
|
|
@@ -3,11 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createDataSource = exports.pgBossSchemaExists = void 0;
|
|
6
|
+
exports.createObservableConnection = exports.connect = exports.createObservableDataSource = exports.createDataSource = exports.pgBossSchemaExists = void 0;
|
|
7
7
|
require("reflect-metadata");
|
|
8
8
|
const typeorm_1 = require("typeorm");
|
|
9
|
-
const
|
|
9
|
+
const rxjs_1 = require("rxjs");
|
|
10
10
|
const pgBoss_1 = require("./pgBoss");
|
|
11
|
+
const util_1 = require("@cardano-sdk/util");
|
|
12
|
+
const util_rxjs_1 = require("@cardano-sdk/util-rxjs");
|
|
11
13
|
const logger_1 = require("./logger");
|
|
12
14
|
const snakeCase_1 = __importDefault(require("lodash/snakeCase"));
|
|
13
15
|
const toTableName = (tableOrName) => (typeof tableOrName === 'string' ? tableOrName : tableOrName.name).replace('_entity', '');
|
|
@@ -110,4 +112,53 @@ const createDataSource = ({ connectionConfig, devOptions, options, entities, ext
|
|
|
110
112
|
});
|
|
111
113
|
};
|
|
112
114
|
exports.createDataSource = createDataSource;
|
|
115
|
+
const createObservableDataSource = ({ connectionConfig$, ...rest }) => connectionConfig$.pipe((0, rxjs_1.switchMap)((connectionConfig) => (0, rxjs_1.concat)((0, rxjs_1.from)((async () => {
|
|
116
|
+
const dataSource = (0, exports.createDataSource)({
|
|
117
|
+
connectionConfig,
|
|
118
|
+
...rest
|
|
119
|
+
});
|
|
120
|
+
await dataSource.initialize();
|
|
121
|
+
return dataSource;
|
|
122
|
+
})()), rxjs_1.NEVER).pipe((0, util_rxjs_1.finalizeWithLatest)(async (dataSource) => {
|
|
123
|
+
try {
|
|
124
|
+
await dataSource?.destroy();
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
rest.logger.error('Failed to destroy data source', error);
|
|
128
|
+
}
|
|
129
|
+
}))));
|
|
130
|
+
exports.createObservableDataSource = createObservableDataSource;
|
|
131
|
+
const releaseConnection = ({ logger }) => async (connection) => {
|
|
132
|
+
if (!connection)
|
|
133
|
+
return;
|
|
134
|
+
if (connection.queryRunner.isTransactionActive) {
|
|
135
|
+
try {
|
|
136
|
+
await connection.queryRunner.rollbackTransaction();
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
logger.warn('Failed to rollback transaction', error);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (!connection.queryRunner.isReleased) {
|
|
143
|
+
try {
|
|
144
|
+
await connection.queryRunner.release();
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
logger.warn('Failed to "release" query runner', error);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
const createConnection = async (dataSource, { logger, extensions }) => {
|
|
152
|
+
const queryRunner = dataSource.createQueryRunner('master');
|
|
153
|
+
await queryRunner.connect();
|
|
154
|
+
if (extensions?.pgBoss) {
|
|
155
|
+
const pgBoss = (0, pgBoss_1.createPgBossExtension)(queryRunner, logger);
|
|
156
|
+
return { pgBoss, queryRunner };
|
|
157
|
+
}
|
|
158
|
+
return { queryRunner };
|
|
159
|
+
};
|
|
160
|
+
const connect = ({ logger, extensions }) => (dataSource$) => dataSource$.pipe((0, rxjs_1.switchMap)((dataSource) => (0, rxjs_1.concat)((0, rxjs_1.from)(createConnection(dataSource, { extensions, logger })), rxjs_1.NEVER).pipe((0, util_rxjs_1.finalizeWithLatest)(releaseConnection({ logger })))));
|
|
161
|
+
exports.connect = connect;
|
|
162
|
+
const createObservableConnection = (props) => (0, exports.createObservableDataSource)(props).pipe((0, exports.connect)(props));
|
|
163
|
+
exports.createObservableConnection = createObservableConnection;
|
|
113
164
|
//# sourceMappingURL=createDataSource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDataSource.js","sourceRoot":"","sources":["../../src/createDataSource.ts"],"names":[],"mappings":";;;;;;AAAA,4BAA0B;AAC1B,qCAAqH;AAErH,
|
|
1
|
+
{"version":3,"file":"createDataSource.js","sourceRoot":"","sources":["../../src/createDataSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseProjectionEvent } from '@cardano-sdk/projection';
|
|
2
|
+
import { TipOrOrigin } from '@cardano-sdk/core';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { ReconnectionConfig } from '@cardano-sdk/util-rxjs';
|
|
5
|
+
import { TypeormConnection } from './createDataSource';
|
|
6
|
+
export interface CreateTypeormTipTrackerProps {
|
|
7
|
+
connection$: Observable<TypeormConnection>;
|
|
8
|
+
reconnectionConfig: ReconnectionConfig;
|
|
9
|
+
}
|
|
10
|
+
export declare const createTypeormTipTracker: ({ connection$, reconnectionConfig }: CreateTypeormTipTrackerProps) => {
|
|
11
|
+
shutdown: () => void;
|
|
12
|
+
tip$: Observable<TipOrOrigin>;
|
|
13
|
+
trackProjectedTip: <T extends BaseProjectionEvent>() => (evt$: Observable<T>) => Observable<T>;
|
|
14
|
+
};
|
|
15
|
+
export declare type TypeormTipTracker = ReturnType<typeof createTypeormTipTracker>;
|
|
16
|
+
//# sourceMappingURL=createTypeormTipTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTypeormTipTracker.d.ts","sourceRoot":"","sources":["../../src/createTypeormTipTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAsB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAsD,MAAM,MAAM,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE3C,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,eAAO,MAAM,uBAAuB,wCAAyC,4BAA4B;;;;CA8DxG,CAAC;AAEF,oBAAY,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTypeormTipTracker = void 0;
|
|
4
|
+
const entity_1 = require("./entity");
|
|
5
|
+
const core_1 = require("@cardano-sdk/core");
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const backoff_rxjs_1 = require("backoff-rxjs");
|
|
8
|
+
const isRecoverableTypeormError_1 = require("./isRecoverableTypeormError");
|
|
9
|
+
const createTypeormTipTracker = ({ connection$, reconnectionConfig }) => {
|
|
10
|
+
const retryBackoffConfig = {
|
|
11
|
+
...reconnectionConfig,
|
|
12
|
+
shouldRetry: isRecoverableTypeormError_1.isRecoverableTypeormError
|
|
13
|
+
};
|
|
14
|
+
const queryLocalTip$ = connection$.pipe((0, rxjs_1.switchMap)(({ queryRunner }) => {
|
|
15
|
+
const blockRepo = queryRunner.manager.getRepository(entity_1.BlockEntity);
|
|
16
|
+
return (0, rxjs_1.from)((async () => {
|
|
17
|
+
const tipQueryResult = await blockRepo.find({
|
|
18
|
+
order: { slot: 'DESC' },
|
|
19
|
+
take: 1
|
|
20
|
+
});
|
|
21
|
+
if (tipQueryResult.length === 0) {
|
|
22
|
+
return 'origin';
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
blockNo: tipQueryResult[0].height,
|
|
26
|
+
hash: tipQueryResult[0].hash,
|
|
27
|
+
slot: tipQueryResult[0].slot
|
|
28
|
+
};
|
|
29
|
+
})());
|
|
30
|
+
}), (0, rxjs_1.take)(1), (0, backoff_rxjs_1.retryBackoff)(retryBackoffConfig));
|
|
31
|
+
const tip$ = new rxjs_1.ReplaySubject(1);
|
|
32
|
+
const trackProjectedTip = () => (evt$) => evt$.pipe((0, rxjs_1.switchMap)((evt) => {
|
|
33
|
+
if (evt.eventType === core_1.ChainSyncEventType.RollForward) {
|
|
34
|
+
tip$.next(evt.block.header);
|
|
35
|
+
return (0, rxjs_1.of)(evt);
|
|
36
|
+
}
|
|
37
|
+
return queryLocalTip$.pipe((0, rxjs_1.tap)((tip) => tip$.next(tip)), (0, rxjs_1.map)(() => evt));
|
|
38
|
+
}));
|
|
39
|
+
return {
|
|
40
|
+
shutdown: tip$.complete.bind(tip$),
|
|
41
|
+
tip$: (() => {
|
|
42
|
+
let initialized = false;
|
|
43
|
+
return new rxjs_1.Observable((subscriber) => {
|
|
44
|
+
if (!initialized) {
|
|
45
|
+
queryLocalTip$.subscribe((next) => tip$.next(next));
|
|
46
|
+
initialized = true;
|
|
47
|
+
}
|
|
48
|
+
return tip$.subscribe(subscriber);
|
|
49
|
+
});
|
|
50
|
+
})(),
|
|
51
|
+
trackProjectedTip
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
exports.createTypeormTipTracker = createTypeormTipTracker;
|
|
55
|
+
//# sourceMappingURL=createTypeormTipTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTypeormTipTracker.js","sourceRoot":"","sources":["../../src/createTypeormTipTracker.ts"],"names":[],"mappings":";;;AACA,qCAAuC;AACvC,4CAAoE;AACpE,+BAAsF;AAEtF,+CAAgE;AAEhE,2EAAwE;AAQjE,MAAM,uBAAuB,GAAG,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAgC,EAAE,EAAE;IAC3G,MAAM,kBAAkB,GAAuB;QAC7C,GAAG,kBAAkB;QACrB,WAAW,EAAE,qDAAyB;KACvC,CAAC;IACF,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CACrC,IAAA,gBAAS,EAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;QAC5B,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAW,CAAC,CAAC;QACjE,OAAO,IAAA,WAAI,EACT,CAAC,KAAK,IAA0B,EAAE;YAIhC,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC;gBAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACvB,IAAI,EAAE,CAAC;aACR,CAAC,CAAC;YACH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,OAAO,QAAQ,CAAC;aACjB;YACD,OAAO;gBACL,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAO;gBAClC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAK;gBAC7B,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAK;aAC9B,CAAC;QACJ,CAAC,CAAC,EAAE,CACL,CAAC;IACJ,CAAC,CAAC,EACF,IAAA,WAAI,EAAC,CAAC,CAAC,EACP,IAAA,2BAAY,EAAC,kBAAkB,CAAC,CACjC,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,oBAAa,CAAc,CAAC,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GACrB,GAAkC,EAAE,CACpC,CAAC,IAAmB,EAAE,EAAE,CACtB,IAAI,CAAC,IAAI,CACP,IAAA,gBAAS,EAAC,CAAC,GAAG,EAAE,EAAE;QAChB,IAAI,GAAG,CAAC,SAAS,KAAK,yBAAkB,CAAC,WAAW,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO,IAAA,SAAE,EAAC,GAAG,CAAC,CAAC;SAChB;QACD,OAAO,cAAc,CAAC,IAAI,CACxB,IAAA,UAAG,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5B,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CACf,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACN,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,IAAI,EAAE,CAAC,GAAG,EAAE;YACV,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,OAAO,IAAI,iBAAU,CAAc,CAAC,UAAU,EAAE,EAAE;gBAChD,IAAI,CAAC,WAAW,EAAE;oBAEhB,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpD,WAAW,GAAG,IAAI,CAAC;iBACpB;gBACD,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,EAAE;QACJ,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC;AA9DW,QAAA,uBAAuB,2BA8DlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.entity.d.ts","sourceRoot":"","sources":["../../../src/entity/Address.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE3E,qBACa,aAAa;IAExB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAEjC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Address.entity.d.ts","sourceRoot":"","sources":["../../../src/entity/Address.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE3E,qBACa,aAAa;IAExB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAEjC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAI3B,qBAAqB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAIhD,mBAAmB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAI9C,YAAY,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Address.entity.js","sourceRoot":"","sources":["../../../src/entity/Address.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA4C;AAC5C,qCAAsF;AAEtF,+EAA2E;AAGpE,IAAM,aAAa,GAAnB,MAAM,aAAa;
|
|
1
|
+
{"version":3,"file":"Address.entity.js","sourceRoot":"","sources":["../../../src/entity/Address.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA4C;AAC5C,qCAAsF;AAEtF,+EAA2E;AAGpE,IAAM,aAAa,GAAnB,MAAM,aAAa;CAiBzB,CAAA;AAhBC;IAAC,IAAA,uBAAa,GAAE;;8CACiB;AACjC;IAAC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAO,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACzB;AAC3B;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAA,eAAK,GAAE;;4DAEwC;AAChD;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAA,eAAK,GAAE;;0DAEsC;AAC9C;IAAC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wDAA0B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACpF,IAAA,oBAAU,GAAE;;mDAEoC;AAhBtC,aAAa;IADzB,IAAA,gBAAM,GAAE;GACI,aAAa,CAiBzB;AAjBY,sCAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentPoolMetrics.entity.d.ts","sourceRoot":"","sources":["../../../src/entity/CurrentPoolMetrics.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBACa,wBAAwB;IAGnC,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;IAG7B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAInB,SAAS,CAAC,EAAE,eAAe,CAAC;IAG5B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAG/B,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAG7B,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAG9B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf"}
|
|
1
|
+
{"version":3,"file":"CurrentPoolMetrics.entity.d.ts","sourceRoot":"","sources":["../../../src/entity/CurrentPoolMetrics.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBACa,wBAAwB;IAGnC,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;IAG7B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAInB,SAAS,CAAC,EAAE,eAAe,CAAC;IAG5B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAG/B,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAG7B,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAG9B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf"}
|
|
@@ -23,7 +23,7 @@ __decorate([
|
|
|
23
23
|
__metadata("design:type", String)
|
|
24
24
|
], CurrentPoolMetricsEntity.prototype, "stakePoolId", void 0);
|
|
25
25
|
__decorate([
|
|
26
|
-
(0, typeorm_1.Column)(),
|
|
26
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
27
27
|
__metadata("design:type", Number)
|
|
28
28
|
], CurrentPoolMetricsEntity.prototype, "slot", void 0);
|
|
29
29
|
__decorate([
|
|
@@ -32,41 +32,45 @@ __decorate([
|
|
|
32
32
|
__metadata("design:type", StakePool_entity_1.StakePoolEntity)
|
|
33
33
|
], CurrentPoolMetricsEntity.prototype, "stakePool", void 0);
|
|
34
34
|
__decorate([
|
|
35
|
-
(0, typeorm_1.Column)({ type: 'integer' }),
|
|
35
|
+
(0, typeorm_1.Column)({ nullable: true, type: 'integer' }),
|
|
36
36
|
__metadata("design:type", Number)
|
|
37
37
|
], CurrentPoolMetricsEntity.prototype, "mintedBlocks", void 0);
|
|
38
38
|
__decorate([
|
|
39
|
-
(0, typeorm_1.Column)({ type: 'integer' }),
|
|
39
|
+
(0, typeorm_1.Column)({ nullable: true, type: 'integer' }),
|
|
40
40
|
__metadata("design:type", Number)
|
|
41
41
|
], CurrentPoolMetricsEntity.prototype, "liveDelegators", void 0);
|
|
42
42
|
__decorate([
|
|
43
|
-
(0, typeorm_1.Column)(util_1.BigIntColumnOptions),
|
|
43
|
+
(0, typeorm_1.Column)({ nullable: true, ...util_1.BigIntColumnOptions }),
|
|
44
44
|
__metadata("design:type", BigInt)
|
|
45
45
|
], CurrentPoolMetricsEntity.prototype, "activeStake", void 0);
|
|
46
46
|
__decorate([
|
|
47
|
-
(0, typeorm_1.Column)(util_1.BigIntColumnOptions),
|
|
47
|
+
(0, typeorm_1.Column)({ nullable: true, ...util_1.BigIntColumnOptions }),
|
|
48
48
|
__metadata("design:type", BigInt)
|
|
49
49
|
], CurrentPoolMetricsEntity.prototype, "liveStake", void 0);
|
|
50
50
|
__decorate([
|
|
51
|
-
(0, typeorm_1.Column)(util_1.BigIntColumnOptions),
|
|
51
|
+
(0, typeorm_1.Column)({ nullable: true, ...util_1.BigIntColumnOptions }),
|
|
52
52
|
__metadata("design:type", BigInt)
|
|
53
53
|
], CurrentPoolMetricsEntity.prototype, "livePledge", void 0);
|
|
54
54
|
__decorate([
|
|
55
|
-
(0, typeorm_1.Column)({ transformer: transformers_1.float, type: 'numeric' }),
|
|
55
|
+
(0, typeorm_1.Column)({ nullable: true, transformer: transformers_1.float, type: 'numeric' }),
|
|
56
56
|
__metadata("design:type", Number)
|
|
57
57
|
], CurrentPoolMetricsEntity.prototype, "liveSaturation", void 0);
|
|
58
58
|
__decorate([
|
|
59
|
-
(0, typeorm_1.Column)({ transformer: transformers_1.float, type: 'numeric' }),
|
|
59
|
+
(0, typeorm_1.Column)({ nullable: true, transformer: transformers_1.float, type: 'numeric' }),
|
|
60
60
|
__metadata("design:type", Number)
|
|
61
61
|
], CurrentPoolMetricsEntity.prototype, "activeSize", void 0);
|
|
62
62
|
__decorate([
|
|
63
|
-
(0, typeorm_1.Column)({ transformer: transformers_1.float, type: 'numeric' }),
|
|
63
|
+
(0, typeorm_1.Column)({ nullable: true, transformer: transformers_1.float, type: 'numeric' }),
|
|
64
64
|
__metadata("design:type", Number)
|
|
65
65
|
], CurrentPoolMetricsEntity.prototype, "liveSize", void 0);
|
|
66
66
|
__decorate([
|
|
67
|
-
(0, typeorm_1.Column)({ transformer: transformers_1.float, type: 'numeric' }),
|
|
67
|
+
(0, typeorm_1.Column)({ nullable: true, transformer: transformers_1.float, type: 'numeric' }),
|
|
68
68
|
__metadata("design:type", Number)
|
|
69
|
-
], CurrentPoolMetricsEntity.prototype, "
|
|
69
|
+
], CurrentPoolMetricsEntity.prototype, "lastRos", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, typeorm_1.Column)({ nullable: true, transformer: transformers_1.float, type: 'numeric' }),
|
|
72
|
+
__metadata("design:type", Number)
|
|
73
|
+
], CurrentPoolMetricsEntity.prototype, "ros", void 0);
|
|
70
74
|
CurrentPoolMetricsEntity = __decorate([
|
|
71
75
|
(0, typeorm_1.Entity)()
|
|
72
76
|
], CurrentPoolMetricsEntity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentPoolMetrics.entity.js","sourceRoot":"","sources":["../../../src/entity/CurrentPoolMetrics.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAA6E;AAC7E,4CAA4C;AAC5C,qCAA8E;AAC9E,4CAA4C;AAC5C,yDAAqD;AACrD,iDAAuC;AAGhC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;
|
|
1
|
+
{"version":3,"file":"CurrentPoolMetrics.entity.js","sourceRoot":"","sources":["../../../src/entity/CurrentPoolMetrics.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAA6E;AAC7E,4CAA4C;AAC5C,qCAA8E;AAC9E,4CAA4C;AAC5C,yDAAqD;AACrD,iDAAuC;AAGhC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;CAyCpC,CAAA;AAvCC;IAAC,IAAA,uBAAa,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6DACf;AAE7B;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACR;AAEnB;IAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,kCAAe,EAAE,qCAA8B,CAAC;IAC/D,IAAA,oBAAU,GAAE;8BACD,kCAAe;2DAAC;AAE5B;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;8DACtB;AAEtB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;gEACpB;AAExB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,0BAAmB,EAAE,CAAC;;6DACpB;AAE/B;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,0BAAmB,EAAE,CAAC;;2DACtB;AAE7B;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,0BAAmB,EAAE,CAAC;;4DACrB;AAE9B;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;gEACvC;AAEzB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;4DAC3C;AAErB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;0DAC7C;AAEnB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;yDAC9C;AAElB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;qDAClD;AAxCH,wBAAwB;IADpC,IAAA,gBAAM,GAAE;GACI,wBAAwB,CAyCpC;AAzCY,4DAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handle.entity.d.ts","sourceRoot":"","sources":["../../../src/entity/Handle.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGpD,qBACa,YAAY;IAEvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAG/C,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAE5B,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Handle.entity.d.ts","sourceRoot":"","sources":["../../../src/entity/Handle.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGpD,qBACa,YAAY;IAEvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAG/C,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAE5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG1C,2BAA2B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handle.entity.js","sourceRoot":"","sources":["../../../src/entity/Handle.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA6C;AAC7C,4CAAoD;AACpD,qCAA8E;AAGvE,IAAM,YAAY,GAAlB,MAAM,YAAY;
|
|
1
|
+
{"version":3,"file":"Handle.entity.js","sourceRoot":"","sources":["../../../src/entity/Handle.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA6C;AAC7C,4CAAoD;AACpD,qCAA8E;AAGvE,IAAM,YAAY,GAAlB,MAAM,YAAY;CAkBxB,CAAA;AAjBC;IAAC,IAAA,uBAAa,GAAE;;4CACA;AAChB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;oDACG;AAC/C;IAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,0BAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACpD,IAAA,oBAAU,GAAE;8BACL,0BAAW;2CAAC;AACpB;IAAC,IAAA,gBAAM,GAAE;;8CACmB;AAC5B;IAAC,IAAA,gBAAM,GAAE;;8CACU;AACnB;IAAC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DAEI;AAC1C;IAAC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iEAEM;AAjBjC,YAAY;IADxB,IAAA,gBAAM,GAAE;GACI,YAAY,CAkBxB;AAlBY,oCAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandleMetadata.entity.d.ts","sourceRoot":"","sources":["../../../src/entity/HandleMetadata.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBACa,oBAAoB;IAE/B,EAAE,CAAC,EAAE,MAAM,CAAC;IAGZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEpB,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;IAEnC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"HandleMetadata.entity.d.ts","sourceRoot":"","sources":["../../../src/entity/HandleMetadata.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBACa,oBAAoB;IAE/B,EAAE,CAAC,EAAE,MAAM,CAAC;IAGZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEpB,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;IAEnC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;IAInC,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandleMetadata.entity.js","sourceRoot":"","sources":["../../../src/entity/HandleMetadata.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iDAA6C;AAC7C,qCAA+F;AAC/F,iCAAwD;AACxD,mDAA+C;AAGxC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;
|
|
1
|
+
{"version":3,"file":"HandleMetadata.entity.js","sourceRoot":"","sources":["../../../src/entity/HandleMetadata.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iDAA6C;AAC7C,qCAA+F;AAC/F,iCAAwD;AACxD,mDAA+C;AAGxC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAqBhC,CAAA;AApBC;IAAC,IAAA,gCAAsB,GAAE;;gDACb;AACZ;IAAC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,SAAS,CAAC;;oDACF;AAChB;IAAC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAClB;AACpB;IAAC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACH;AACnC;IAAC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACH;AACnC;IAAC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4BAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,IAAA,oBAAU,GAAE;;oDAEgB;AAC7B;IAAC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACb;AACzB;IAAC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,0BAAW,EAAE,qCAA8B,CAAC;IAC5D,IAAA,oBAAU,GAAE;8BACL,0BAAW;mDAAC;AApBT,oBAAoB;IADhC,IAAA,gBAAM,GAAE;GACI,oBAAoB,CAqBhC;AArBY,oDAAoB"}
|