@subql/node-stellar 3.11.0 → 3.11.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.
@@ -10,6 +10,5 @@ import { IndexerManager } from '../indexer.manager';
10
10
  export declare class BlockDispatcherService extends BlockDispatcher<StellarBlockWrapper, SubqlDatasource> implements OnApplicationShutdown {
11
11
  private indexerManager;
12
12
  constructor(apiService: ApiService, nodeConfig: NodeConfig, indexerManager: IndexerManager, eventEmitter: EventEmitter2, projectService: IProjectService<SubqlDatasource>, projectUpgradeService: IProjectUpgradeService, storeService: StoreService, storeCacheService: StoreCacheService, poiSyncService: PoiSyncService, project: SubqueryProject);
13
- protected getBlockHeight(block: StellarBlockWrapper): number;
14
13
  protected indexBlock(block: IBlock<StellarBlockWrapper>): Promise<ProcessBlockResponse>;
15
14
  }
@@ -28,9 +28,6 @@ let BlockDispatcherService = class BlockDispatcherService extends node_core_1.Bl
28
28
  super(nodeConfig, eventEmitter, projectService, projectUpgradeService, storeService, storeCacheService, poiSyncService, project, apiService.fetchBlocks.bind(apiService));
29
29
  this.indexerManager = indexerManager;
30
30
  }
31
- getBlockHeight(block) {
32
- return block.block.sequence;
33
- }
34
31
  async indexBlock(block) {
35
32
  return this.indexerManager.indexBlock(block, await this.projectService.getDataSources(block.getHeader().blockHeight));
36
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"block-dispatcher.service.js","sourceRoot":"","sources":["../../../src/indexer/blockDispatcher/block-dispatcher.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAA2E;AAC3E,yDAAsD;AACtD,gDAW0B;AAE1B,qEAAkE;AAClE,wDAAoD;AAEpD;;GAEG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBACX,SAAQ,2BAAqD;IAG7D,YACE,UAAsB,EACtB,UAAsB,EACd,cAA8B,EACtC,YAA2B,EAE3B,cAAgD,EAEhD,qBAA6C,EAC7C,YAA0B,EAC1B,iBAAoC,EACpC,cAA8B,EACF,OAAwB;QAEpD,KAAK,CACH,UAAU,EACV,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CACxC,CAAC;QArBM,mBAAc,GAAd,cAAc,CAAgB;IAsBxC,CAAC;IAES,cAAc,CAAC,KAA0B;QACjD,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,KAAkC;QAElC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CACnC,KAAK,EACL,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,CACxE,CAAC;IACJ,CAAC;CACF,CAAA;AA3CY,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;IAEzB,WAAA,IAAA,eAAM,EAAC,wBAAwB,CAAC,CAAA;IAKhC,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCAXf,sBAAU;QACV,sBAAU;QACE,gCAAc;QACxB,6BAAa,kBAKb,wBAAY;QACP,6BAAiB;QACpB,0BAAc;QACO,iCAAe;GAhB3C,sBAAsB,CA2ClC;AA3CY,wDAAsB","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport {\n NodeConfig,\n StoreCacheService,\n StoreService,\n IProjectService,\n BlockDispatcher,\n ProcessBlockResponse,\n ApiService,\n IProjectUpgradeService,\n PoiSyncService,\n IBlock,\n} from '@subql/node-core';\nimport { StellarBlockWrapper, SubqlDatasource } from '@subql/types-stellar';\nimport { SubqueryProject } from '../../configure/SubqueryProject';\nimport { IndexerManager } from '../indexer.manager';\n\n/**\n * @description Intended to behave the same as WorkerBlockDispatcherService but doesn't use worker threads or any parallel processing\n */\n@Injectable()\nexport class BlockDispatcherService\n extends BlockDispatcher<StellarBlockWrapper, SubqlDatasource>\n implements OnApplicationShutdown\n{\n constructor(\n apiService: ApiService,\n nodeConfig: NodeConfig,\n private indexerManager: IndexerManager,\n eventEmitter: EventEmitter2,\n @Inject('IProjectService')\n projectService: IProjectService<SubqlDatasource>,\n @Inject('IProjectUpgradeService')\n projectUpgradeService: IProjectUpgradeService,\n storeService: StoreService,\n storeCacheService: StoreCacheService,\n poiSyncService: PoiSyncService,\n @Inject('ISubqueryProject') project: SubqueryProject,\n ) {\n super(\n nodeConfig,\n eventEmitter,\n projectService,\n projectUpgradeService,\n storeService,\n storeCacheService,\n poiSyncService,\n project,\n apiService.fetchBlocks.bind(apiService),\n );\n }\n\n protected getBlockHeight(block: StellarBlockWrapper): number {\n return block.block.sequence;\n }\n\n protected async indexBlock(\n block: IBlock<StellarBlockWrapper>,\n ): Promise<ProcessBlockResponse> {\n return this.indexerManager.indexBlock(\n block,\n await this.projectService.getDataSources(block.getHeader().blockHeight),\n );\n }\n}\n"]}
1
+ {"version":3,"file":"block-dispatcher.service.js","sourceRoot":"","sources":["../../../src/indexer/blockDispatcher/block-dispatcher.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAA2E;AAC3E,yDAAsD;AACtD,gDAW0B;AAE1B,qEAAkE;AAClE,wDAAoD;AAEpD;;GAEG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBACX,SAAQ,2BAAqD;IAG7D,YACE,UAAsB,EACtB,UAAsB,EACd,cAA8B,EACtC,YAA2B,EAE3B,cAAgD,EAEhD,qBAA6C,EAC7C,YAA0B,EAC1B,iBAAoC,EACpC,cAA8B,EACF,OAAwB;QAEpD,KAAK,CACH,UAAU,EACV,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CACxC,CAAC;QArBM,mBAAc,GAAd,cAAc,CAAgB;IAsBxC,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,KAAkC;QAElC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CACnC,KAAK,EACL,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,CACxE,CAAC;IACJ,CAAC;CACF,CAAA;AAvCY,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;IAEzB,WAAA,IAAA,eAAM,EAAC,wBAAwB,CAAC,CAAA;IAKhC,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCAXf,sBAAU;QACV,sBAAU;QACE,gCAAc;QACxB,6BAAa,kBAKb,wBAAY;QACP,6BAAiB;QACpB,0BAAc;QACO,iCAAe;GAhB3C,sBAAsB,CAuClC;AAvCY,wDAAsB","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport {\n NodeConfig,\n StoreCacheService,\n StoreService,\n IProjectService,\n BlockDispatcher,\n ProcessBlockResponse,\n ApiService,\n IProjectUpgradeService,\n PoiSyncService,\n IBlock,\n} from '@subql/node-core';\nimport { StellarBlockWrapper, SubqlDatasource } from '@subql/types-stellar';\nimport { SubqueryProject } from '../../configure/SubqueryProject';\nimport { IndexerManager } from '../indexer.manager';\n\n/**\n * @description Intended to behave the same as WorkerBlockDispatcherService but doesn't use worker threads or any parallel processing\n */\n@Injectable()\nexport class BlockDispatcherService\n extends BlockDispatcher<StellarBlockWrapper, SubqlDatasource>\n implements OnApplicationShutdown\n{\n constructor(\n apiService: ApiService,\n nodeConfig: NodeConfig,\n private indexerManager: IndexerManager,\n eventEmitter: EventEmitter2,\n @Inject('IProjectService')\n projectService: IProjectService<SubqlDatasource>,\n @Inject('IProjectUpgradeService')\n projectUpgradeService: IProjectUpgradeService,\n storeService: StoreService,\n storeCacheService: StoreCacheService,\n poiSyncService: PoiSyncService,\n @Inject('ISubqueryProject') project: SubqueryProject,\n ) {\n super(\n nodeConfig,\n eventEmitter,\n projectService,\n projectUpgradeService,\n storeService,\n storeCacheService,\n poiSyncService,\n project,\n apiService.fetchBlocks.bind(apiService),\n );\n }\n\n protected async indexBlock(\n block: IBlock<StellarBlockWrapper>,\n ): Promise<ProcessBlockResponse> {\n return this.indexerManager.indexBlock(\n block,\n await this.projectService.getDataSources(block.getHeader().blockHeight),\n );\n }\n}\n"]}
@@ -30,6 +30,8 @@ class StellarBlockWrapped {
30
30
  return this._events;
31
31
  }
32
32
  static filterBlocksProcessor(block, filter, address) {
33
+ if (!filter)
34
+ return true;
33
35
  if ((filter === null || filter === void 0 ? void 0 : filter.modulo) && block.sequence % filter.modulo !== 0) {
34
36
  return false;
35
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"block.stellar.js","sourceRoot":"","sources":["../../src/stellar/block.stellar.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { filterBlockTimestamp } from '@subql/node-core';\nimport {\n StellarBlock,\n StellarBlockFilter,\n StellarBlockWrapper,\n StellarEffect,\n StellarEffectFilter,\n SorobanEvent,\n SorobanEventFilter,\n StellarOperation,\n StellarOperationFilter,\n StellarTransaction,\n StellarTransactionFilter,\n} from '@subql/types-stellar';\nimport { scValToNative } from 'stellar-sdk';\nimport { SubqlProjectBlockFilter } from '../configure/SubqueryProject';\nimport { stringNormalizedEq } from '../utils/string';\n\nexport class StellarBlockWrapped implements StellarBlockWrapper {\n constructor(\n private _block: StellarBlock,\n private _transactions: StellarTransaction[],\n private _operations: StellarOperation[],\n private _effects: StellarEffect[],\n private _events: SorobanEvent[],\n ) {}\n\n get block(): StellarBlock {\n return this._block;\n }\n\n get transactions(): StellarTransaction[] {\n return this._transactions;\n }\n\n get operations(): StellarOperation[] {\n return this._operations;\n }\n\n get effects(): StellarEffect[] {\n return this._effects;\n }\n\n get events(): SorobanEvent[] {\n return this._events;\n }\n\n static filterBlocksProcessor(\n block: StellarBlock,\n filter: StellarBlockFilter,\n address?: string,\n ): boolean {\n if (filter?.modulo && block.sequence % filter.modulo !== 0) {\n return false;\n }\n if (\n !filterBlockTimestamp(\n new Date(block.closed_at).getTime(),\n filter as SubqlProjectBlockFilter,\n )\n ) {\n return false;\n }\n return true;\n }\n\n static filterTransactionProcessor(\n tx: StellarTransaction,\n filter: StellarTransactionFilter,\n address?: string,\n ): boolean {\n if (!filter) return true;\n if (filter.account && filter.account !== (tx as any).source_account) {\n return false;\n }\n\n return true;\n }\n\n static filterOperationProcessor(\n op: StellarOperation,\n filter: StellarOperationFilter,\n address?: string,\n ): boolean {\n if (!filter) return true;\n if (filter.sourceAccount && filter.sourceAccount !== op.source_account) {\n return false;\n }\n if (filter.type && filter.type !== op.type) {\n return false;\n }\n\n return true;\n }\n\n static filterEffectProcessor(\n effect: StellarEffect,\n filter: StellarEffectFilter,\n address?: string,\n ): boolean {\n if (!filter) return true;\n if (filter.account && filter.account !== effect.account) {\n return false;\n }\n if (filter.type && filter.type !== effect.type) {\n return false;\n }\n\n return true;\n }\n\n static filterEventProcessor(\n event: SorobanEvent,\n filter: SorobanEventFilter,\n address?: string,\n ): boolean {\n if (address && !stringNormalizedEq(address, event.contractId.toString())) {\n return false;\n }\n\n if (!filter) return true;\n\n if (\n filter.contractId &&\n filter.contractId !== event.contractId?.toString()\n ) {\n return false;\n }\n\n if (filter.topics) {\n for (let i = 0; i < Math.min(filter.topics.length, 4); i++) {\n const topic = filter.topics[i];\n if (!topic) {\n continue;\n }\n\n if (!event.topic[i]) {\n return false;\n }\n if (topic !== scValToNative(event.topic[i])) {\n return false;\n }\n }\n }\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"block.stellar.js","sourceRoot":"","sources":["../../src/stellar/block.stellar.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { filterBlockTimestamp } from '@subql/node-core';\nimport {\n StellarBlock,\n StellarBlockFilter,\n StellarBlockWrapper,\n StellarEffect,\n StellarEffectFilter,\n SorobanEvent,\n SorobanEventFilter,\n StellarOperation,\n StellarOperationFilter,\n StellarTransaction,\n StellarTransactionFilter,\n} from '@subql/types-stellar';\nimport { scValToNative } from 'stellar-sdk';\nimport { SubqlProjectBlockFilter } from '../configure/SubqueryProject';\nimport { stringNormalizedEq } from '../utils/string';\n\nexport class StellarBlockWrapped implements StellarBlockWrapper {\n constructor(\n private _block: StellarBlock,\n private _transactions: StellarTransaction[],\n private _operations: StellarOperation[],\n private _effects: StellarEffect[],\n private _events: SorobanEvent[],\n ) {}\n\n get block(): StellarBlock {\n return this._block;\n }\n\n get transactions(): StellarTransaction[] {\n return this._transactions;\n }\n\n get operations(): StellarOperation[] {\n return this._operations;\n }\n\n get effects(): StellarEffect[] {\n return this._effects;\n }\n\n get events(): SorobanEvent[] {\n return this._events;\n }\n\n static filterBlocksProcessor(\n block: StellarBlock,\n filter: StellarBlockFilter,\n address?: string,\n ): boolean {\n if (!filter) return true;\n if (filter?.modulo && block.sequence % filter.modulo !== 0) {\n return false;\n }\n if (\n !filterBlockTimestamp(\n new Date(block.closed_at).getTime(),\n filter as SubqlProjectBlockFilter,\n )\n ) {\n return false;\n }\n return true;\n }\n\n static filterTransactionProcessor(\n tx: StellarTransaction,\n filter: StellarTransactionFilter,\n address?: string,\n ): boolean {\n if (!filter) return true;\n if (filter.account && filter.account !== (tx as any).source_account) {\n return false;\n }\n\n return true;\n }\n\n static filterOperationProcessor(\n op: StellarOperation,\n filter: StellarOperationFilter,\n address?: string,\n ): boolean {\n if (!filter) return true;\n if (filter.sourceAccount && filter.sourceAccount !== op.source_account) {\n return false;\n }\n if (filter.type && filter.type !== op.type) {\n return false;\n }\n\n return true;\n }\n\n static filterEffectProcessor(\n effect: StellarEffect,\n filter: StellarEffectFilter,\n address?: string,\n ): boolean {\n if (!filter) return true;\n if (filter.account && filter.account !== effect.account) {\n return false;\n }\n if (filter.type && filter.type !== effect.type) {\n return false;\n }\n\n return true;\n }\n\n static filterEventProcessor(\n event: SorobanEvent,\n filter: SorobanEventFilter,\n address?: string,\n ): boolean {\n if (address && !stringNormalizedEq(address, event.contractId.toString())) {\n return false;\n }\n\n if (!filter) return true;\n\n if (\n filter.contractId &&\n filter.contractId !== event.contractId?.toString()\n ) {\n return false;\n }\n\n if (filter.topics) {\n for (let i = 0; i < Math.min(filter.topics.length, 4); i++) {\n const topic = filter.topics[i];\n if (!topic) {\n continue;\n }\n\n if (!event.topic[i]) {\n return false;\n }\n if (topic !== scValToNative(event.topic[i])) {\n return false;\n }\n }\n }\n return true;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subql/node-stellar",
3
- "version": "3.11.0",
3
+ "version": "3.11.2",
4
4
  "description": "",
5
5
  "author": "Ian He",
6
6
  "license": "GPL-3.0",
@@ -26,11 +26,11 @@
26
26
  "@nestjs/schedule": "^3.0.1",
27
27
  "@subql/common": "^3.5.1",
28
28
  "@subql/common-stellar": "3.5.0",
29
- "@subql/node-core": "^10.1.0",
29
+ "@subql/node-core": "10.1.0",
30
30
  "@subql/testing": "^2.0.0",
31
- "@subql/types": "^2.2.1-1",
32
31
  "@subql/types-stellar": "3.4.0",
33
32
  "lodash": "^4.17.21",
33
+ "pg": "^8.11.5",
34
34
  "reflect-metadata": "^0.1.13",
35
35
  "rimraf": "^3.0.2",
36
36
  "stellar-sdk": "^11.2.2",