@subql/node-algorand 3.17.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/algorand/algorand.spec.js +1 -1
  4. package/dist/algorand/algorand.spec.js.map +1 -1
  5. package/dist/algorand/api.algorand.js +1 -1
  6. package/dist/algorand/api.algorand.js.map +1 -1
  7. package/dist/algorand/api.connection.js +1 -1
  8. package/dist/algorand/api.connection.js.map +1 -1
  9. package/dist/algorand/api.service.algorand.js +1 -1
  10. package/dist/algorand/api.service.algorand.js.map +1 -1
  11. package/dist/algorand/index.js +1 -1
  12. package/dist/algorand/index.js.map +1 -1
  13. package/dist/algorand/utils.algorand.js +2 -1
  14. package/dist/algorand/utils.algorand.js.map +1 -1
  15. package/dist/algorand/utils.algorand.spec.js +1 -1
  16. package/dist/algorand/utils.algorand.spec.js.map +1 -1
  17. package/dist/app.module.js +1 -1
  18. package/dist/app.module.js.map +1 -1
  19. package/dist/blockchain.service.d.ts +30 -0
  20. package/dist/blockchain.service.js +96 -0
  21. package/dist/blockchain.service.js.map +1 -0
  22. package/dist/configure/SubqueryProject.js +1 -1
  23. package/dist/configure/SubqueryProject.js.map +1 -1
  24. package/dist/configure/configure.module.js +1 -1
  25. package/dist/configure/configure.module.js.map +1 -1
  26. package/dist/indexer/api.service.spec.js +1 -1
  27. package/dist/indexer/api.service.spec.js.map +1 -1
  28. package/dist/indexer/dictionary/algorandDictionary.service.d.ts +1 -2
  29. package/dist/indexer/dictionary/algorandDictionary.service.js +2 -3
  30. package/dist/indexer/dictionary/algorandDictionary.service.js.map +1 -1
  31. package/dist/indexer/dictionary/index.js +1 -1
  32. package/dist/indexer/dictionary/index.js.map +1 -1
  33. package/dist/indexer/dictionary/v1/algorandDictionaryV1.d.ts +1 -2
  34. package/dist/indexer/dictionary/v1/algorandDictionaryV1.js +1 -1
  35. package/dist/indexer/dictionary/v1/algorandDictionaryV1.js.map +1 -1
  36. package/dist/indexer/dictionary/v1/algorandDictionaryV1.spec.js +1 -1
  37. package/dist/indexer/dictionary/v1/algorandDictionaryV1.spec.js.map +1 -1
  38. package/dist/indexer/dictionary/v1/index.js +1 -1
  39. package/dist/indexer/dictionary/v1/index.js.map +1 -1
  40. package/dist/indexer/fetch.module.js +31 -23
  41. package/dist/indexer/fetch.module.js.map +1 -1
  42. package/dist/indexer/indexer.manager.d.ts +3 -5
  43. package/dist/indexer/indexer.manager.js +14 -9
  44. package/dist/indexer/indexer.manager.js.map +1 -1
  45. package/dist/indexer/types.js +1 -1
  46. package/dist/indexer/types.js.map +1 -1
  47. package/dist/indexer/worker/worker-fetch.module.js +7 -14
  48. package/dist/indexer/worker/worker-fetch.module.js.map +1 -1
  49. package/dist/indexer/worker/worker.js +1 -1
  50. package/dist/indexer/worker/worker.js.map +1 -1
  51. package/dist/indexer/worker/worker.module.js +1 -2
  52. package/dist/indexer/worker/worker.module.js.map +1 -1
  53. package/dist/indexer/worker/worker.service.js +2 -1
  54. package/dist/indexer/worker/worker.service.js.map +1 -1
  55. package/dist/init.js +2 -3
  56. package/dist/init.js.map +1 -1
  57. package/dist/main.js +1 -1
  58. package/dist/main.js.map +1 -1
  59. package/dist/subcommands/forceClean.init.js +1 -1
  60. package/dist/subcommands/forceClean.init.js.map +1 -1
  61. package/dist/subcommands/forceClean.module.js +1 -1
  62. package/dist/subcommands/forceClean.module.js.map +1 -1
  63. package/dist/subcommands/forceClean.service.js +1 -1
  64. package/dist/subcommands/forceClean.service.js.map +1 -1
  65. package/dist/subcommands/reindex.init.js +1 -1
  66. package/dist/subcommands/reindex.init.js.map +1 -1
  67. package/dist/subcommands/reindex.module.js +20 -8
  68. package/dist/subcommands/reindex.module.js.map +1 -1
  69. package/dist/subcommands/testing.init.js +1 -1
  70. package/dist/subcommands/testing.init.js.map +1 -1
  71. package/dist/subcommands/testing.module.js +14 -28
  72. package/dist/subcommands/testing.module.js.map +1 -1
  73. package/dist/subcommands/testing.service.js +1 -3
  74. package/dist/subcommands/testing.service.js.map +1 -1
  75. package/dist/utils/project.js +1 -1
  76. package/dist/utils/project.js.map +1 -1
  77. package/dist/yargs.js +1 -1
  78. package/dist/yargs.js.map +1 -1
  79. package/package.json +9 -9
  80. package/dist/indexer/blockDispatcher/algorand-block-dispatcher.d.ts +0 -5
  81. package/dist/indexer/blockDispatcher/algorand-block-dispatcher.js +0 -5
  82. package/dist/indexer/blockDispatcher/algorand-block-dispatcher.js.map +0 -1
  83. package/dist/indexer/blockDispatcher/block-dispatcher.service.d.ts +0 -17
  84. package/dist/indexer/blockDispatcher/block-dispatcher.service.js +0 -55
  85. package/dist/indexer/blockDispatcher/block-dispatcher.service.js.map +0 -1
  86. package/dist/indexer/blockDispatcher/index.d.ts +0 -4
  87. package/dist/indexer/blockDispatcher/index.js +0 -10
  88. package/dist/indexer/blockDispatcher/index.js.map +0 -1
  89. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.d.ts +0 -18
  90. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js +0 -48
  91. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js.map +0 -1
  92. package/dist/indexer/ds-processor.service.d.ts +0 -11
  93. package/dist/indexer/ds-processor.service.js +0 -22
  94. package/dist/indexer/ds-processor.service.js.map +0 -1
  95. package/dist/indexer/dynamic-ds.service.d.ts +0 -9
  96. package/dist/indexer/dynamic-ds.service.js +0 -57
  97. package/dist/indexer/dynamic-ds.service.js.map +0 -1
  98. package/dist/indexer/fetch.service.d.ts +0 -22
  99. package/dist/indexer/fetch.service.js +0 -78
  100. package/dist/indexer/fetch.service.js.map +0 -1
  101. package/dist/indexer/project.service.d.ts +0 -16
  102. package/dist/indexer/project.service.js +0 -71
  103. package/dist/indexer/project.service.js.map +0 -1
  104. package/dist/indexer/unfinalizedBlocks.service.d.ts +0 -10
  105. package/dist/indexer/unfinalizedBlocks.service.js +0 -64
  106. package/dist/indexer/unfinalizedBlocks.service.js.map +0 -1
@@ -1,48 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9
- };
10
- var __metadata = (this && this.__metadata) || function (k, v) {
11
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
12
- };
13
- var __param = (this && this.__param) || function (paramIndex, decorator) {
14
- return function (target, key) { decorator(target, key, paramIndex); }
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.WorkerBlockDispatcherService = void 0;
21
- const path_1 = __importDefault(require("path"));
22
- const common_1 = require("@nestjs/common");
23
- const event_emitter_1 = require("@nestjs/event-emitter");
24
- const node_core_1 = require("@subql/node-core");
25
- const dynamic_ds_service_1 = require("../dynamic-ds.service");
26
- const unfinalizedBlocks_service_1 = require("../unfinalizedBlocks.service");
27
- let WorkerBlockDispatcherService = class WorkerBlockDispatcherService extends node_core_1.WorkerBlockDispatcher {
28
- constructor(nodeConfig, eventEmitter, projectService, projectUpgadeService, cacheService, storeService, storeModelProvider, poiSyncService, project, dynamicDsService, unfinalizedBlocksService, connectionPoolState, monitorService) {
29
- super(nodeConfig, eventEmitter, projectService, projectUpgadeService, storeService, storeModelProvider, poiSyncService, project, () => (0, node_core_1.createIndexerWorker)(path_1.default.resolve(__dirname, '../../../dist/indexer/worker/worker.js'), [], storeService.getStore(), cacheService.getCache(), dynamicDsService, unfinalizedBlocksService, connectionPoolState, project.root, projectService.startHeight, monitorService), monitorService);
30
- }
31
- async fetchBlock(worker, height) {
32
- return worker.fetchBlock(height, 0 /* Unused with algorand */);
33
- }
34
- };
35
- WorkerBlockDispatcherService = __decorate([
36
- (0, common_1.Injectable)(),
37
- __param(2, (0, common_1.Inject)('IProjectService')),
38
- __param(3, (0, common_1.Inject)('IProjectUpgradeService')),
39
- __param(6, (0, common_1.Inject)('IStoreModelProvider')),
40
- __param(8, (0, common_1.Inject)('ISubqueryProject')),
41
- __metadata("design:paramtypes", [node_core_1.NodeConfig,
42
- event_emitter_1.EventEmitter2, Object, Object, node_core_1.InMemoryCacheService,
43
- node_core_1.StoreService, Object, node_core_1.PoiSyncService, Object, dynamic_ds_service_1.DynamicDsService,
44
- unfinalizedBlocks_service_1.UnfinalizedBlocksService,
45
- node_core_1.ConnectionPoolStateManager, Object])
46
- ], WorkerBlockDispatcherService);
47
- exports.WorkerBlockDispatcherService = WorkerBlockDispatcherService;
48
- //# sourceMappingURL=worker-block-dispatcher.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-block-dispatcher.service.js","sourceRoot":"","sources":["../../../src/indexer/blockDispatcher/worker-block-dispatcher.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;;;;AAEnC,gDAAwB;AACxB,2CAA2E;AAC3E,yDAAsD;AACtD,gDAY0B;AAI1B,8DAAyD;AAEzD,4EAAwE;AASjE,IAAM,4BAA4B,GAAlC,MAAM,4BACX,SAAQ,iCAIP;IAGD,YACE,UAAsB,EACtB,YAA2B,EAE3B,cAAmD,EAEnD,oBAA4C,EAC5C,YAAkC,EAClC,YAA0B,EACK,kBAAuC,EACtE,cAA8B,EACF,OAAwB,EACpD,gBAAkC,EAClC,wBAAkD,EAClD,mBAAsE,EACtE,cAAwC;QAExC,KAAK,CACH,UAAU,EACV,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,GAAG,EAAE,CACH,IAAA,+BAAmB,EAMjB,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wCAAwC,CAAC,EACjE,EAAE,EACF,YAAY,CAAC,QAAQ,EAAE,EACvB,YAAY,CAAC,QAAQ,EAAE,EACvB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,OAAO,CAAC,IAAI,EACZ,cAAc,CAAC,WAAW,EAC1B,cAAc,CACf,EACH,cAAc,CACf,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,MAAqB,EACrB,MAAc;QAEd,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACjE,CAAC;CACF,CAAA;AA9DY,4BAA4B;IADxC,IAAA,mBAAU,GAAE;IAYR,WAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;IAEzB,WAAA,IAAA,eAAM,EAAC,wBAAwB,CAAC,CAAA;IAIhC,WAAA,IAAA,eAAM,EAAC,qBAAqB,CAAC,CAAA;IAE7B,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCAVf,sBAAU;QACR,6BAAa,kBAKb,gCAAoB;QACpB,wBAAY,UAEV,0BAAc,UAEZ,qCAAgB;QACR,oDAAwB;QAC7B,sCAA0B;GAtBtC,4BAA4B,CA8DxC;AA9DY,oEAA4B","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport path from 'path';\nimport { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport {\n NodeConfig,\n StoreService,\n PoiSyncService,\n IProjectService,\n WorkerBlockDispatcher,\n ConnectionPoolStateManager,\n IProjectUpgradeService,\n InMemoryCacheService,\n createIndexerWorker,\n MonitorServiceInterface,\n IStoreModelProvider,\n} from '@subql/node-core';\nimport { AlgorandBlock, AlgorandDataSource } from '@subql/types-algorand';\nimport { AlgorandApiConnection } from '../../algorand';\nimport { SubqueryProject } from '../../configure/SubqueryProject';\nimport { DynamicDsService } from '../dynamic-ds.service';\nimport { BlockContent } from '../types';\nimport { UnfinalizedBlocksService } from '../unfinalizedBlocks.service';\nimport { IIndexerWorker } from '../worker/worker';\nimport { FetchBlockResponse } from '../worker/worker.service';\n\ntype IndexerWorker = IIndexerWorker & {\n terminate: () => Promise<number>;\n};\n\n@Injectable()\nexport class WorkerBlockDispatcherService\n extends WorkerBlockDispatcher<\n AlgorandDataSource,\n IndexerWorker,\n AlgorandBlock\n >\n implements OnApplicationShutdown\n{\n constructor(\n nodeConfig: NodeConfig,\n eventEmitter: EventEmitter2,\n @Inject('IProjectService')\n projectService: IProjectService<AlgorandDataSource>,\n @Inject('IProjectUpgradeService')\n projectUpgadeService: IProjectUpgradeService,\n cacheService: InMemoryCacheService,\n storeService: StoreService,\n @Inject('IStoreModelProvider') storeModelProvider: IStoreModelProvider,\n poiSyncService: PoiSyncService,\n @Inject('ISubqueryProject') project: SubqueryProject,\n dynamicDsService: DynamicDsService,\n unfinalizedBlocksService: UnfinalizedBlocksService,\n connectionPoolState: ConnectionPoolStateManager<AlgorandApiConnection>,\n monitorService?: MonitorServiceInterface,\n ) {\n super(\n nodeConfig,\n eventEmitter,\n projectService,\n projectUpgadeService,\n storeService,\n storeModelProvider,\n poiSyncService,\n project,\n () =>\n createIndexerWorker<\n IIndexerWorker,\n AlgorandApiConnection,\n BlockContent,\n AlgorandDataSource\n >(\n path.resolve(__dirname, '../../../dist/indexer/worker/worker.js'),\n [],\n storeService.getStore(),\n cacheService.getCache(),\n dynamicDsService,\n unfinalizedBlocksService,\n connectionPoolState,\n project.root,\n projectService.startHeight,\n monitorService,\n ),\n monitorService,\n );\n }\n\n protected async fetchBlock(\n worker: IndexerWorker,\n height: number,\n ): Promise<FetchBlockResponse> {\n return worker.fetchBlock(height, 0 /* Unused with algorand */);\n }\n}\n"]}
@@ -1,11 +0,0 @@
1
- import { isCustomDs, AlgorandDataSource, AlgorandDataSourceProcessor } from '@subql/common-algorand';
2
- import { BaseDsProcessorService } from '@subql/node-core';
3
- import { AlgorandCustomDataSource } from '@subql/types-algorand';
4
- export interface DsPluginSandboxOption {
5
- root: string;
6
- entry: string;
7
- script: string;
8
- }
9
- export declare class DsProcessorService extends BaseDsProcessorService<AlgorandDataSource, AlgorandCustomDataSource<string>, AlgorandDataSourceProcessor<string>> {
10
- protected isCustomDs: typeof isCustomDs;
11
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9
- };
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.DsProcessorService = void 0;
12
- const common_1 = require("@nestjs/common");
13
- const common_algorand_1 = require("@subql/common-algorand");
14
- const node_core_1 = require("@subql/node-core");
15
- let DsProcessorService = class DsProcessorService extends node_core_1.BaseDsProcessorService {
16
- isCustomDs = common_algorand_1.isCustomDs;
17
- };
18
- DsProcessorService = __decorate([
19
- (0, common_1.Injectable)()
20
- ], DsProcessorService);
21
- exports.DsProcessorService = DsProcessorService;
22
- //# sourceMappingURL=ds-processor.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ds-processor.service.js","sourceRoot":"","sources":["../../src/indexer/ds-processor.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAA4C;AAC5C,4DAIgC;AAChC,gDAA0D;AAUnD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,kCAIvC;IACW,UAAU,GAAG,4BAAU,CAAC;CACnC,CAAA;AANY,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAM9B;AANY,gDAAkB","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Injectable } from '@nestjs/common';\nimport {\n isCustomDs,\n AlgorandDataSource,\n AlgorandDataSourceProcessor,\n} from '@subql/common-algorand';\nimport { BaseDsProcessorService } from '@subql/node-core';\nimport { AlgorandCustomDataSource } from '@subql/types-algorand';\n\nexport interface DsPluginSandboxOption {\n root: string;\n entry: string;\n script: string;\n}\n\n@Injectable()\nexport class DsProcessorService extends BaseDsProcessorService<\n AlgorandDataSource,\n AlgorandCustomDataSource<string>,\n AlgorandDataSourceProcessor<string>\n> {\n protected isCustomDs = isCustomDs;\n}\n"]}
@@ -1,9 +0,0 @@
1
- import { DatasourceParams, DynamicDsService as BaseDynamicDsService } from '@subql/node-core';
2
- import { AlgorandDataSource } from '@subql/types-algorand';
3
- import { SubqueryProject } from '../configure/SubqueryProject';
4
- import { DsProcessorService } from './ds-processor.service';
5
- export declare class DynamicDsService extends BaseDynamicDsService<AlgorandDataSource, SubqueryProject> {
6
- private readonly dsProcessorService;
7
- constructor(dsProcessorService: DsProcessorService, project: SubqueryProject);
8
- protected getDatasource(params: DatasourceParams): Promise<AlgorandDataSource>;
9
- }
@@ -1,57 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9
- };
10
- var __metadata = (this && this.__metadata) || function (k, v) {
11
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
12
- };
13
- var __param = (this && this.__param) || function (paramIndex, decorator) {
14
- return function (target, key) { decorator(target, key, paramIndex); }
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.DynamicDsService = void 0;
18
- const common_1 = require("@nestjs/common");
19
- const common_algorand_1 = require("@subql/common-algorand");
20
- const node_core_1 = require("@subql/node-core");
21
- const algosdk_1 = require("algosdk");
22
- const ds_processor_service_1 = require("./ds-processor.service");
23
- let DynamicDsService = class DynamicDsService extends node_core_1.DynamicDsService {
24
- dsProcessorService;
25
- constructor(dsProcessorService, project) {
26
- super(project);
27
- this.dsProcessorService = dsProcessorService;
28
- }
29
- async getDatasource(params) {
30
- const dsObj = this.getTemplate(params.templateName, params.startBlock);
31
- try {
32
- if ((0, common_algorand_1.isCustomDs)(dsObj)) {
33
- dsObj.processor.options = {
34
- ...dsObj.processor.options,
35
- ...params.args,
36
- };
37
- await this.dsProcessorService.validateCustomDs([dsObj]);
38
- }
39
- else if ((0, common_algorand_1.isRuntimeDs)(dsObj)) {
40
- dsObj.mapping.handlers.forEach((handler) => {
41
- handler.filter = { ...handler.filter, txType: algosdk_1.TransactionType.appl };
42
- });
43
- }
44
- return dsObj;
45
- }
46
- catch (e) {
47
- throw new Error(`Unable to create dynamic datasource.`, { cause: e });
48
- }
49
- }
50
- };
51
- DynamicDsService = __decorate([
52
- (0, common_1.Injectable)(),
53
- __param(1, (0, common_1.Inject)('ISubqueryProject')),
54
- __metadata("design:paramtypes", [ds_processor_service_1.DsProcessorService, Object])
55
- ], DynamicDsService);
56
- exports.DynamicDsService = DynamicDsService;
57
- //# sourceMappingURL=dynamic-ds.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-ds.service.js","sourceRoot":"","sources":["../../src/indexer/dynamic-ds.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAAoD;AACpD,4DAAiE;AACjE,gDAG0B;AAE1B,qCAA0C;AAE1C,iEAA4D;AAGrD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,4BAGrC;IAEoB;IADnB,YACmB,kBAAsC,EAC3B,OAAwB;QAEpD,KAAK,CAAC,OAAO,CAAC,CAAC;QAHE,uBAAkB,GAAlB,kBAAkB,CAAoB;IAIzD,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,MAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAC5B,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,UAAU,CAClB,CAAC;QACF,IAAI;YACF,IAAI,IAAA,4BAAU,EAAC,KAAK,CAAC,EAAE;gBACrB,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG;oBACxB,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO;oBAC1B,GAAG,MAAM,CAAC,IAAI;iBACf,CAAC;gBACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACzD;iBAAM,IAAI,IAAA,6BAAW,EAAC,KAAK,CAAC,EAAE;gBAC7B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACzC,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,yBAAe,CAAC,IAAI,EAAE,CAAC;gBACvE,CAAC,CAAC,CAAC;aACJ;YAED,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SACvE;IACH,CAAC;CACF,CAAA;AApCY,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAOR,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCADU,yCAAkB;GAL9C,gBAAgB,CAoC5B;AApCY,4CAAgB","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Inject, Injectable } from '@nestjs/common';\nimport { isCustomDs, isRuntimeDs } from '@subql/common-algorand';\nimport {\n DatasourceParams,\n DynamicDsService as BaseDynamicDsService,\n} from '@subql/node-core';\nimport { AlgorandDataSource } from '@subql/types-algorand';\nimport { TransactionType } from 'algosdk';\nimport { SubqueryProject } from '../configure/SubqueryProject';\nimport { DsProcessorService } from './ds-processor.service';\n\n@Injectable()\nexport class DynamicDsService extends BaseDynamicDsService<\n AlgorandDataSource,\n SubqueryProject\n> {\n constructor(\n private readonly dsProcessorService: DsProcessorService,\n @Inject('ISubqueryProject') project: SubqueryProject,\n ) {\n super(project);\n }\n\n protected async getDatasource(\n params: DatasourceParams,\n ): Promise<AlgorandDataSource> {\n const dsObj = this.getTemplate<AlgorandDataSource>(\n params.templateName,\n params.startBlock,\n );\n try {\n if (isCustomDs(dsObj)) {\n dsObj.processor.options = {\n ...dsObj.processor.options,\n ...params.args,\n };\n await this.dsProcessorService.validateCustomDs([dsObj]);\n } else if (isRuntimeDs(dsObj)) {\n dsObj.mapping.handlers.forEach((handler) => {\n handler.filter = { ...handler.filter, txType: TransactionType.appl };\n });\n }\n\n return dsObj;\n } catch (e) {\n throw new Error(`Unable to create dynamic datasource.`, { cause: e });\n }\n }\n}\n"]}
@@ -1,22 +0,0 @@
1
- import { EventEmitter2 } from '@nestjs/event-emitter';
2
- import { SchedulerRegistry } from '@nestjs/schedule';
3
- import { AlgorandDataSource } from '@subql/common-algorand';
4
- import { NodeConfig, BaseFetchService, Header, IStoreModelProvider } from '@subql/node-core';
5
- import { AlgorandBlock } from '@subql/types-algorand';
6
- import { AlgorandApi, AlgorandApiService } from '../algorand';
7
- import { IAlgorandBlockDispatcher } from './blockDispatcher';
8
- import { AlgorandDictionaryService } from './dictionary';
9
- import { ProjectService } from './project.service';
10
- import { UnfinalizedBlocksService } from './unfinalizedBlocks.service';
11
- export declare class FetchService extends BaseFetchService<AlgorandDataSource, IAlgorandBlockDispatcher, AlgorandBlock> {
12
- private apiService;
13
- constructor(apiService: AlgorandApiService, nodeConfig: NodeConfig, projectService: ProjectService, blockDispatcher: IAlgorandBlockDispatcher, dictionaryService: AlgorandDictionaryService, unfinalizedBlocksService: UnfinalizedBlocksService, eventEmitter: EventEmitter2, schedulerRegistry: SchedulerRegistry, storeModelProvider: IStoreModelProvider);
14
- get api(): AlgorandApi;
15
- protected getFinalizedHeader(): Promise<Header>;
16
- protected getBestHeight(): Promise<number>;
17
- protected getChainId(): Promise<string>;
18
- protected initBlockDispatcher(): Promise<void>;
19
- protected getChainInterval(): Promise<number>;
20
- protected getModulos(dataSources: AlgorandDataSource[]): number[];
21
- protected preLoopHook(): Promise<void>;
22
- }
@@ -1,78 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9
- };
10
- var __metadata = (this && this.__metadata) || function (k, v) {
11
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
12
- };
13
- var __param = (this && this.__param) || function (paramIndex, decorator) {
14
- return function (target, key) { decorator(target, key, paramIndex); }
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.FetchService = void 0;
18
- const common_1 = require("@nestjs/common");
19
- const event_emitter_1 = require("@nestjs/event-emitter");
20
- const schedule_1 = require("@nestjs/schedule");
21
- const common_algorand_1 = require("@subql/common-algorand");
22
- const node_core_1 = require("@subql/node-core");
23
- const algorand_1 = require("../algorand");
24
- const dictionary_1 = require("./dictionary");
25
- const project_service_1 = require("./project.service");
26
- const unfinalizedBlocks_service_1 = require("./unfinalizedBlocks.service");
27
- const BLOCK_TIME_VARIANCE = 5000; //ms
28
- const INTERVAL_PERCENT = 0.9;
29
- let FetchService = class FetchService extends node_core_1.BaseFetchService {
30
- apiService;
31
- constructor(apiService, nodeConfig, projectService, blockDispatcher, dictionaryService, unfinalizedBlocksService, eventEmitter, schedulerRegistry, storeModelProvider) {
32
- super(nodeConfig, projectService, blockDispatcher, dictionaryService, eventEmitter, schedulerRegistry, unfinalizedBlocksService, storeModelProvider);
33
- this.apiService = apiService;
34
- }
35
- get api() {
36
- return this.apiService.unsafeApi;
37
- }
38
- async getFinalizedHeader() {
39
- const block = await this.api.getLatestBlockHeader();
40
- return (0, algorand_1.algorandBlockToHeader)(block);
41
- }
42
- async getBestHeight() {
43
- const checkHealth = await this.api.api.makeHealthCheck().do();
44
- return checkHealth.round;
45
- }
46
- async getChainId() {
47
- return Promise.resolve(this.api.getGenesisHash());
48
- }
49
- async initBlockDispatcher() {
50
- await this.blockDispatcher.init(this.resetForNewDs.bind(this));
51
- }
52
- // eslint-disable-next-line @typescript-eslint/require-await
53
- async getChainInterval() {
54
- const chainInterval = (0, algorand_1.calcInterval)(this.api.api) * INTERVAL_PERCENT;
55
- return Math.min(BLOCK_TIME_VARIANCE, chainInterval);
56
- }
57
- getModulos(dataSources) {
58
- return (0, node_core_1.getModulos)(dataSources, common_algorand_1.isCustomDs, common_algorand_1.AlgorandHandlerKind.Block);
59
- }
60
- async preLoopHook() {
61
- // Algorand doesn't need to do anything here
62
- return Promise.resolve();
63
- }
64
- };
65
- FetchService = __decorate([
66
- (0, common_1.Injectable)(),
67
- __param(2, (0, common_1.Inject)('IProjectService')),
68
- __param(3, (0, common_1.Inject)('IBlockDispatcher')),
69
- __param(8, (0, common_1.Inject)('IStoreModelProvider')),
70
- __metadata("design:paramtypes", [algorand_1.AlgorandApiService,
71
- node_core_1.NodeConfig,
72
- project_service_1.ProjectService, Object, dictionary_1.AlgorandDictionaryService,
73
- unfinalizedBlocks_service_1.UnfinalizedBlocksService,
74
- event_emitter_1.EventEmitter2,
75
- schedule_1.SchedulerRegistry, Object])
76
- ], FetchService);
77
- exports.FetchService = FetchService;
78
- //# sourceMappingURL=fetch.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.service.js","sourceRoot":"","sources":["../../src/indexer/fetch.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAAoD;AACpD,yDAAsD;AACtD,+CAAqD;AACrD,4DAIgC;AAChC,gDAM0B;AAE1B,0CAKqB;AAErB,6CAAyD;AACzD,uDAAmD;AACnD,2EAAuE;AAEvE,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,IAAI;AAEtC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAGtB,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAIjC;IAEW;IADV,YACU,UAA8B,EACtC,UAAsB,EACK,cAA8B,EAEzD,eAAyC,EACzC,iBAA4C,EAC5C,wBAAkD,EAClD,YAA2B,EAC3B,iBAAoC,EACL,kBAAuC;QAEtE,KAAK,CACH,UAAU,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,CACnB,CAAC;QApBM,eAAU,GAAV,UAAU,CAAoB;IAqBxC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAES,KAAK,CAAC,kBAAkB;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACpD,OAAO,IAAA,gCAAqB,EAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,aAAa;QAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9D,OAAO,WAAW,CAAC,KAAK,CAAC;IAC3B,CAAC;IAES,KAAK,CAAC,UAAU;QACxB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IACpD,CAAC;IAES,KAAK,CAAC,mBAAmB;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,4DAA4D;IAClD,KAAK,CAAC,gBAAgB;QAC9B,MAAM,aAAa,GAAG,IAAA,uBAAY,EAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;QACpE,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IAES,UAAU,CAAC,WAAiC;QACpD,OAAO,IAAA,sBAAU,EAAC,WAAW,EAAE,4BAAU,EAAE,qCAAmB,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC;IACS,KAAK,CAAC,WAAW;QACzB,4CAA4C;QAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAhEY,YAAY;IADxB,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;IAM1B,WAAA,IAAA,eAAM,EAAC,qBAAqB,CAAC,CAAA;qCATV,6BAAkB;QAC1B,sBAAU;QACqB,gCAAc,UAGtC,sCAAyB;QAClB,oDAAwB;QACpC,6BAAa;QACR,4BAAiB;GAd3B,YAAY,CAgExB;AAhEY,oCAAY","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Inject, Injectable } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport { SchedulerRegistry } from '@nestjs/schedule';\nimport {\n isCustomDs,\n AlgorandHandlerKind,\n AlgorandDataSource,\n} from '@subql/common-algorand';\nimport {\n NodeConfig,\n BaseFetchService,\n getModulos,\n Header,\n IStoreModelProvider,\n} from '@subql/node-core';\nimport { AlgorandBlock } from '@subql/types-algorand';\nimport {\n AlgorandApi,\n AlgorandApiService,\n algorandBlockToHeader,\n calcInterval,\n} from '../algorand';\nimport { IAlgorandBlockDispatcher } from './blockDispatcher';\nimport { AlgorandDictionaryService } from './dictionary';\nimport { ProjectService } from './project.service';\nimport { UnfinalizedBlocksService } from './unfinalizedBlocks.service';\n\nconst BLOCK_TIME_VARIANCE = 5000; //ms\n\nconst INTERVAL_PERCENT = 0.9;\n\n@Injectable()\nexport class FetchService extends BaseFetchService<\n AlgorandDataSource,\n IAlgorandBlockDispatcher,\n AlgorandBlock\n> {\n constructor(\n private apiService: AlgorandApiService,\n nodeConfig: NodeConfig,\n @Inject('IProjectService') projectService: ProjectService,\n @Inject('IBlockDispatcher')\n blockDispatcher: IAlgorandBlockDispatcher,\n dictionaryService: AlgorandDictionaryService,\n unfinalizedBlocksService: UnfinalizedBlocksService,\n eventEmitter: EventEmitter2,\n schedulerRegistry: SchedulerRegistry,\n @Inject('IStoreModelProvider') storeModelProvider: IStoreModelProvider,\n ) {\n super(\n nodeConfig,\n projectService,\n blockDispatcher,\n dictionaryService,\n eventEmitter,\n schedulerRegistry,\n unfinalizedBlocksService,\n storeModelProvider,\n );\n }\n\n get api(): AlgorandApi {\n return this.apiService.unsafeApi;\n }\n\n protected async getFinalizedHeader(): Promise<Header> {\n const block = await this.api.getLatestBlockHeader();\n return algorandBlockToHeader(block);\n }\n\n protected async getBestHeight(): Promise<number> {\n const checkHealth = await this.api.api.makeHealthCheck().do();\n return checkHealth.round;\n }\n\n protected async getChainId(): Promise<string> {\n return Promise.resolve(this.api.getGenesisHash());\n }\n\n protected async initBlockDispatcher(): Promise<void> {\n await this.blockDispatcher.init(this.resetForNewDs.bind(this));\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n protected async getChainInterval(): Promise<number> {\n const chainInterval = calcInterval(this.api.api) * INTERVAL_PERCENT;\n return Math.min(BLOCK_TIME_VARIANCE, chainInterval);\n }\n\n protected getModulos(dataSources: AlgorandDataSource[]): number[] {\n return getModulos(dataSources, isCustomDs, AlgorandHandlerKind.Block);\n }\n protected async preLoopHook(): Promise<void> {\n // Algorand doesn't need to do anything here\n return Promise.resolve();\n }\n}\n"]}
@@ -1,16 +0,0 @@
1
- import { EventEmitter2 } from '@nestjs/event-emitter';
2
- import { PoiService, PoiSyncService, BaseProjectService, StoreService, NodeConfig, IProjectUpgradeService } from '@subql/node-core';
3
- import { AlgorandDataSource } from '@subql/types-algorand';
4
- import { Sequelize } from '@subql/x-sequelize';
5
- import { AlgorandApiService } from '../algorand';
6
- import { SubqueryProject } from '../configure/SubqueryProject';
7
- import { DsProcessorService } from './ds-processor.service';
8
- import { DynamicDsService } from './dynamic-ds.service';
9
- import { UnfinalizedBlocksService } from './unfinalizedBlocks.service';
10
- export declare class ProjectService extends BaseProjectService<AlgorandApiService, AlgorandDataSource> {
11
- protected packageVersion: any;
12
- constructor(dsProcessorService: DsProcessorService, apiService: AlgorandApiService, poiService: PoiService, poiSyncService: PoiSyncService, sequelize: Sequelize, project: SubqueryProject, projectUpgradeService: IProjectUpgradeService<SubqueryProject>, storeService: StoreService, nodeConfig: NodeConfig, dynamicDsService: DynamicDsService, eventEmitter: EventEmitter2, unfinalizedBlocksService: UnfinalizedBlocksService);
13
- init(startHeight?: number): Promise<void>;
14
- protected getBlockTimestamp(height: number): Promise<Date>;
15
- protected onProjectChange(project: SubqueryProject): void | Promise<void>;
16
- }
@@ -1,71 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9
- };
10
- var __metadata = (this && this.__metadata) || function (k, v) {
11
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
12
- };
13
- var __param = (this && this.__param) || function (paramIndex, decorator) {
14
- return function (target, key) { decorator(target, key, paramIndex); }
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ProjectService = void 0;
18
- const worker_threads_1 = require("worker_threads");
19
- const common_1 = require("@nestjs/common");
20
- const event_emitter_1 = require("@nestjs/event-emitter");
21
- const node_core_1 = require("@subql/node-core");
22
- const x_sequelize_1 = require("@subql/x-sequelize");
23
- const algorand_1 = require("../algorand");
24
- const ds_processor_service_1 = require("./ds-processor.service");
25
- const dynamic_ds_service_1 = require("./dynamic-ds.service");
26
- const unfinalizedBlocks_service_1 = require("./unfinalizedBlocks.service");
27
- // eslint-disable-next-line @typescript-eslint/no-var-requires
28
- const { version: packageVersion } = require('../../package.json');
29
- let ProjectService = class ProjectService extends node_core_1.BaseProjectService {
30
- packageVersion = packageVersion;
31
- constructor(dsProcessorService, apiService, poiService, poiSyncService, sequelize, project, projectUpgradeService, storeService, nodeConfig, dynamicDsService, eventEmitter, unfinalizedBlocksService) {
32
- super(dsProcessorService, apiService, poiService, poiSyncService, sequelize, project, projectUpgradeService, storeService, nodeConfig, dynamicDsService, eventEmitter, unfinalizedBlocksService);
33
- }
34
- async init(startHeight) {
35
- return super.init(startHeight);
36
- }
37
- async getBlockTimestamp(height) {
38
- const block = await this.apiService.api.getBlockByHeight(height);
39
- return new Date(block.timestamp);
40
- }
41
- onProjectChange(project) {
42
- // TODO update this when implementing skipBlock feature for Eth
43
- // this.apiService.updateBlockFetching();
44
- }
45
- };
46
- __decorate([
47
- (0, node_core_1.profiler)(),
48
- __metadata("design:type", Function),
49
- __metadata("design:paramtypes", [Number]),
50
- __metadata("design:returntype", Promise)
51
- ], ProjectService.prototype, "init", null);
52
- ProjectService = __decorate([
53
- (0, common_1.Injectable)(),
54
- __param(2, (0, common_1.Inject)(worker_threads_1.isMainThread ? node_core_1.PoiService : 'Null')),
55
- __param(3, (0, common_1.Inject)(worker_threads_1.isMainThread ? node_core_1.PoiSyncService : 'Null')),
56
- __param(4, (0, common_1.Inject)(worker_threads_1.isMainThread ? x_sequelize_1.Sequelize : 'Null')),
57
- __param(5, (0, common_1.Inject)('ISubqueryProject')),
58
- __param(6, (0, common_1.Inject)('IProjectUpgradeService')),
59
- __param(7, (0, common_1.Inject)(worker_threads_1.isMainThread ? node_core_1.StoreService : 'Null')),
60
- __metadata("design:paramtypes", [ds_processor_service_1.DsProcessorService,
61
- algorand_1.AlgorandApiService,
62
- node_core_1.PoiService,
63
- node_core_1.PoiSyncService,
64
- x_sequelize_1.Sequelize, Object, Object, node_core_1.StoreService,
65
- node_core_1.NodeConfig,
66
- dynamic_ds_service_1.DynamicDsService,
67
- event_emitter_1.EventEmitter2,
68
- unfinalizedBlocks_service_1.UnfinalizedBlocksService])
69
- ], ProjectService);
70
- exports.ProjectService = ProjectService;
71
- //# sourceMappingURL=project.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.service.js","sourceRoot":"","sources":["../../src/indexer/project.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,mDAA8C;AAC9C,2CAAoD;AACpD,yDAAsD;AACtD,gDAQ0B;AAE1B,oDAA+C;AAC/C,0CAAiD;AAEjD,iEAA4D;AAC5D,6DAAwD;AACxD,2EAAuE;AAEvE,8DAA8D;AAC9D,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAG3D,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,8BAGnC;IACW,cAAc,GAAG,cAAc,CAAC;IAE1C,YACE,kBAAsC,EACtC,UAA8B,EACc,UAAsB,EAElE,cAA8B,EACa,SAAoB,EACnC,OAAwB,EAEpD,qBAA8D,EAChB,YAA0B,EACxE,UAAsB,EACtB,gBAAkC,EAClC,YAA2B,EAC3B,wBAAkD;QAElD,KAAK,CACH,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,wBAAwB,CACzB,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAC,WAAoB;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEjE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAES,eAAe,CAAC,OAAwB;QAChD,+DAA+D;QAC/D,yCAAyC;IAC3C,CAAC;CACF,CAAA;AAdO;IADL,IAAA,oBAAQ,GAAE;;;;0CAGV;AAzCU,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC1C,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAC,CAAC,0BAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE9C,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAC,CAAC,uBAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACzC,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;IAC1B,WAAA,IAAA,eAAM,EAAC,wBAAwB,CAAC,CAAA;IAEhC,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAC,CAAC,wBAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;qCATzB,yCAAkB;QAC1B,6BAAkB;QAC0B,sBAAU;QAElD,0BAAc;QACwB,uBAAS,kBAIH,wBAAY;QAC5D,sBAAU;QACJ,qCAAgB;QACpB,6BAAa;QACD,oDAAwB;GApBzC,cAAc,CAqD1B;AArDY,wCAAc","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { isMainThread } from 'worker_threads';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport {\n PoiService,\n PoiSyncService,\n BaseProjectService,\n StoreService,\n NodeConfig,\n IProjectUpgradeService,\n profiler,\n} from '@subql/node-core';\nimport { AlgorandDataSource } from '@subql/types-algorand';\nimport { Sequelize } from '@subql/x-sequelize';\nimport { AlgorandApiService } from '../algorand';\nimport { SubqueryProject } from '../configure/SubqueryProject';\nimport { DsProcessorService } from './ds-processor.service';\nimport { DynamicDsService } from './dynamic-ds.service';\nimport { UnfinalizedBlocksService } from './unfinalizedBlocks.service';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst { version: packageVersion } = require('../../package.json');\n\n@Injectable()\nexport class ProjectService extends BaseProjectService<\n AlgorandApiService,\n AlgorandDataSource\n> {\n protected packageVersion = packageVersion;\n\n constructor(\n dsProcessorService: DsProcessorService,\n apiService: AlgorandApiService,\n @Inject(isMainThread ? PoiService : 'Null') poiService: PoiService,\n @Inject(isMainThread ? PoiSyncService : 'Null')\n poiSyncService: PoiSyncService,\n @Inject(isMainThread ? Sequelize : 'Null') sequelize: Sequelize,\n @Inject('ISubqueryProject') project: SubqueryProject,\n @Inject('IProjectUpgradeService')\n projectUpgradeService: IProjectUpgradeService<SubqueryProject>,\n @Inject(isMainThread ? StoreService : 'Null') storeService: StoreService,\n nodeConfig: NodeConfig,\n dynamicDsService: DynamicDsService,\n eventEmitter: EventEmitter2,\n unfinalizedBlocksService: UnfinalizedBlocksService,\n ) {\n super(\n dsProcessorService,\n apiService,\n poiService,\n poiSyncService,\n sequelize,\n project,\n projectUpgradeService,\n storeService,\n nodeConfig,\n dynamicDsService,\n eventEmitter,\n unfinalizedBlocksService,\n );\n }\n\n @profiler()\n async init(startHeight?: number): Promise<void> {\n return super.init(startHeight);\n }\n\n protected async getBlockTimestamp(height: number): Promise<Date> {\n const block = await this.apiService.api.getBlockByHeight(height);\n\n return new Date(block.timestamp);\n }\n\n protected onProjectChange(project: SubqueryProject): void | Promise<void> {\n // TODO update this when implementing skipBlock feature for Eth\n // this.apiService.updateBlockFetching();\n }\n}\n"]}
@@ -1,10 +0,0 @@
1
- import { BaseUnfinalizedBlocksService, Header, NodeConfig, IStoreModelProvider } from '@subql/node-core';
2
- import { AlgorandApiService } from '../algorand';
3
- import { BlockContent } from './types';
4
- export declare class UnfinalizedBlocksService extends BaseUnfinalizedBlocksService<BlockContent> {
5
- private readonly apiService;
6
- constructor(apiService: AlgorandApiService, nodeConfig: NodeConfig, storeModelProvider: IStoreModelProvider);
7
- protected getFinalizedHead(): Promise<Header>;
8
- protected getHeaderForHash(hash: string): Promise<Header>;
9
- getHeaderForHeight(height: number): Promise<Header>;
10
- }
@@ -1,64 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9
- };
10
- var __metadata = (this && this.__metadata) || function (k, v) {
11
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
12
- };
13
- var __param = (this && this.__param) || function (paramIndex, decorator) {
14
- return function (target, key) { decorator(target, key, paramIndex); }
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.UnfinalizedBlocksService = void 0;
18
- const common_1 = require("@nestjs/common");
19
- const node_core_1 = require("@subql/node-core");
20
- const algorand_1 = require("../algorand");
21
- let UnfinalizedBlocksService = class UnfinalizedBlocksService extends node_core_1.BaseUnfinalizedBlocksService {
22
- apiService;
23
- constructor(apiService, nodeConfig, storeModelProvider) {
24
- super(nodeConfig, storeModelProvider);
25
- this.apiService = apiService;
26
- }
27
- async getFinalizedHead() {
28
- const checkHealth = await this.apiService.api.api.makeHealthCheck().do();
29
- const latestHeight = checkHealth.round;
30
- return this.getHeaderForHeight(latestHeight);
31
- }
32
- async getHeaderForHash(hash) {
33
- return this.getHeaderForHeight(parseInt(hash, 10));
34
- }
35
- async getHeaderForHeight(height) {
36
- return (0, algorand_1.algorandBlockToHeader)(await this.apiService.api.getHeaderOnly(height));
37
- }
38
- };
39
- __decorate([
40
- (0, node_core_1.mainThreadOnly)(),
41
- __metadata("design:type", Function),
42
- __metadata("design:paramtypes", []),
43
- __metadata("design:returntype", Promise)
44
- ], UnfinalizedBlocksService.prototype, "getFinalizedHead", null);
45
- __decorate([
46
- (0, node_core_1.mainThreadOnly)(),
47
- __metadata("design:type", Function),
48
- __metadata("design:paramtypes", [String]),
49
- __metadata("design:returntype", Promise)
50
- ], UnfinalizedBlocksService.prototype, "getHeaderForHash", null);
51
- __decorate([
52
- (0, node_core_1.mainThreadOnly)(),
53
- __metadata("design:type", Function),
54
- __metadata("design:paramtypes", [Number]),
55
- __metadata("design:returntype", Promise)
56
- ], UnfinalizedBlocksService.prototype, "getHeaderForHeight", null);
57
- UnfinalizedBlocksService = __decorate([
58
- (0, common_1.Injectable)(),
59
- __param(2, (0, common_1.Inject)('IStoreModelProvider')),
60
- __metadata("design:paramtypes", [algorand_1.AlgorandApiService,
61
- node_core_1.NodeConfig, Object])
62
- ], UnfinalizedBlocksService);
63
- exports.UnfinalizedBlocksService = UnfinalizedBlocksService;
64
- //# sourceMappingURL=unfinalizedBlocks.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unfinalizedBlocks.service.js","sourceRoot":"","sources":["../../src/indexer/unfinalizedBlocks.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAAoD;AACpD,gDAM0B;AAC1B,0CAAwE;AAIjE,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,wCAA0C;IAEnE;IADnB,YACmB,UAA8B,EAC/C,UAAsB,EACS,kBAAuC;QAEtE,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAJrB,eAAU,GAAV,UAAU,CAAoB;IAKjD,CAAC;IAGe,AAAN,KAAK,CAAC,gBAAgB;QAC9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QACzE,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;QACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAGe,AAAN,KAAK,CAAC,gBAAgB,CAAC,IAAY;QAC3C,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,OAAO,IAAA,gCAAqB,EAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAChD,CAAC;IACJ,CAAC;CACF,CAAA;AAjBiB;IADf,IAAA,0BAAc,GAAE;;;;gEAKhB;AAGe;IADf,IAAA,0BAAc,GAAE;;;;gEAGhB;AAGK;IADL,IAAA,0BAAc,GAAE;;;;kEAKhB;AA1BU,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,qBAAqB,CAAC,CAAA;qCAFD,6BAAkB;QACnC,sBAAU;GAHb,wBAAwB,CA2BpC;AA3BY,4DAAwB","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Inject, Injectable } from '@nestjs/common';\nimport {\n BaseUnfinalizedBlocksService,\n Header,\n NodeConfig,\n IStoreModelProvider,\n mainThreadOnly,\n} from '@subql/node-core';\nimport { AlgorandApiService, algorandBlockToHeader } from '../algorand';\nimport { BlockContent } from './types';\n\n@Injectable()\nexport class UnfinalizedBlocksService extends BaseUnfinalizedBlocksService<BlockContent> {\n constructor(\n private readonly apiService: AlgorandApiService,\n nodeConfig: NodeConfig,\n @Inject('IStoreModelProvider') storeModelProvider: IStoreModelProvider,\n ) {\n super(nodeConfig, storeModelProvider);\n }\n\n @mainThreadOnly()\n protected async getFinalizedHead(): Promise<Header> {\n const checkHealth = await this.apiService.api.api.makeHealthCheck().do();\n const latestHeight = checkHealth.round;\n return this.getHeaderForHeight(latestHeight);\n }\n\n @mainThreadOnly()\n protected async getHeaderForHash(hash: string): Promise<Header> {\n return this.getHeaderForHeight(parseInt(hash, 10));\n }\n\n @mainThreadOnly()\n async getHeaderForHeight(height: number): Promise<Header> {\n return algorandBlockToHeader(\n await this.apiService.api.getHeaderOnly(height),\n );\n }\n}\n"]}