@subql/node-ethereum 5.1.2 → 5.1.3

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 (101) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/app.module.js +2 -2
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/configure/SubqueryProject.js +1 -2
  6. package/dist/configure/SubqueryProject.js.map +1 -1
  7. package/dist/configure/configure.module.js +2 -2
  8. package/dist/configure/configure.module.js.map +1 -1
  9. package/dist/ethereum/api.connection.js.map +1 -1
  10. package/dist/ethereum/api.ethereum.js.map +1 -1
  11. package/dist/ethereum/api.ethereum.test.js.map +1 -1
  12. package/dist/ethereum/api.service.ethereum.js +2 -2
  13. package/dist/ethereum/api.service.ethereum.js.map +1 -1
  14. package/dist/ethereum/api.service.ethereum.test.js +1 -1
  15. package/dist/ethereum/api.service.ethereum.test.js.map +1 -1
  16. package/dist/ethereum/block.ethereum.js +4 -5
  17. package/dist/ethereum/block.ethereum.js.map +1 -1
  18. package/dist/ethereum/ethers/celo/celo-provider.d.ts +69 -70
  19. package/dist/ethereum/ethers/json-rpc-batch-provider.d.ts +0 -1
  20. package/dist/ethereum/ethers/json-rpc-batch-provider.js.map +1 -1
  21. package/dist/ethereum/ethers/json-rpc-batch-provider.spec.js.map +1 -1
  22. package/dist/ethereum/ethers/json-rpc-provider.js.map +1 -1
  23. package/dist/ethereum/ethers/op/op-provider.d.ts +92 -93
  24. package/dist/ethereum/ethers/op/op-provider.js +2 -2
  25. package/dist/ethereum/ethers/op/op-provider.js.map +1 -1
  26. package/dist/ethereum/ethers/web/geturl.js +1 -2
  27. package/dist/ethereum/ethers/web/geturl.js.map +1 -1
  28. package/dist/ethereum/ethers/web/index.d.ts +0 -2
  29. package/dist/ethereum/ethers/web/index.js +3 -4
  30. package/dist/ethereum/ethers/web/index.js.map +1 -1
  31. package/dist/ethereum/ethers/web/types.d.ts +0 -2
  32. package/dist/ethereum/safe-api.js.map +1 -1
  33. package/dist/ethereum/utils.ethereum.js +9 -10
  34. package/dist/ethereum/utils.ethereum.js.map +1 -1
  35. package/dist/indexer/blockDispatcher/block-dispatcher.service.js +2 -2
  36. package/dist/indexer/blockDispatcher/block-dispatcher.service.js.map +1 -1
  37. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js +2 -2
  38. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js.map +1 -1
  39. package/dist/indexer/dictionary/ethDictionary.service.js +2 -2
  40. package/dist/indexer/dictionary/ethDictionary.service.js.map +1 -1
  41. package/dist/indexer/dictionary/utils.d.ts +4 -3
  42. package/dist/indexer/dictionary/utils.js +17 -19
  43. package/dist/indexer/dictionary/utils.js.map +1 -1
  44. package/dist/indexer/dictionary/utils.spec.js +24 -6
  45. package/dist/indexer/dictionary/utils.spec.js.map +1 -1
  46. package/dist/indexer/dictionary/v1/ethDictionaryV1.d.ts +4 -8
  47. package/dist/indexer/dictionary/v1/ethDictionaryV1.js +64 -68
  48. package/dist/indexer/dictionary/v1/ethDictionaryV1.js.map +1 -1
  49. package/dist/indexer/dictionary/v1/ethDictionaryV1.spec.js +64 -12
  50. package/dist/indexer/dictionary/v1/ethDictionaryV1.spec.js.map +1 -1
  51. package/dist/indexer/dictionary/v2/ethDictionaryV2.d.ts +1 -2
  52. package/dist/indexer/dictionary/v2/ethDictionaryV2.js +48 -69
  53. package/dist/indexer/dictionary/v2/ethDictionaryV2.js.map +1 -1
  54. package/dist/indexer/dictionary/v2/ethDictionaryV2.spec.js +39 -3
  55. package/dist/indexer/dictionary/v2/ethDictionaryV2.spec.js.map +1 -1
  56. package/dist/indexer/dictionary/v2/utils.js +1 -2
  57. package/dist/indexer/dictionary/v2/utils.js.map +1 -1
  58. package/dist/indexer/dictionary/v2/utils.spec.js.map +1 -1
  59. package/dist/indexer/ds-processor.service.js +2 -2
  60. package/dist/indexer/ds-processor.service.js.map +1 -1
  61. package/dist/indexer/dynamic-ds.service.js +2 -2
  62. package/dist/indexer/dynamic-ds.service.js.map +1 -1
  63. package/dist/indexer/fetch.module.js +2 -2
  64. package/dist/indexer/fetch.module.js.map +1 -1
  65. package/dist/indexer/fetch.service.js +2 -2
  66. package/dist/indexer/fetch.service.js.map +1 -1
  67. package/dist/indexer/indexer.manager.js +2 -2
  68. package/dist/indexer/indexer.manager.js.map +1 -1
  69. package/dist/indexer/project.service.js +2 -2
  70. package/dist/indexer/project.service.js.map +1 -1
  71. package/dist/indexer/project.service.test.js +1 -1
  72. package/dist/indexer/project.service.test.js.map +1 -1
  73. package/dist/indexer/unfinalizedBlocks.service.js +2 -2
  74. package/dist/indexer/unfinalizedBlocks.service.js.map +1 -1
  75. package/dist/indexer/unfinalizedBlocks.service.spec.js +1 -1
  76. package/dist/indexer/unfinalizedBlocks.service.spec.js.map +1 -1
  77. package/dist/indexer/worker/worker-fetch.module.js +2 -2
  78. package/dist/indexer/worker/worker-fetch.module.js.map +1 -1
  79. package/dist/indexer/worker/worker.js.map +1 -1
  80. package/dist/indexer/worker/worker.module.js +2 -2
  81. package/dist/indexer/worker/worker.module.js.map +1 -1
  82. package/dist/indexer/worker/worker.service.js +2 -2
  83. package/dist/indexer/worker/worker.service.js.map +1 -1
  84. package/dist/init.js +1 -2
  85. package/dist/init.js.map +1 -1
  86. package/dist/main.js.map +1 -1
  87. package/dist/subcommands/forceClean.module.js +2 -2
  88. package/dist/subcommands/forceClean.module.js.map +1 -1
  89. package/dist/subcommands/reindex.module.js +4 -4
  90. package/dist/subcommands/reindex.module.js.map +1 -1
  91. package/dist/subcommands/testing.init.js +1 -2
  92. package/dist/subcommands/testing.init.js.map +1 -1
  93. package/dist/subcommands/testing.module.js +4 -4
  94. package/dist/subcommands/testing.module.js.map +1 -1
  95. package/dist/subcommands/testing.service.js +2 -2
  96. package/dist/subcommands/testing.service.js.map +1 -1
  97. package/dist/utils/project.js +5 -6
  98. package/dist/utils/project.js.map +1 -1
  99. package/dist/utils/string.js +4 -5
  100. package/dist/utils/string.js.map +1 -1
  101. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reindex.module.js","sourceRoot":"","sources":["../../src/subcommands/reindex.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAA2D;AAC3D,+CAAqD;AACrD,gDAQ0B;AAC1B,oEAAgE;AAChE,0EAAqE;AACrE,sEAAiE;AACjE,oFAAgF;AA2BzE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oBAAoB;IAzBhC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,6BAAiB;YACjB,wBAAY;YACZ,0BAAc;YACd,sBAAU;YACV,6BAAiB;YACjB;gBACE,OAAO,EAAE,0BAA0B;gBACnC,QAAQ,EAAE,oDAAwB;aACnC;YACD;gBACE,OAAO,EAAE,kBAAkB;gBAC3B,QAAQ,EAAE,qCAAgB;aAC3B;YACD,yCAAkB;YAClB;gBACE,8EAA8E;gBAC9E,OAAO,EAAE,sBAAU;gBACnB,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;aAC5B;YACD,4BAAiB;SAClB;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,oBAAoB,CAAG;AAAvB,oDAAoB;AAW1B,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,aAAa;IATzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,oBAAQ,CAAC,OAAO,EAAE;YAClB,kCAAe,CAAC,QAAQ,EAAE;YAC1B,oBAAoB;YACpB,kCAAkB,CAAC,OAAO,EAAE;SAC7B;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,aAAa,CAAG;AAAhB,sCAAa","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Module } from '@nestjs/common';\nimport { EventEmitterModule } from '@nestjs/event-emitter';\nimport { SchedulerRegistry } from '@nestjs/schedule';\nimport {\n ApiService,\n DbModule,\n ForceCleanService,\n StoreCacheService,\n StoreService,\n ReindexService,\n PoiService,\n} from '@subql/node-core';\nimport { ConfigureModule } from '../configure/configure.module';\nimport { DsProcessorService } from '../indexer/ds-processor.service';\nimport { DynamicDsService } from '../indexer/dynamic-ds.service';\nimport { UnfinalizedBlocksService } from '../indexer/unfinalizedBlocks.service';\n\n@Module({\n providers: [\n StoreCacheService,\n StoreService,\n ReindexService,\n PoiService,\n ForceCleanService,\n {\n provide: 'UnfinalizedBlocksService',\n useClass: UnfinalizedBlocksService,\n },\n {\n provide: 'DynamicDsService',\n useClass: DynamicDsService,\n },\n DsProcessorService,\n {\n // Used to work with DI for unfinalizedBlocksService but not used with reindex\n provide: ApiService,\n useFactory: () => undefined,\n },\n SchedulerRegistry,\n ],\n controllers: [],\n})\nexport class ReindexFeatureModule {}\n\n@Module({\n imports: [\n DbModule.forRoot(),\n ConfigureModule.register(),\n ReindexFeatureModule,\n EventEmitterModule.forRoot(),\n ],\n controllers: [],\n})\nexport class ReindexModule {}\n"]}
1
+ {"version":3,"file":"reindex.module.js","sourceRoot":"","sources":["../../src/subcommands/reindex.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAA2D;AAC3D,+CAAqD;AACrD,gDAQ0B;AAC1B,oEAAgE;AAChE,0EAAqE;AACrE,sEAAiE;AACjE,oFAAgF;AA2BzE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oDAAoB;+BAApB,oBAAoB;IAzBhC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,6BAAiB;YACjB,wBAAY;YACZ,0BAAc;YACd,sBAAU;YACV,6BAAiB;YACjB;gBACE,OAAO,EAAE,0BAA0B;gBACnC,QAAQ,EAAE,oDAAwB;aACnC;YACD;gBACE,OAAO,EAAE,kBAAkB;gBAC3B,QAAQ,EAAE,qCAAgB;aAC3B;YACD,yCAAkB;YAClB;gBACE,8EAA8E;gBAC9E,OAAO,EAAE,sBAAU;gBACnB,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;aAC5B;YACD,4BAAiB;SAClB;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,oBAAoB,CAAG;AAW7B,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IATzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,oBAAQ,CAAC,OAAO,EAAE;YAClB,kCAAe,CAAC,QAAQ,EAAE;YAC1B,oBAAoB;YACpB,kCAAkB,CAAC,OAAO,EAAE;SAC7B;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,aAAa,CAAG","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Module } from '@nestjs/common';\nimport { EventEmitterModule } from '@nestjs/event-emitter';\nimport { SchedulerRegistry } from '@nestjs/schedule';\nimport {\n ApiService,\n DbModule,\n ForceCleanService,\n StoreCacheService,\n StoreService,\n ReindexService,\n PoiService,\n} from '@subql/node-core';\nimport { ConfigureModule } from '../configure/configure.module';\nimport { DsProcessorService } from '../indexer/ds-processor.service';\nimport { DynamicDsService } from '../indexer/dynamic-ds.service';\nimport { UnfinalizedBlocksService } from '../indexer/unfinalizedBlocks.service';\n\n@Module({\n providers: [\n StoreCacheService,\n StoreService,\n ReindexService,\n PoiService,\n ForceCleanService,\n {\n provide: 'UnfinalizedBlocksService',\n useClass: UnfinalizedBlocksService,\n },\n {\n provide: 'DynamicDsService',\n useClass: DynamicDsService,\n },\n DsProcessorService,\n {\n // Used to work with DI for unfinalizedBlocksService but not used with reindex\n provide: ApiService,\n useFactory: () => undefined,\n },\n SchedulerRegistry,\n ],\n controllers: [],\n})\nexport class ReindexFeatureModule {}\n\n@Module({\n imports: [\n DbModule.forRoot(),\n ConfigureModule.register(),\n ReindexFeatureModule,\n EventEmitterModule.forRoot(),\n ],\n controllers: [],\n})\nexport class ReindexModule {}\n"]}
@@ -2,7 +2,7 @@
2
2
  // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
3
  // SPDX-License-Identifier: GPL-3.0
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.testingInit = void 0;
5
+ exports.testingInit = testingInit;
6
6
  const node_core_1 = require("@subql/node-core");
7
7
  const configure_module_1 = require("../configure/configure.module");
8
8
  const testing_service_1 = require("./testing.service");
@@ -18,5 +18,4 @@ async function testingInit() {
18
18
  }
19
19
  process.exit(0);
20
20
  }
21
- exports.testingInit = testingInit;
22
21
  //# sourceMappingURL=testing.init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.init.js","sourceRoot":"","sources":["../../src/subcommands/testing.init.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAEnC,gDAA4D;AAC5D,oEAAgE;AAChE,uDAAmD;AAEnD,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,SAAS,CAAC,CAAC;AAC7B,KAAK,UAAU,WAAW;IAC/B,IAAI;QACF,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,kCAAe,CAAC,WAAW,EAAE,CAAC;QAEpE,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC;KAC5B;IAAC,OAAO,CAAC,EAAE;QACV,IAAA,yBAAa,EAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;KAClE;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAVD,kCAUC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { exitWithError, getLogger } from '@subql/node-core';\nimport { ConfigureModule } from '../configure/configure.module';\nimport { TestingService } from './testing.service';\n\nconst logger = getLogger('Testing');\nexport async function testingInit(): Promise<void> {\n try {\n const { nodeConfig, project } = await ConfigureModule.getInstance();\n\n const testingService = new TestingService(nodeConfig, project);\n await testingService.run();\n } catch (e) {\n exitWithError(new Error('Testing failed', { cause: e }), logger);\n }\n process.exit(0);\n}\n"]}
1
+ {"version":3,"file":"testing.init.js","sourceRoot":"","sources":["../../src/subcommands/testing.init.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;AAOnC,kCAUC;AAfD,gDAA4D;AAC5D,oEAAgE;AAChE,uDAAmD;AAEnD,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,SAAS,CAAC,CAAC;AAC7B,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,kCAAe,CAAC,WAAW,EAAE,CAAC;QAEpE,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAA,yBAAa,EAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { exitWithError, getLogger } from '@subql/node-core';\nimport { ConfigureModule } from '../configure/configure.module';\nimport { TestingService } from './testing.service';\n\nconst logger = getLogger('Testing');\nexport async function testingInit(): Promise<void> {\n try {\n const { nodeConfig, project } = await ConfigureModule.getInstance();\n\n const testingService = new TestingService(nodeConfig, project);\n await testingService.run();\n } catch (e) {\n exitWithError(new Error('Testing failed', { cause: e }), logger);\n }\n process.exit(0);\n}\n"]}
@@ -22,7 +22,8 @@ const project_service_1 = require("../indexer/project.service");
22
22
  const unfinalizedBlocks_service_1 = require("../indexer/unfinalizedBlocks.service");
23
23
  let TestingFeatureModule = class TestingFeatureModule {
24
24
  };
25
- TestingFeatureModule = __decorate([
25
+ exports.TestingFeatureModule = TestingFeatureModule;
26
+ exports.TestingFeatureModule = TestingFeatureModule = __decorate([
26
27
  (0, common_1.Module)({
27
28
  providers: [
28
29
  node_core_1.InMemoryCacheService,
@@ -70,10 +71,10 @@ TestingFeatureModule = __decorate([
70
71
  exports: [node_core_1.TestRunner],
71
72
  })
72
73
  ], TestingFeatureModule);
73
- exports.TestingFeatureModule = TestingFeatureModule;
74
74
  let TestingModule = class TestingModule {
75
75
  };
76
- TestingModule = __decorate([
76
+ exports.TestingModule = TestingModule;
77
+ exports.TestingModule = TestingModule = __decorate([
77
78
  (0, common_1.Module)({
78
79
  imports: [
79
80
  node_core_1.DbModule.forRoot(),
@@ -85,5 +86,4 @@ TestingModule = __decorate([
85
86
  controllers: [],
86
87
  })
87
88
  ], TestingModule);
88
- exports.TestingModule = TestingModule;
89
89
  //# sourceMappingURL=testing.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.module.js","sourceRoot":"","sources":["../../src/subcommands/testing.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAA0E;AAC1E,+CAAqE;AACrE,gDAa0B;AAC1B,oEAAgE;AAEhE,0CAAiD;AAEjD,0EAAqE;AACrE,sEAAiE;AACjE,gEAA4D;AAC5D,gEAA4D;AAC5D,oFAAgF;AA0DzE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oBAAoB;IAxDhC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,gCAAoB;YACpB,wBAAY;YACZ,6BAAiB;YACjB,6BAAa;YACb,sBAAU;YACV,0BAAc;YACd,0BAAc;YACd,yCAAkB;YAClB,qCAAgB;YAChB,oDAAwB;YACxB,sCAA0B;YAC1B,iCAAqB;YACrB;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,gCAAc;aACzB;YACD;gBACE,OAAO,EAAE,sBAAU;gBACnB,UAAU,EAAE,KAAK,EACf,OAAwB,EACxB,qBAAmE,EACnE,YAA2B,EAC3B,UAAsB,EACtB,EAAE;oBACF,MAAM,UAAU,GAAG,IAAI,6BAAkB,CACvC,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,UAAU,CACX,CAAC;oBACF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;oBACxB,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,MAAM,EAAE;oBACN,kBAAkB;oBAClB,iCAAqB;oBACrB,6BAAa;oBACb,sBAAU;iBACX;aACF;YACD,4BAAiB;YACjB,sBAAU;YACV;gBACE,OAAO,EAAE,MAAM;gBACf,WAAW,EAAE,sBAAU;aACxB;YACD;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,gCAAc;aACzB;SACF;QACD,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,CAAC,sBAAU,CAAC;KACtB,CAAC;GACW,oBAAoB,CAAG;AAAvB,oDAAoB;AAY1B,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,aAAa;IAVzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,oBAAQ,CAAC,OAAO,EAAE;YAClB,kCAAe,CAAC,QAAQ,EAAE;YAC1B,kCAAkB,CAAC,OAAO,EAAE;YAC5B,yBAAc,CAAC,OAAO,EAAE;YACxB,oBAAoB;SACrB;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,aAAa,CAAG;AAAhB,sCAAa","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Module } from '@nestjs/common';\nimport { EventEmitter2, EventEmitterModule } from '@nestjs/event-emitter';\nimport { ScheduleModule, SchedulerRegistry } from '@nestjs/schedule';\nimport {\n ApiService,\n ConnectionPoolService,\n ConnectionPoolStateManager,\n DbModule,\n InMemoryCacheService,\n NodeConfig,\n PoiService,\n PoiSyncService,\n StoreCacheService,\n StoreService,\n TestRunner,\n SandboxService,\n} from '@subql/node-core';\nimport { ConfigureModule } from '../configure/configure.module';\nimport { SubqueryProject } from '../configure/SubqueryProject';\nimport { EthereumApiService } from '../ethereum';\nimport { EthereumApiConnection } from '../ethereum/api.connection';\nimport { DsProcessorService } from '../indexer/ds-processor.service';\nimport { DynamicDsService } from '../indexer/dynamic-ds.service';\nimport { IndexerManager } from '../indexer/indexer.manager';\nimport { ProjectService } from '../indexer/project.service';\nimport { UnfinalizedBlocksService } from '../indexer/unfinalizedBlocks.service';\n\n@Module({\n providers: [\n InMemoryCacheService,\n StoreService,\n StoreCacheService,\n EventEmitter2,\n PoiService,\n PoiSyncService,\n SandboxService,\n DsProcessorService,\n DynamicDsService,\n UnfinalizedBlocksService,\n ConnectionPoolStateManager,\n ConnectionPoolService,\n {\n provide: 'IProjectService',\n useClass: ProjectService,\n },\n {\n provide: ApiService,\n useFactory: async (\n project: SubqueryProject,\n connectionPoolService: ConnectionPoolService<EthereumApiConnection>,\n eventEmitter: EventEmitter2,\n nodeConfig: NodeConfig,\n ) => {\n const apiService = new EthereumApiService(\n project,\n connectionPoolService,\n eventEmitter,\n nodeConfig,\n );\n await apiService.init();\n return apiService;\n },\n inject: [\n 'ISubqueryProject',\n ConnectionPoolService,\n EventEmitter2,\n NodeConfig,\n ],\n },\n SchedulerRegistry,\n TestRunner,\n {\n provide: 'IApi',\n useExisting: ApiService,\n },\n {\n provide: 'IIndexerManager',\n useClass: IndexerManager,\n },\n ],\n controllers: [],\n exports: [TestRunner],\n})\nexport class TestingFeatureModule {}\n\n@Module({\n imports: [\n DbModule.forRoot(),\n ConfigureModule.register(),\n EventEmitterModule.forRoot(),\n ScheduleModule.forRoot(),\n TestingFeatureModule,\n ],\n controllers: [],\n})\nexport class TestingModule {}\n"]}
1
+ {"version":3,"file":"testing.module.js","sourceRoot":"","sources":["../../src/subcommands/testing.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAA0E;AAC1E,+CAAqE;AACrE,gDAa0B;AAC1B,oEAAgE;AAEhE,0CAAiD;AAEjD,0EAAqE;AACrE,sEAAiE;AACjE,gEAA4D;AAC5D,gEAA4D;AAC5D,oFAAgF;AA0DzE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oDAAoB;+BAApB,oBAAoB;IAxDhC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,gCAAoB;YACpB,wBAAY;YACZ,6BAAiB;YACjB,6BAAa;YACb,sBAAU;YACV,0BAAc;YACd,0BAAc;YACd,yCAAkB;YAClB,qCAAgB;YAChB,oDAAwB;YACxB,sCAA0B;YAC1B,iCAAqB;YACrB;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,gCAAc;aACzB;YACD;gBACE,OAAO,EAAE,sBAAU;gBACnB,UAAU,EAAE,KAAK,EACf,OAAwB,EACxB,qBAAmE,EACnE,YAA2B,EAC3B,UAAsB,EACtB,EAAE;oBACF,MAAM,UAAU,GAAG,IAAI,6BAAkB,CACvC,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,UAAU,CACX,CAAC;oBACF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;oBACxB,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,MAAM,EAAE;oBACN,kBAAkB;oBAClB,iCAAqB;oBACrB,6BAAa;oBACb,sBAAU;iBACX;aACF;YACD,4BAAiB;YACjB,sBAAU;YACV;gBACE,OAAO,EAAE,MAAM;gBACf,WAAW,EAAE,sBAAU;aACxB;YACD;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,gCAAc;aACzB;SACF;QACD,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,CAAC,sBAAU,CAAC;KACtB,CAAC;GACW,oBAAoB,CAAG;AAY7B,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAVzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,oBAAQ,CAAC,OAAO,EAAE;YAClB,kCAAe,CAAC,QAAQ,EAAE;YAC1B,kCAAkB,CAAC,OAAO,EAAE;YAC5B,yBAAc,CAAC,OAAO,EAAE;YACxB,oBAAoB;SACrB;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,aAAa,CAAG","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Module } from '@nestjs/common';\nimport { EventEmitter2, EventEmitterModule } from '@nestjs/event-emitter';\nimport { ScheduleModule, SchedulerRegistry } from '@nestjs/schedule';\nimport {\n ApiService,\n ConnectionPoolService,\n ConnectionPoolStateManager,\n DbModule,\n InMemoryCacheService,\n NodeConfig,\n PoiService,\n PoiSyncService,\n StoreCacheService,\n StoreService,\n TestRunner,\n SandboxService,\n} from '@subql/node-core';\nimport { ConfigureModule } from '../configure/configure.module';\nimport { SubqueryProject } from '../configure/SubqueryProject';\nimport { EthereumApiService } from '../ethereum';\nimport { EthereumApiConnection } from '../ethereum/api.connection';\nimport { DsProcessorService } from '../indexer/ds-processor.service';\nimport { DynamicDsService } from '../indexer/dynamic-ds.service';\nimport { IndexerManager } from '../indexer/indexer.manager';\nimport { ProjectService } from '../indexer/project.service';\nimport { UnfinalizedBlocksService } from '../indexer/unfinalizedBlocks.service';\n\n@Module({\n providers: [\n InMemoryCacheService,\n StoreService,\n StoreCacheService,\n EventEmitter2,\n PoiService,\n PoiSyncService,\n SandboxService,\n DsProcessorService,\n DynamicDsService,\n UnfinalizedBlocksService,\n ConnectionPoolStateManager,\n ConnectionPoolService,\n {\n provide: 'IProjectService',\n useClass: ProjectService,\n },\n {\n provide: ApiService,\n useFactory: async (\n project: SubqueryProject,\n connectionPoolService: ConnectionPoolService<EthereumApiConnection>,\n eventEmitter: EventEmitter2,\n nodeConfig: NodeConfig,\n ) => {\n const apiService = new EthereumApiService(\n project,\n connectionPoolService,\n eventEmitter,\n nodeConfig,\n );\n await apiService.init();\n return apiService;\n },\n inject: [\n 'ISubqueryProject',\n ConnectionPoolService,\n EventEmitter2,\n NodeConfig,\n ],\n },\n SchedulerRegistry,\n TestRunner,\n {\n provide: 'IApi',\n useExisting: ApiService,\n },\n {\n provide: 'IIndexerManager',\n useClass: IndexerManager,\n },\n ],\n controllers: [],\n exports: [TestRunner],\n})\nexport class TestingFeatureModule {}\n\n@Module({\n imports: [\n DbModule.forRoot(),\n ConfigureModule.register(),\n EventEmitterModule.forRoot(),\n ScheduleModule.forRoot(),\n TestingFeatureModule,\n ],\n controllers: [],\n})\nexport class TestingModule {}\n"]}
@@ -36,10 +36,10 @@ let TestingService = class TestingService extends node_core_1.TestingService {
36
36
  await indexerManager.indexBlock(block, this.getDsWithHandler(handler));
37
37
  }
38
38
  };
39
- TestingService = __decorate([
39
+ exports.TestingService = TestingService;
40
+ exports.TestingService = TestingService = __decorate([
40
41
  (0, common_1.Injectable)(),
41
42
  __param(1, (0, common_1.Inject)('ISubqueryProject')),
42
43
  __metadata("design:paramtypes", [node_core_1.NodeConfig, Object])
43
44
  ], TestingService);
44
- exports.TestingService = TestingService;
45
45
  //# sourceMappingURL=testing.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.service.js","sourceRoot":"","sources":["../../src/subcommands/testing.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAAoD;AACpD,uCAA2C;AAE3C,gDAM0B;AAU1B,qDAAiD;AAG1C,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,0BAKnC;IACC,YACE,UAAsB,EACM,OAAwB;QAEpD,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,aAAa;QAWjB,MAAM,WAAW,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAC5D,8BAAa,EACb;YACE,MAAM,EAAE,IAAI,sBAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;SAChD,CACF,CAAC;QAEF,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QAEzB,MAAM,cAAc,GAAmB,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE1E,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QAE5B,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,sBAAU,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAA2B,EAC3B,OAAe,EACf,cAA8B;QAE9B,MAAM,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,CAAC;CACF,CAAA;AA/CY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCADf,sBAAU;GAPb,cAAc,CA+C1B;AA/CY,wCAAc","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Inject, Injectable } from '@nestjs/common';\nimport { NestFactory } from '@nestjs/core';\n\nimport {\n NodeConfig,\n TestingService as BaseTestingService,\n NestLogger,\n TestRunner,\n IBlock,\n} from '@subql/node-core';\nimport {\n EthereumProjectDs,\n SubqueryProject,\n} from '../configure/SubqueryProject';\nimport { EthereumApi } from '../ethereum';\nimport SafeEthProvider from '../ethereum/safe-api';\nimport { IndexerManager } from '../indexer/indexer.manager';\nimport { ProjectService } from '../indexer/project.service';\nimport { BlockContent } from '../indexer/types';\nimport { TestingModule } from './testing.module';\n\n@Injectable()\nexport class TestingService extends BaseTestingService<\n EthereumApi,\n SafeEthProvider,\n BlockContent,\n EthereumProjectDs\n> {\n constructor(\n nodeConfig: NodeConfig,\n @Inject('ISubqueryProject') project: SubqueryProject,\n ) {\n super(nodeConfig, project);\n }\n\n async getTestRunner(): Promise<\n [\n close: () => Promise<void>,\n runner: TestRunner<\n EthereumApi,\n SafeEthProvider,\n BlockContent,\n EthereumProjectDs\n >,\n ]\n > {\n const testContext = await NestFactory.createApplicationContext(\n TestingModule,\n {\n logger: new NestLogger(!!this.nodeConfig.debug),\n },\n );\n\n await testContext.init();\n\n const projectService: ProjectService = testContext.get('IProjectService');\n\n await projectService.init();\n\n return [testContext.close.bind(testContext), testContext.get(TestRunner)];\n }\n\n async indexBlock(\n block: IBlock<BlockContent>,\n handler: string,\n indexerManager: IndexerManager,\n ): Promise<void> {\n await indexerManager.indexBlock(block, this.getDsWithHandler(handler));\n }\n}\n"]}
1
+ {"version":3,"file":"testing.service.js","sourceRoot":"","sources":["../../src/subcommands/testing.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAAoD;AACpD,uCAA2C;AAE3C,gDAM0B;AAU1B,qDAAiD;AAG1C,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,0BAKnC;IACC,YACE,UAAsB,EACM,OAAwB;QAEpD,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,aAAa;QAWjB,MAAM,WAAW,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAC5D,8BAAa,EACb;YACE,MAAM,EAAE,IAAI,sBAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;SAChD,CACF,CAAC;QAEF,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QAEzB,MAAM,cAAc,GAAmB,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE1E,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QAE5B,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,sBAAU,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAA2B,EAC3B,OAAe,EACf,cAA8B;QAE9B,MAAM,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,CAAC;CACF,CAAA;AA/CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCADf,sBAAU;GAPb,cAAc,CA+C1B","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Inject, Injectable } from '@nestjs/common';\nimport { NestFactory } from '@nestjs/core';\n\nimport {\n NodeConfig,\n TestingService as BaseTestingService,\n NestLogger,\n TestRunner,\n IBlock,\n} from '@subql/node-core';\nimport {\n EthereumProjectDs,\n SubqueryProject,\n} from '../configure/SubqueryProject';\nimport { EthereumApi } from '../ethereum';\nimport SafeEthProvider from '../ethereum/safe-api';\nimport { IndexerManager } from '../indexer/indexer.manager';\nimport { ProjectService } from '../indexer/project.service';\nimport { BlockContent } from '../indexer/types';\nimport { TestingModule } from './testing.module';\n\n@Injectable()\nexport class TestingService extends BaseTestingService<\n EthereumApi,\n SafeEthProvider,\n BlockContent,\n EthereumProjectDs\n> {\n constructor(\n nodeConfig: NodeConfig,\n @Inject('ISubqueryProject') project: SubqueryProject,\n ) {\n super(nodeConfig, project);\n }\n\n async getTestRunner(): Promise<\n [\n close: () => Promise<void>,\n runner: TestRunner<\n EthereumApi,\n SafeEthProvider,\n BlockContent,\n EthereumProjectDs\n >,\n ]\n > {\n const testContext = await NestFactory.createApplicationContext(\n TestingModule,\n {\n logger: new NestLogger(!!this.nodeConfig.debug),\n },\n );\n\n await testContext.init();\n\n const projectService: ProjectService = testContext.get('IProjectService');\n\n await projectService.init();\n\n return [testContext.close.bind(testContext), testContext.get(TestRunner)];\n }\n\n async indexBlock(\n block: IBlock<BlockContent>,\n handler: string,\n indexerManager: IndexerManager,\n ): Promise<void> {\n await indexerManager.indexBlock(block, this.getDsWithHandler(handler));\n }\n}\n"]}
@@ -2,23 +2,24 @@
2
2
  // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
3
  // SPDX-License-Identifier: GPL-3.0
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.isOnlyEventHandlers = exports.onlyHasLogDataSources = exports.retryOnFailEth = exports.isCustomHandler = exports.isBaseHandler = void 0;
5
+ exports.isBaseHandler = isBaseHandler;
6
+ exports.isCustomHandler = isCustomHandler;
7
+ exports.retryOnFailEth = retryOnFailEth;
8
+ exports.onlyHasLogDataSources = onlyHasLogDataSources;
9
+ exports.isOnlyEventHandlers = isOnlyEventHandlers;
6
10
  const common_ethereum_1 = require("@subql/common-ethereum");
7
11
  const node_core_1 = require("@subql/node-core");
8
12
  function isBaseHandler(handler) {
9
13
  return Object.values(common_ethereum_1.EthereumHandlerKind).includes(handler.kind);
10
14
  }
11
- exports.isBaseHandler = isBaseHandler;
12
15
  function isCustomHandler(handler) {
13
16
  return !isBaseHandler(handler);
14
17
  }
15
- exports.isCustomHandler = isCustomHandler;
16
18
  const handledErrors = ['timeout'];
17
19
  // eslint-disable-next-line @typescript-eslint/require-await
18
20
  async function retryOnFailEth(request, errors = handledErrors) {
19
21
  return (0, node_core_1.retryOnFail)(request, (e) => !!errors.find((t) => t === e?.reason));
20
22
  }
21
- exports.retryOnFailEth = retryOnFailEth;
22
23
  function onlyHasLogDataSources(dataSources) {
23
24
  for (const ds of dataSources) {
24
25
  for (const handler of ds.mapping.handlers) {
@@ -29,7 +30,6 @@ function onlyHasLogDataSources(dataSources) {
29
30
  }
30
31
  return true;
31
32
  }
32
- exports.onlyHasLogDataSources = onlyHasLogDataSources;
33
33
  function dsContainsNonEventHandlers(ds) {
34
34
  if ((0, common_ethereum_1.isRuntimeDs)(ds)) {
35
35
  return !!ds.mapping.handlers.find((handler) => handler.kind !== common_ethereum_1.EthereumHandlerKind.Event);
@@ -45,5 +45,4 @@ function isOnlyEventHandlers(project) {
45
45
  const hasNonEventTemplate = !!project.templates.find((ds) => dsContainsNonEventHandlers(ds));
46
46
  return !hasNonEventHandler && !hasNonEventTemplate;
47
47
  }
48
- exports.isOnlyEventHandlers = isOnlyEventHandlers;
49
48
  //# sourceMappingURL=project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAEnC,4DAQgC;AAChC,gDAA+C;AAM/C,SAAgB,aAAa,CAC3B,OAAqB;IAErB,OAAO,MAAM,CAAC,MAAM,CAAS,qCAAmB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAJD,sCAIC;AAED,SAAgB,eAAe,CAC7B,OAAqB;IAErB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAJD,0CAIC;AAED,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;AAClC,4DAA4D;AACrD,KAAK,UAAU,cAAc,CAClC,OAAyB,EACzB,MAAM,GAAG,aAAa;IAEtB,OAAO,IAAA,uBAAW,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,CAAC;AALD,wCAKC;AAED,SAAgB,qBAAqB,CACnC,WAAgC;IAEhC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;QAC5B,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;YACzC,IAAI,OAAO,CAAC,IAAI,KAAK,0CAAwB,CAAC,QAAQ,EAAE;gBACtD,OAAO,KAAK,CAAC;aACd;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAZD,sDAYC;AAED,SAAS,0BAA0B,CAAC,EAAqB;IACvD,IAAI,IAAA,6BAAW,EAAC,EAAE,CAAC,EAAE;QACnB,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,qCAAmB,CAAC,KAAK,CACxD,CAAC;KACH;SAAM,IAAI,IAAA,4BAAU,EAAC,EAAE,CAAC,EAAE;QACzB,gDAAgD;QAChD,OAAO,IAAI,CAAC;KACb;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAwB;IAC1D,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC3D,0BAA0B,CAAC,EAAE,CAAC,CAC/B,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1D,0BAA0B,CAAC,EAAuB,CAAC,CACpD,CAAC;IAEF,OAAO,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,CAAC;AACrD,CAAC;AATD,kDASC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {\n SubqlRuntimeHandler,\n SubqlCustomHandler,\n SubqlHandler,\n EthereumHandlerKind,\n SubqlEthereumHandlerKind,\n isCustomDs,\n isRuntimeDs,\n} from '@subql/common-ethereum';\nimport { retryOnFail } from '@subql/node-core';\nimport {\n EthereumProjectDs,\n SubqueryProject,\n} from '../configure/SubqueryProject';\n\nexport function isBaseHandler(\n handler: SubqlHandler,\n): handler is SubqlRuntimeHandler {\n return Object.values<string>(EthereumHandlerKind).includes(handler.kind);\n}\n\nexport function isCustomHandler(\n handler: SubqlHandler,\n): handler is SubqlCustomHandler {\n return !isBaseHandler(handler);\n}\n\nconst handledErrors = ['timeout'];\n// eslint-disable-next-line @typescript-eslint/require-await\nexport async function retryOnFailEth<T>(\n request: () => Promise<T>,\n errors = handledErrors,\n): Promise<T> {\n return retryOnFail(request, (e) => !!errors.find((t) => t === e?.reason));\n}\n\nexport function onlyHasLogDataSources(\n dataSources: EthereumProjectDs[],\n): boolean {\n for (const ds of dataSources) {\n for (const handler of ds.mapping.handlers) {\n if (handler.kind !== SubqlEthereumHandlerKind.EthEvent) {\n return false;\n }\n }\n }\n\n return true;\n}\n\nfunction dsContainsNonEventHandlers(ds: EthereumProjectDs): boolean {\n if (isRuntimeDs(ds)) {\n return !!ds.mapping.handlers.find(\n (handler) => handler.kind !== EthereumHandlerKind.Event,\n );\n } else if (isCustomDs(ds)) {\n // TODO this can be improved upon in the future.\n return true;\n }\n return true;\n}\n\nexport function isOnlyEventHandlers(project: SubqueryProject): boolean {\n const hasNonEventHandler = !!project.dataSources.find((ds) =>\n dsContainsNonEventHandlers(ds),\n );\n const hasNonEventTemplate = !!project.templates.find((ds) =>\n dsContainsNonEventHandlers(ds as EthereumProjectDs),\n );\n\n return !hasNonEventHandler && !hasNonEventTemplate;\n}\n"]}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;AAiBnC,sCAIC;AAED,0CAIC;AAID,wCAKC;AAED,sDAYC;AAcD,kDASC;AAvED,4DAQgC;AAChC,gDAA+C;AAM/C,SAAgB,aAAa,CAC3B,OAAqB;IAErB,OAAO,MAAM,CAAC,MAAM,CAAS,qCAAmB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,SAAgB,eAAe,CAC7B,OAAqB;IAErB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;AAClC,4DAA4D;AACrD,KAAK,UAAU,cAAc,CAClC,OAAyB,EACzB,MAAM,GAAG,aAAa;IAEtB,OAAO,IAAA,uBAAW,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAgB,qBAAqB,CACnC,WAAgC;IAEhC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,0CAAwB,CAAC,QAAQ,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CAAC,EAAqB;IACvD,IAAI,IAAA,6BAAW,EAAC,EAAE,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,qCAAmB,CAAC,KAAK,CACxD,CAAC;IACJ,CAAC;SAAM,IAAI,IAAA,4BAAU,EAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,gDAAgD;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAwB;IAC1D,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC3D,0BAA0B,CAAC,EAAE,CAAC,CAC/B,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1D,0BAA0B,CAAC,EAAuB,CAAC,CACpD,CAAC;IAEF,OAAO,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,CAAC;AACrD,CAAC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {\n SubqlRuntimeHandler,\n SubqlCustomHandler,\n SubqlHandler,\n EthereumHandlerKind,\n SubqlEthereumHandlerKind,\n isCustomDs,\n isRuntimeDs,\n} from '@subql/common-ethereum';\nimport { retryOnFail } from '@subql/node-core';\nimport {\n EthereumProjectDs,\n SubqueryProject,\n} from '../configure/SubqueryProject';\n\nexport function isBaseHandler(\n handler: SubqlHandler,\n): handler is SubqlRuntimeHandler {\n return Object.values<string>(EthereumHandlerKind).includes(handler.kind);\n}\n\nexport function isCustomHandler(\n handler: SubqlHandler,\n): handler is SubqlCustomHandler {\n return !isBaseHandler(handler);\n}\n\nconst handledErrors = ['timeout'];\n// eslint-disable-next-line @typescript-eslint/require-await\nexport async function retryOnFailEth<T>(\n request: () => Promise<T>,\n errors = handledErrors,\n): Promise<T> {\n return retryOnFail(request, (e) => !!errors.find((t) => t === e?.reason));\n}\n\nexport function onlyHasLogDataSources(\n dataSources: EthereumProjectDs[],\n): boolean {\n for (const ds of dataSources) {\n for (const handler of ds.mapping.handlers) {\n if (handler.kind !== SubqlEthereumHandlerKind.EthEvent) {\n return false;\n }\n }\n }\n\n return true;\n}\n\nfunction dsContainsNonEventHandlers(ds: EthereumProjectDs): boolean {\n if (isRuntimeDs(ds)) {\n return !!ds.mapping.handlers.find(\n (handler) => handler.kind !== EthereumHandlerKind.Event,\n );\n } else if (isCustomDs(ds)) {\n // TODO this can be improved upon in the future.\n return true;\n }\n return true;\n}\n\nexport function isOnlyEventHandlers(project: SubqueryProject): boolean {\n const hasNonEventHandler = !!project.dataSources.find((ds) =>\n dsContainsNonEventHandlers(ds),\n );\n const hasNonEventTemplate = !!project.templates.find((ds) =>\n dsContainsNonEventHandlers(ds as EthereumProjectDs),\n );\n\n return !hasNonEventHandler && !hasNonEventTemplate;\n}\n"]}
@@ -2,21 +2,22 @@
2
2
  // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
3
  // SPDX-License-Identifier: GPL-3.0
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.functionToSighash = exports.eventToTopic = exports.hexStringEq = exports.stringNormalizedEq = void 0;
5
+ exports.stringNormalizedEq = stringNormalizedEq;
6
+ exports.hexStringEq = hexStringEq;
7
+ exports.eventToTopic = eventToTopic;
8
+ exports.functionToSighash = functionToSighash;
6
9
  const abi_1 = require("@ethersproject/abi");
7
10
  const bytes_1 = require("@ethersproject/bytes");
8
11
  const hash_1 = require("@ethersproject/hash");
9
12
  function stringNormalizedEq(a, b) {
10
13
  return a.toLowerCase() === b?.toLowerCase();
11
14
  }
12
- exports.stringNormalizedEq = stringNormalizedEq;
13
15
  function hexStringEq(a, b) {
14
16
  if (!(0, bytes_1.isHexString)(a) || !(0, bytes_1.isHexString)(b)) {
15
17
  throw new Error('Inputs are not hex strings');
16
18
  }
17
19
  return stringNormalizedEq((0, bytes_1.hexStripZeros)(a), (0, bytes_1.hexStripZeros)(b));
18
20
  }
19
- exports.hexStringEq = hexStringEq;
20
21
  const eventTopicsCache = {};
21
22
  const functionSighashCache = {};
22
23
  function eventToTopic(input) {
@@ -27,7 +28,6 @@ function eventToTopic(input) {
27
28
  }
28
29
  return eventTopicsCache[input];
29
30
  }
30
- exports.eventToTopic = eventToTopic;
31
31
  function functionToSighash(input) {
32
32
  if ((0, bytes_1.isHexString)(input))
33
33
  return input;
@@ -36,5 +36,4 @@ function functionToSighash(input) {
36
36
  }
37
37
  return functionSighashCache[input];
38
38
  }
39
- exports.functionToSighash = functionToSighash;
40
39
  //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAEnC,4CAAqE;AACrE,gDAAgF;AAChF,8CAAyC;AAEzC,SAAgB,kBAAkB,CAAC,CAAS,EAAE,CAAU;IACtD,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9C,CAAC;AAFD,gDAEC;AAED,SAAgB,WAAW,CAAC,CAAS,EAAE,CAAS;IAC9C,IAAI,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IACD,OAAO,kBAAkB,CAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,EAAE,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AALD,kCAKC;AAED,MAAM,gBAAgB,GAA2B,EAAE,CAAC;AACpD,MAAM,oBAAoB,GAA2B,EAAE,CAAC;AAExD,SAAgB,YAAY,CAAC,KAAa;IACxC,IAAI,IAAA,mBAAW,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;QAC5B,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAA,SAAE,EAAC,mBAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KACxE;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AARD,oCAQC;AAED,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,IAAA,mBAAW,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;QAChC,oBAAoB,CAAC,KAAK,CAAC,GAAG,IAAA,oBAAY,EACxC,IAAA,SAAE,EAAC,sBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,EAC/C,CAAC,EACD,CAAC,CACF,CAAC;KACH;IAED,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAZD,8CAYC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { EventFragment, FunctionFragment } from '@ethersproject/abi';\nimport { isHexString, hexStripZeros, hexDataSlice } from '@ethersproject/bytes';\nimport { id } from '@ethersproject/hash';\n\nexport function stringNormalizedEq(a: string, b?: string): boolean {\n return a.toLowerCase() === b?.toLowerCase();\n}\n\nexport function hexStringEq(a: string, b: string): boolean {\n if (!isHexString(a) || !isHexString(b)) {\n throw new Error('Inputs are not hex strings');\n }\n return stringNormalizedEq(hexStripZeros(a), hexStripZeros(b));\n}\n\nconst eventTopicsCache: Record<string, string> = {};\nconst functionSighashCache: Record<string, string> = {};\n\nexport function eventToTopic(input: string): string {\n if (isHexString(input)) return input;\n\n if (!eventTopicsCache[input]) {\n eventTopicsCache[input] = id(EventFragment.fromString(input).format());\n }\n\n return eventTopicsCache[input];\n}\n\nexport function functionToSighash(input: string): string {\n if (isHexString(input)) return input;\n\n if (!functionSighashCache[input]) {\n functionSighashCache[input] = hexDataSlice(\n id(FunctionFragment.fromString(input).format()),\n 0,\n 4,\n );\n }\n\n return functionSighashCache[input];\n}\n"]}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;AAMnC,gDAEC;AAED,kCAKC;AAKD,oCAQC;AAED,8CAYC;AAxCD,4CAAqE;AACrE,gDAAgF;AAChF,8CAAyC;AAEzC,SAAgB,kBAAkB,CAAC,CAAS,EAAE,CAAU;IACtD,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9C,CAAC;AAED,SAAgB,WAAW,CAAC,CAAS,EAAE,CAAS;IAC9C,IAAI,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,EAAE,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,gBAAgB,GAA2B,EAAE,CAAC;AACpD,MAAM,oBAAoB,GAA2B,EAAE,CAAC;AAExD,SAAgB,YAAY,CAAC,KAAa;IACxC,IAAI,IAAA,mBAAW,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAA,SAAE,EAAC,mBAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,IAAA,mBAAW,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,oBAAoB,CAAC,KAAK,CAAC,GAAG,IAAA,oBAAY,EACxC,IAAA,SAAE,EAAC,sBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,EAC/C,CAAC,EACD,CAAC,CACF,CAAC;IACJ,CAAC;IAED,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { EventFragment, FunctionFragment } from '@ethersproject/abi';\nimport { isHexString, hexStripZeros, hexDataSlice } from '@ethersproject/bytes';\nimport { id } from '@ethersproject/hash';\n\nexport function stringNormalizedEq(a: string, b?: string): boolean {\n return a.toLowerCase() === b?.toLowerCase();\n}\n\nexport function hexStringEq(a: string, b: string): boolean {\n if (!isHexString(a) || !isHexString(b)) {\n throw new Error('Inputs are not hex strings');\n }\n return stringNormalizedEq(hexStripZeros(a), hexStripZeros(b));\n}\n\nconst eventTopicsCache: Record<string, string> = {};\nconst functionSighashCache: Record<string, string> = {};\n\nexport function eventToTopic(input: string): string {\n if (isHexString(input)) return input;\n\n if (!eventTopicsCache[input]) {\n eventTopicsCache[input] = id(EventFragment.fromString(input).format());\n }\n\n return eventTopicsCache[input];\n}\n\nexport function functionToSighash(input: string): string {\n if (isHexString(input)) return input;\n\n if (!functionSighashCache[input]) {\n functionSighashCache[input] = hexDataSlice(\n id(FunctionFragment.fromString(input).format()),\n 0,\n 4,\n );\n }\n\n return functionSighashCache[input];\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subql/node-ethereum",
3
- "version": "5.1.2",
3
+ "version": "5.1.3",
4
4
  "description": "",
5
5
  "author": "Ian He",
6
6
  "license": "GPL-3.0",