@cardano-sdk/projection-typeorm 0.2.2 → 0.3.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/entity/CurrentPoolMetrics.entity.d.ts +18 -0
- package/dist/cjs/entity/CurrentPoolMetrics.entity.d.ts.map +1 -0
- package/dist/cjs/entity/CurrentPoolMetrics.entity.js +74 -0
- package/dist/cjs/entity/CurrentPoolMetrics.entity.js.map +1 -0
- package/dist/cjs/entity/Handle.entity.d.ts +10 -0
- package/dist/cjs/entity/Handle.entity.d.ts.map +1 -0
- package/dist/cjs/entity/Handle.entity.js +43 -0
- package/dist/cjs/entity/Handle.entity.js.map +1 -0
- package/dist/cjs/entity/PoolMetadata.entity.js +1 -1
- package/dist/cjs/entity/PoolMetadata.entity.js.map +1 -1
- package/dist/cjs/entity/PoolRegistration.entity.d.ts +4 -1
- package/dist/cjs/entity/PoolRegistration.entity.d.ts.map +1 -1
- package/dist/cjs/entity/PoolRegistration.entity.js +6 -0
- package/dist/cjs/entity/PoolRegistration.entity.js.map +1 -1
- package/dist/cjs/entity/StakePool.entity.d.ts +2 -0
- package/dist/cjs/entity/StakePool.entity.d.ts.map +1 -1
- package/dist/cjs/entity/StakePool.entity.js +5 -0
- package/dist/cjs/entity/StakePool.entity.js.map +1 -1
- package/dist/cjs/entity/index.d.ts +2 -0
- package/dist/cjs/entity/index.d.ts.map +1 -1
- package/dist/cjs/entity/index.js +2 -0
- package/dist/cjs/entity/index.js.map +1 -1
- package/dist/cjs/entity/transformers.d.ts +1 -0
- package/dist/cjs/entity/transformers.d.ts.map +1 -1
- package/dist/cjs/entity/transformers.js +9 -1
- package/dist/cjs/entity/transformers.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/operators/index.d.ts +2 -0
- package/dist/cjs/operators/index.d.ts.map +1 -1
- package/dist/cjs/operators/index.js +2 -0
- package/dist/cjs/operators/index.js.map +1 -1
- package/dist/cjs/operators/storeAssets.d.ts +7 -1
- package/dist/cjs/operators/storeAssets.d.ts.map +1 -1
- package/dist/cjs/operators/storeAssets.js +41 -17
- package/dist/cjs/operators/storeAssets.js.map +1 -1
- package/dist/cjs/operators/storeHandles.d.ts +4 -0
- package/dist/cjs/operators/storeHandles.d.ts.map +1 -0
- package/dist/cjs/operators/storeHandles.js +85 -0
- package/dist/cjs/operators/storeHandles.js.map +1 -0
- package/dist/cjs/operators/storePoolMetricsUpdateJob.d.ts +3 -0
- package/dist/cjs/operators/storePoolMetricsUpdateJob.d.ts.map +1 -0
- package/dist/cjs/operators/storePoolMetricsUpdateJob.js +25 -0
- package/dist/cjs/operators/storePoolMetricsUpdateJob.js.map +1 -0
- package/dist/cjs/operators/storeStakeKeys.js +1 -1
- package/dist/cjs/operators/storeStakeKeys.js.map +1 -1
- package/dist/cjs/operators/util.d.ts +1 -1
- package/dist/cjs/operators/util.d.ts.map +1 -1
- package/dist/cjs/operators/util.js.map +1 -1
- package/dist/cjs/pgBoss.d.ts +4 -0
- package/dist/cjs/pgBoss.d.ts.map +1 -1
- package/dist/cjs/pgBoss.js +2 -1
- package/dist/cjs/pgBoss.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/entity/CurrentPoolMetrics.entity.d.ts +18 -0
- package/dist/esm/entity/CurrentPoolMetrics.entity.d.ts.map +1 -0
- package/dist/esm/entity/CurrentPoolMetrics.entity.js +71 -0
- package/dist/esm/entity/CurrentPoolMetrics.entity.js.map +1 -0
- package/dist/esm/entity/Handle.entity.d.ts +10 -0
- package/dist/esm/entity/Handle.entity.d.ts.map +1 -0
- package/dist/esm/entity/Handle.entity.js +40 -0
- package/dist/esm/entity/Handle.entity.js.map +1 -0
- package/dist/esm/entity/PoolMetadata.entity.js +1 -1
- package/dist/esm/entity/PoolMetadata.entity.js.map +1 -1
- package/dist/esm/entity/PoolRegistration.entity.d.ts +4 -1
- package/dist/esm/entity/PoolRegistration.entity.d.ts.map +1 -1
- package/dist/esm/entity/PoolRegistration.entity.js +7 -1
- package/dist/esm/entity/PoolRegistration.entity.js.map +1 -1
- package/dist/esm/entity/StakePool.entity.d.ts +2 -0
- package/dist/esm/entity/StakePool.entity.d.ts.map +1 -1
- package/dist/esm/entity/StakePool.entity.js +5 -0
- package/dist/esm/entity/StakePool.entity.js.map +1 -1
- package/dist/esm/entity/index.d.ts +2 -0
- package/dist/esm/entity/index.d.ts.map +1 -1
- package/dist/esm/entity/index.js +2 -0
- package/dist/esm/entity/index.js.map +1 -1
- package/dist/esm/entity/transformers.d.ts +1 -0
- package/dist/esm/entity/transformers.d.ts.map +1 -1
- package/dist/esm/entity/transformers.js +8 -0
- package/dist/esm/entity/transformers.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operators/index.d.ts +2 -0
- package/dist/esm/operators/index.d.ts.map +1 -1
- package/dist/esm/operators/index.js +2 -0
- package/dist/esm/operators/index.js.map +1 -1
- package/dist/esm/operators/storeAssets.d.ts +7 -1
- package/dist/esm/operators/storeAssets.d.ts.map +1 -1
- package/dist/esm/operators/storeAssets.js +40 -16
- package/dist/esm/operators/storeAssets.js.map +1 -1
- package/dist/esm/operators/storeHandles.d.ts +4 -0
- package/dist/esm/operators/storeHandles.d.ts.map +1 -0
- package/dist/esm/operators/storeHandles.js +82 -0
- package/dist/esm/operators/storeHandles.js.map +1 -0
- package/dist/esm/operators/storePoolMetricsUpdateJob.d.ts +3 -0
- package/dist/esm/operators/storePoolMetricsUpdateJob.d.ts.map +1 -0
- package/dist/esm/operators/storePoolMetricsUpdateJob.js +21 -0
- package/dist/esm/operators/storePoolMetricsUpdateJob.js.map +1 -0
- package/dist/esm/operators/storeStakeKeys.js +1 -1
- package/dist/esm/operators/storeStakeKeys.js.map +1 -1
- package/dist/esm/operators/util.d.ts +1 -1
- package/dist/esm/operators/util.d.ts.map +1 -1
- package/dist/esm/operators/util.js.map +1 -1
- package/dist/esm/pgBoss.d.ts +4 -0
- package/dist/esm/pgBoss.d.ts.map +1 -1
- package/dist/esm/pgBoss.js +1 -0
- package/dist/esm/pgBoss.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -17
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.storeHandles = void 0;
|
|
4
|
+
const entity_1 = require("../entity");
|
|
5
|
+
const core_1 = require("@cardano-sdk/core");
|
|
6
|
+
const util_1 = require("./util");
|
|
7
|
+
const getOwner = async (queryRunner, assetId) => {
|
|
8
|
+
const rows = await queryRunner.manager
|
|
9
|
+
.createQueryBuilder('tokens', 't')
|
|
10
|
+
.innerJoinAndSelect('output', 'o', 'o.id = t.output_id')
|
|
11
|
+
.select('address, o.datum')
|
|
12
|
+
.distinct()
|
|
13
|
+
.where('o.consumed_at_slot IS NULL')
|
|
14
|
+
.andWhere('t.asset_id = :assetId', { assetId })
|
|
15
|
+
.getRawMany();
|
|
16
|
+
if (rows.length !== 1)
|
|
17
|
+
return {
|
|
18
|
+
cardanoAddress: null,
|
|
19
|
+
hasDatum: false
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
cardanoAddress: rows[0].address,
|
|
23
|
+
hasDatum: !!rows[0].datum
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
const getSupply = async (queryRunner, assetId) => {
|
|
27
|
+
const asset = await queryRunner.manager
|
|
28
|
+
.getRepository(entity_1.AssetEntity)
|
|
29
|
+
.findOne({ select: { supply: true }, where: { id: assetId } });
|
|
30
|
+
if (!asset)
|
|
31
|
+
return 0n;
|
|
32
|
+
return asset.supply;
|
|
33
|
+
};
|
|
34
|
+
const rollForward = async ({ handles, queryRunner }) => {
|
|
35
|
+
const handleRepository = queryRunner.manager.getRepository(entity_1.HandleEntity);
|
|
36
|
+
for (const { assetId, handle, policyId, latestOwnerAddress, datum, totalSupply } of handles) {
|
|
37
|
+
if (totalSupply === 1n) {
|
|
38
|
+
const { cardanoAddress, hasDatum } = latestOwnerAddress
|
|
39
|
+
? { cardanoAddress: latestOwnerAddress, hasDatum: !!datum }
|
|
40
|
+
: await getOwner(queryRunner, assetId);
|
|
41
|
+
await handleRepository.upsert({
|
|
42
|
+
asset: assetId,
|
|
43
|
+
cardanoAddress,
|
|
44
|
+
handle,
|
|
45
|
+
hasDatum,
|
|
46
|
+
policyId
|
|
47
|
+
}, {
|
|
48
|
+
conflictPaths: {
|
|
49
|
+
handle: true
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
await handleRepository.update({ handle }, { cardanoAddress: null });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const rollBackward = async ({ handles, queryRunner }) => {
|
|
59
|
+
const handleRepository = queryRunner.manager.getRepository(entity_1.HandleEntity);
|
|
60
|
+
for (const { assetId, handle, totalSupply } of handles) {
|
|
61
|
+
const newOwnerAddressAndDatum = totalSupply === 1n ? await getOwner(queryRunner, assetId) : { cardanoAddress: null, hasDatum: false };
|
|
62
|
+
await handleRepository.update({ handle }, newOwnerAddressAndDatum);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const withTotalSupplies = (queryRunner, handles, mintedAssetTotalSupplies) => Promise.all(handles.map(async (handle) => ({
|
|
66
|
+
...handle,
|
|
67
|
+
totalSupply: mintedAssetTotalSupplies[handle.assetId] || (await getSupply(queryRunner, handle.assetId))
|
|
68
|
+
})));
|
|
69
|
+
exports.storeHandles = (0, util_1.typeormOperator)(async ({ mint, handles, queryRunner, eventType, block, mintedAssetTotalSupplies }) => {
|
|
70
|
+
const handleEventParams = {
|
|
71
|
+
block,
|
|
72
|
+
handles: await withTotalSupplies(queryRunner, handles, mintedAssetTotalSupplies),
|
|
73
|
+
mint,
|
|
74
|
+
queryRunner
|
|
75
|
+
};
|
|
76
|
+
try {
|
|
77
|
+
eventType === core_1.ChainSyncEventType.RollForward
|
|
78
|
+
? await rollForward(handleEventParams)
|
|
79
|
+
: await rollBackward(handleEventParams);
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
throw new Error(error.message);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=storeHandles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storeHandles.js","sourceRoot":"","sources":["../../../src/operators/storeHandles.ts"],"names":[],"mappings":";;;AAAA,sCAAsD;AACtD,4CAAgE;AAIhE,iCAAyC;AAWzC,MAAM,QAAQ,GAAG,KAAK,EACpB,WAAwB,EACxB,OAAe,EACyD,EAAE;IAC1E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO;SACnC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC;SACjC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,oBAAoB,CAAC;SACvD,MAAM,CAAC,kBAAkB,CAAC;SAC1B,QAAQ,EAAE;SACV,KAAK,CAAC,4BAA4B,CAAC;SACnC,QAAQ,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,CAAC;SAC9C,UAAU,EAAE,CAAC;IAChB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QACnB,OAAO;YACL,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;QAC/B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,EAAE,WAAwB,EAAE,OAAwB,EAAE,EAAE;IAC7E,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO;SACpC,aAAa,CAAC,oBAAW,CAAC;SAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,MAAO,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAqB,EAAE,EAAE;IACxE,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAY,CAAC,CAAC;IAEzE,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,OAAO,EAAE;QAC3F,IAAI,WAAW,KAAK,EAAE,EAAE;YAEtB,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,kBAAkB;gBACrD,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE;gBAC3D,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,gBAAgB,CAAC,MAAM,CAC3B;gBACE,KAAK,EAAE,OAAO;gBACd,cAAc;gBACd,MAAM;gBACN,QAAQ;gBACR,QAAQ;aACT,EACD;gBACE,aAAa,EAAE;oBACb,MAAM,EAAE,IAAI;iBACb;aACF,CACF,CAAC;SACH;aAAM;YAEL,MAAM,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;SACrE;KACF;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAqB,EAAE,EAAE;IACzE,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAY,CAAC,CAAC;IACzE,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,OAAO,EAAE;QACtD,MAAM,uBAAuB,GAC3B,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxG,MAAM,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC;KACpE;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,WAAwB,EACxB,OAAyB,EACzB,wBAA6E,EAC3C,EAAE,CACpC,OAAO,CAAC,GAAG,CACT,OAAO,CAAC,GAAG,CACT,KAAK,EAAE,MAAM,EAAkC,EAAE,CAAC,CAAC;IACjD,GAAG,MAAM;IACT,WAAW,EAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CACxG,CAAC,CACH,CACF,CAAC;AAES,QAAA,YAAY,GAAG,IAAA,sBAAe,EACzC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,EAAE;IACnF,MAAM,iBAAiB,GAAsB;QAC3C,KAAK;QACL,OAAO,EAAE,MAAM,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,wBAAwB,CAAC;QAChF,IAAI;QACJ,WAAW;KACZ,CAAC;IAEF,IAAI;QACF,SAAS,KAAK,yBAAkB,CAAC,WAAW;YAC1C,CAAC,CAAC,MAAM,WAAW,CAAC,iBAAiB,CAAC;YACtC,CAAC,CAAC,MAAM,YAAY,CAAC,iBAAiB,CAAC,CAAC;KAC3C;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;KAC3C;AACH,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { WithPgBoss } from './withTypeormTransaction';
|
|
2
|
+
export declare const createStorePoolMetricsUpdateJob: (jobFrequency?: number) => <SourceExtraRollForwardPropsIn extends import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & import("./withTypeormTransaction").WithTypeormContext & WithPgBoss, SourceExtraRollBackwardPropsIn extends import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & import("./withTypeormTransaction").WithTypeormContext & WithPgBoss & import("@cardano-sdk/projection").WithBlock>() => import("@cardano-sdk/projection").ExtChainSyncOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, {}, {}>;
|
|
3
|
+
//# sourceMappingURL=storePoolMetricsUpdateJob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storePoolMetricsUpdateJob.d.ts","sourceRoot":"","sources":["../../../src/operators/storePoolMetricsUpdateJob.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,eAAO,MAAM,+BAA+B,utBAoB3C,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStorePoolMetricsUpdateJob = void 0;
|
|
4
|
+
const core_1 = require("@cardano-sdk/core");
|
|
5
|
+
const pgBoss_1 = require("../pgBoss");
|
|
6
|
+
const util_1 = require("./util");
|
|
7
|
+
const createStorePoolMetricsUpdateJob = (jobFrequency = 1000) => {
|
|
8
|
+
let lastSentBlock;
|
|
9
|
+
let reachedTheTip = false;
|
|
10
|
+
return (0, util_1.typeormOperator)(async ({ eventType, pgBoss, block: { header }, tip }) => {
|
|
11
|
+
let insertFirstJob = false;
|
|
12
|
+
if (eventType === core_1.ChainSyncEventType.RollBackward)
|
|
13
|
+
return;
|
|
14
|
+
if (!reachedTheTip)
|
|
15
|
+
insertFirstJob = reachedTheTip = tip.slot === header.slot;
|
|
16
|
+
const { blockNo, slot } = header;
|
|
17
|
+
if (insertFirstJob || (blockNo % jobFrequency === 0 && blockNo !== lastSentBlock && reachedTheTip)) {
|
|
18
|
+
const task = { slot };
|
|
19
|
+
lastSentBlock = blockNo;
|
|
20
|
+
await pgBoss.send(pgBoss_1.STAKE_POOL_METRICS_UPDATE, task, { slot });
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
exports.createStorePoolMetricsUpdateJob = createStorePoolMetricsUpdateJob;
|
|
25
|
+
//# sourceMappingURL=storePoolMetricsUpdateJob.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storePoolMetricsUpdateJob.js","sourceRoot":"","sources":["../../../src/operators/storePoolMetricsUpdateJob.ts"],"names":[],"mappings":";;;AAAA,4CAAgE;AAChE,sCAAiF;AAEjF,iCAAyC;AAElC,MAAM,+BAA+B,GAAG,CAAC,YAAY,GAAG,IAAI,EAAE,EAAE;IAErE,IAAI,aAA0C,CAAC;IAC/C,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,OAAO,IAAA,sBAAe,EAAa,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACzF,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,IAAI,SAAS,KAAK,yBAAkB,CAAC,YAAY;YAAE,OAAO;QAC1D,IAAI,CAAC,aAAa;YAAE,cAAc,GAAG,aAAa,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;QAE9E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAEjC,IAAI,cAAc,IAAI,CAAC,OAAO,GAAG,YAAY,KAAK,CAAC,IAAI,OAAO,KAAK,aAAa,IAAI,aAAa,CAAC,EAAE;YAClG,MAAM,IAAI,GAA8B,EAAE,IAAI,EAAE,CAAC;YAEjD,aAAa,GAAG,OAAO,CAAC;YACxB,MAAM,MAAM,CAAC,IAAI,CAAC,kCAAyB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;SAC9D;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AApBW,QAAA,+BAA+B,mCAoB1C"}
|
|
@@ -7,6 +7,6 @@ exports.storeStakeKeys = (0, util_1.typeormOperator)(async ({ queryRunner, stake
|
|
|
7
7
|
const repository = queryRunner.manager.getRepository(StakeKey_entity_1.StakeKeyEntity);
|
|
8
8
|
const createAll = insert.length > 0 ? repository.insert(insert.map((hash) => ({ hash }))) : Promise.resolve();
|
|
9
9
|
const deleteAll = del.length > 0 ? repository.delete(del) : Promise.resolve();
|
|
10
|
-
|
|
10
|
+
await Promise.all([createAll, deleteAll]);
|
|
11
11
|
});
|
|
12
12
|
//# sourceMappingURL=storeStakeKeys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storeStakeKeys.js","sourceRoot":"","sources":["../../../src/operators/storeStakeKeys.ts"],"names":[],"mappings":";;;AACA,+DAA2D;AAC3D,iCAAyC;AAE5B,QAAA,cAAc,GAAG,IAAA,sBAAe,EAC3C,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;IACpD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC;IACrE,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;IAC9G,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;IAC9E,
|
|
1
|
+
{"version":3,"file":"storeStakeKeys.js","sourceRoot":"","sources":["../../../src/operators/storeStakeKeys.ts"],"names":[],"mappings":";;;AACA,+DAA2D;AAC3D,iCAAyC;AAE5B,QAAA,cAAc,GAAG,IAAA,sBAAe,EAC3C,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;IACpD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC;IACrE,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;IAC9G,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;IAC9E,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5C,CAAC,CACF,CAAC"}
|
|
@@ -3,5 +3,5 @@ import { WithTypeormContext } from './withTypeormTransaction';
|
|
|
3
3
|
export declare const certificatePointerToId: ({ slot, certIndex, txIndex }: Mappers.CertificatePointer) => bigint;
|
|
4
4
|
export declare const MaxCertificatePointerIdTxIndex = 99999;
|
|
5
5
|
export declare const MaxCertificatePointerIdCertificateIndex = 9999;
|
|
6
|
-
export declare const typeormOperator: <PropsIn = {}, PropsOut extends {} = {}>(op: (evt: ProjectionEvent<WithTypeormContext & PropsIn>) => Promise<void
|
|
6
|
+
export declare const typeormOperator: <PropsIn = {}, PropsOut extends {} = {}>(op: (evt: ProjectionEvent<WithTypeormContext & PropsIn>) => Promise<{} extends PropsOut ? void : PropsOut>) => <SourceExtraRollForwardPropsIn extends import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & PropsIn, SourceExtraRollBackwardPropsIn extends import("@cardano-sdk/projection").WithNetworkInfo & import("@cardano-sdk/projection").WithEpochNo & import("@cardano-sdk/projection").WithEpochBoundary & WithTypeormContext & PropsIn & import("@cardano-sdk/projection").WithBlock>() => import("@cardano-sdk/projection").ExtChainSyncOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, PropsOut, PropsOut>;
|
|
7
7
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/operators/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,eAAe,EAA4B,MAAM,yBAAyB,CAAC;AAClH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAO9D,eAAO,MAAM,sBAAsB,iCAAkC,QAAQ,kBAAkB,WACf,CAAC;AAEjF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAE5D,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/operators/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,eAAe,EAA4B,MAAM,yBAAyB,CAAC;AAClH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAO9D,eAAO,MAAM,sBAAsB,iCAAkC,QAAQ,kBAAkB,WACf,CAAC;AAEjF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAE5D,eAAO,MAAM,eAAe,oxBAKzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/operators/util.ts"],"names":[],"mappings":";;;AAAA,wDAAkH;AAElH,+BAA4B;AAMrB,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAA8B,EAAE,EAAE,CACjG,MAAM,CAAC,IAAI,CAAC,GAAG,YAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AADpE,QAAA,sBAAsB,0BAC8C;AAEpE,QAAA,8BAA8B,GAAG,KAAM,CAAC;AACxC,QAAA,uCAAuC,GAAG,IAAI,CAAC;AAErD,MAAM,eAAe,GAAG,CAC7B,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/operators/util.ts"],"names":[],"mappings":";;;AAAA,wDAAkH;AAElH,+BAA4B;AAMrB,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAA8B,EAAE,EAAE,CACjG,MAAM,CAAC,IAAI,CAAC,GAAG,YAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AADpE,QAAA,sBAAsB,0BAC8C;AAEpE,QAAA,8BAA8B,GAAG,KAAM,CAAC;AACxC,QAAA,uCAAuC,GAAG,IAAI,CAAC;AAErD,MAAM,eAAe,GAAG,CAC7B,EAA0G,EAC1G,EAAE,CACF,IAAA,qCAAwB,EAA+D,CAAC,GAAG,EAAE,EAAE,CAC7F,IAAA,WAAI,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAC3F,CAAC;AALS,QAAA,eAAe,mBAKxB"}
|
package/dist/cjs/pgBoss.d.ts
CHANGED
|
@@ -3,11 +3,15 @@ import { DataSource, QueryRunner } from 'typeorm';
|
|
|
3
3
|
import { Logger } from 'ts-log';
|
|
4
4
|
import PgBoss, { SendOptions } from 'pg-boss';
|
|
5
5
|
export declare const STAKE_POOL_METADATA_QUEUE = "pool-metadata";
|
|
6
|
+
export declare const STAKE_POOL_METRICS_UPDATE = "pool-metrics";
|
|
6
7
|
export interface PgBossExtension {
|
|
7
8
|
send: <T extends object>(taskName: string, data: T, options: SendOptions & {
|
|
8
9
|
slot: Cardano.Slot;
|
|
9
10
|
}) => Promise<string | null>;
|
|
10
11
|
}
|
|
12
|
+
export interface StakePoolMetricsUpdateJob {
|
|
13
|
+
slot: Cardano.Slot;
|
|
14
|
+
}
|
|
11
15
|
export interface StakePoolMetadataJob {
|
|
12
16
|
poolRegistrationId: string;
|
|
13
17
|
poolId: Cardano.PoolId;
|
package/dist/cjs/pgBoss.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/cjs/pgBoss.js
CHANGED
|
@@ -3,12 +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.createPgBossExtension = exports.createPgBoss = exports.STAKE_POOL_METADATA_QUEUE = void 0;
|
|
6
|
+
exports.createPgBossExtension = exports.createPgBoss = exports.STAKE_POOL_METRICS_UPDATE = exports.STAKE_POOL_METADATA_QUEUE = void 0;
|
|
7
7
|
const util_1 = require("@cardano-sdk/util");
|
|
8
8
|
const uuid_1 = require("uuid");
|
|
9
9
|
const attorney_1 = __importDefault(require("pg-boss/src/attorney"));
|
|
10
10
|
const pg_boss_1 = __importDefault(require("pg-boss"));
|
|
11
11
|
exports.STAKE_POOL_METADATA_QUEUE = 'pool-metadata';
|
|
12
|
+
exports.STAKE_POOL_METRICS_UPDATE = 'pool-metrics';
|
|
12
13
|
class BossDb {
|
|
13
14
|
constructor(queryRunner, logger, dataSource) {
|
|
14
15
|
this.queryRunner = queryRunner;
|
package/dist/cjs/pgBoss.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgBoss.js","sourceRoot":"","sources":["../../src/pgBoss.ts"],"names":[],"mappings":";;;;;;AAQA,4CAAkD;AAClD,+BAA0B;AAC1B,oEAA4C;AAC5C,sDAA8C;AAEjC,QAAA,yBAAyB,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"pgBoss.js","sourceRoot":"","sources":["../../src/pgBoss.ts"],"names":[],"mappings":"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"}
|