Skip to content

bump node-core to 19.2.0#416

Open
ianhe8x wants to merge 3 commits intomainfrom
bump-core
Open

bump node-core to 19.2.0#416
ianhe8x wants to merge 3 commits intomainfrom
bump-core

Conversation

@ianhe8x
Copy link

@ianhe8x ianhe8x commented Feb 26, 2026

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist

  • I have tested locally
  • I have performed a self review of my changes
  • Updated any relevant documentation
  • Linked to any relevant issues
  • I have added tests relevant to my changes
  • Any dependent changes have been merged and published in downstream modules
  • My code is up to date with the base branch
  • I have updated relevant changelogs. We suggest using chan

Summary by CodeRabbit

  • Chores

    • Version updated to 6.4.0-1
    • Core dependency updated to 19.2.0
  • Bug Fixes / Internal Improvements

    • Improved handling of unfinalized blocks and fork detection for more reliable reindexing and stability

@coderabbitai
Copy link

coderabbitai bot commented Feb 26, 2026

📝 Walkthrough

Walkthrough

Version bumped in packages/node/package.json to 6.4.0-1 and @subql/node-core updated to ^19.2.0. UnfinalizedBlocksService.init() signature simplified by removing the supportsFinalisation parameter and related branching; fork detection logic consolidated into the class.

Changes

Cohort / File(s) Summary
Package Configuration
packages/node/package.json
Version updated from 6.3.3 to 6.4.0-1. Dependency @subql/node-core updated from ^19.1.0 to ^19.2.0.
Service Implementation
packages/node/src/indexer/unfinalizedBlocks.service.ts
Removed supportsFinalisation parameter from init(reindex) signature and eliminated conditional branches relying on it; hasForked() and getLastCorrectFinalizedBlock() now always use the class's fork-detection logic.

Estimated Code Review Effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 I hopped through code with nimble paws and cheer,
Flags tucked away, the path now bright and clear.
Forks are spotted by a single steady gaze,
Version bumped, I celebrate with joyful praise! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately describes the main change: bumping node-core from ^19.1.0 to ^19.2.0. However, it omits the secondary change of updating the package version from 6.3.3 to 6.4.0-1, and the signature change to UnfinalizedBlocksService.init(). The title captures the primary objective but is incomplete.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bump-core

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7c40dc16b3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 43 to 45
async init(
reindex: (targetHeight: Header) => Promise<void>,
supportsFinalisation?: boolean,
): Promise<Header | undefined> {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Restore finalized-mode flag in init

Dropping the supportsFinalisation argument from init means this service no longer tracks whether the chain supports the finalized tag, so finalized-capable networks now always execute the non-finalized fallback logic in the overrides. In that mode, fork recovery can fall through to POI (or blockForkReindex when POI is disabled) instead of using the base finalized-chain path, which can trigger unnecessary deep rewinds and rollback indexed data on deterministic-finality chains after startup/hash-mismatch scenarios.

Useful? React with 👍 / 👎.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
packages/node/src/indexer/unfinalizedBlocks.service.ts (1)

78-78: Clarify the fallback fork-detection comment.

Line 78 says fork detection “won’t find fork,” but Lines 79–86 still detect and return a forked header as a defensive fallback. Please reword for accuracy.

Suggested comment update
-    // this now won't find fork as such cases has been covered when registerUnfinalizedBlock() is called
+    // Most fork cases are handled in registerUnfinalizedBlock(); this remains as a defensive fallback check.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/node/src/indexer/unfinalizedBlocks.service.ts` at line 78, Update
the misleading comment above the fork-check in UnfinalizedBlocksService to state
that primary fork detection is performed in registerUnfinalizedBlock(), but this
code path (the check that can return a forked header) remains as a defensive
fallback and may still detect and return a fork; reference the
registerUnfinalizedBlock() function name and the local fork-detection block (the
conditional that returns a forked header) so the intent is clear that both
mechanisms exist.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@packages/node/src/indexer/unfinalizedBlocks.service.ts`:
- Line 78: Update the misleading comment above the fork-check in
UnfinalizedBlocksService to state that primary fork detection is performed in
registerUnfinalizedBlock(), but this code path (the check that can return a
forked header) remains as a defensive fallback and may still detect and return a
fork; reference the registerUnfinalizedBlock() function name and the local
fork-detection block (the conditional that returns a forked header) so the
intent is clear that both mechanisms exist.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 75483ba and ba46513.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (2)
  • packages/node/package.json
  • packages/node/src/indexer/unfinalizedBlocks.service.ts

@github-actions
Copy link

github-actions bot commented Feb 26, 2026

Coverage report

Caution

Test run failed

St.
Category Percentage Covered / Total
🔴 Statements 56.69% 3563/6285
🟡 Branches 69.61% 410/589
🔴 Functions 46.83% 133/284
🔴 Lines 56.69% 3563/6285

Test suite run failed

Failed tests: 21/121. Failed suites: 6/16.
  ● Codegen spec › validate Abi.json Indexed Topic

    expect(received).resolves.toBeDefined()

    Received promise rejected instead of resolved
    Rejected to value: [TypeError: prepareDirPath is not a function]

      384 |     };
      385 |
    > 386 |     await expect(
          |           ^
      387 |       generateAbis([ds], PROJECT_PATH, undefined as any, undefined as any, undefined as any)
      388 |     ).resolves.toBeDefined();
      389 |   });

      at expect (node_modules/expect/build/index.js:105:15)
      at Object.<anonymous> (packages/common-ethereum/src/codegen/codegen-controller.spec.ts:386:11)


  ● UnfinalizedBlockService › handles a block fork

    TypeError: this.apiService.api.getBestBlockHeight is not a function

      84 |
      85 |   async getBestHeight(): Promise<number> {
    > 86 |     return this.apiService.api.getBestBlockHeight();
         |                                ^
      87 |   }
      88 |
      89 |   // eslint-disable-next-line @typescript-eslint/require-await

      at BlockchainService.getBestHeight (packages/node/src/blockchain.service.ts:86:32)
      at UnfinalizedBlocksService.registerUnfinalizedBlock (node_modules/@subql/node-core/src/indexer/unfinalizedBlocks.service.ts:142:61)
      at UnfinalizedBlocksService.processUnfinalizedBlockHeader (node_modules/@subql/node-core/src/indexer/unfinalizedBlocks.service.ts:105:33)
      at Object.<anonymous> (packages/node/src/indexer/unfinalizedBlocks.service.spec.ts:121:44)

  ● UnfinalizedBlockService › uses POI blocks if there are not enough cached unfinalized blocks

    TypeError: this.apiService.api.getBestBlockHeight is not a function

      84 |
      85 |   async getBestHeight(): Promise<number> {
    > 86 |     return this.apiService.api.getBestBlockHeight();
         |                                ^
      87 |   }
      88 |
      89 |   // eslint-disable-next-line @typescript-eslint/require-await

      at BlockchainService.getBestHeight (packages/node/src/blockchain.service.ts:86:32)
      at UnfinalizedBlocksService.registerUnfinalizedBlock (node_modules/@subql/node-core/src/indexer/unfinalizedBlocks.service.ts:142:61)
      at UnfinalizedBlocksService.processUnfinalizedBlockHeader (node_modules/@subql/node-core/src/indexer/unfinalizedBlocks.service.ts:105:33)
      at Object.<anonymous> (packages/node/src/indexer/unfinalizedBlocks.service.spec.ts:147:44)


  ● eth dictionary v2 › converts ds to v2 dictionary queries

    Malformed response

      263 |   ): Promise<EthDictionaryV2> {
      264 |     const dictionary = new EthDictionaryV2(endpoint, nodeConfig, project, api);
    > 265 |     await dictionary.init();
          |     ^
      266 |     return dictionary;
      267 |   }
      268 |

      at subqlFilterBlocksCapabilities (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:61:11)
      at EthDictionaryV2.init (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:101:22)
      at EthDictionaryV2.create (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.ts:265:5)
      at Object.<anonymous> (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.spec.ts:131:23)

  ● eth dictionary v2 › query response match with entries

    Malformed response

      263 |   ): Promise<EthDictionaryV2> {
      264 |     const dictionary = new EthDictionaryV2(endpoint, nodeConfig, project, api);
    > 265 |     await dictionary.init();
          |     ^
      266 |     return dictionary;
      267 |   }
      268 |

      at subqlFilterBlocksCapabilities (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:61:11)
      at EthDictionaryV2.init (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:101:22)
      at EthDictionaryV2.create (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.ts:265:5)
      at Object.<anonymous> (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.spec.ts:131:23)

  ● eth dictionary v2 › is able to get transaction with field to is null

    Malformed response

      263 |   ): Promise<EthDictionaryV2> {
      264 |     const dictionary = new EthDictionaryV2(endpoint, nodeConfig, project, api);
    > 265 |     await dictionary.init();
          |     ^
      266 |     return dictionary;
      267 |   }
      268 |

      at subqlFilterBlocksCapabilities (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:61:11)
      at EthDictionaryV2.init (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:101:22)
      at EthDictionaryV2.create (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.ts:265:5)
      at Object.<anonymous> (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.spec.ts:131:23)

  ● eth dictionary v2 › is able to query with not null topics

    Malformed response

      263 |   ): Promise<EthDictionaryV2> {
      264 |     const dictionary = new EthDictionaryV2(endpoint, nodeConfig, project, api);
    > 265 |     await dictionary.init();
          |     ^
      266 |     return dictionary;
      267 |   }
      268 |

      at subqlFilterBlocksCapabilities (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:61:11)
      at EthDictionaryV2.init (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:101:22)
      at EthDictionaryV2.create (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.ts:265:5)
      at Object.<anonymous> (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.spec.ts:131:23)

  ● eth dictionary v2 › returns a lastBufferedHeight if there are no block results

    Malformed response

      263 |   ): Promise<EthDictionaryV2> {
      264 |     const dictionary = new EthDictionaryV2(endpoint, nodeConfig, project, api);
    > 265 |     await dictionary.init();
          |     ^
      266 |     return dictionary;
      267 |   }
      268 |

      at subqlFilterBlocksCapabilities (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:61:11)
      at EthDictionaryV2.init (node_modules/@subql/node-core/src/indexer/dictionary/v2/dictionaryV2.ts:101:22)
      at EthDictionaryV2.create (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.ts:265:5)
      at Object.<anonymous> (packages/node/src/indexer/dictionary/v2/ethDictionaryV2.spec.ts:131:23)


  ● rawBlockToEthBlock › successfully converts a block

    TypeError: Cannot read properties of undefined (reading 'blocks')

      52 |   });
      53 |
    > 54 |   return (await res.json()).result.blocks[0];
         |                                    ^
      55 | }
      56 |
      57 | describe('rawBlockToEthBlock', () => {

      at fetchDictionaryBlock (packages/node/src/indexer/dictionary/v2/utils.spec.ts:54:36)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/node/src/indexer/dictionary/v2/utils.spec.ts:63:23)

  ● rawBlockToEthBlock › can fetch receipts

    TypeError: Cannot read properties of undefined (reading 'blocks')

      52 |   });
      53 |
    > 54 |   return (await res.json()).result.blocks[0];
         |                                    ^
      55 | }
      56 |
      57 | describe('rawBlockToEthBlock', () => {

      at fetchDictionaryBlock (packages/node/src/indexer/dictionary/v2/utils.spec.ts:54:36)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/node/src/indexer/dictionary/v2/utils.spec.ts:63:23)


  ● Api.ethereum › Null filter support

    unknown block

      173 |             );
      174 |           } else if (payload.error) {
    > 175 |             const error = new Error(payload.error.message);
          |                           ^
      176 |             (<any>error).code = payload.error.code;
      177 |             (<any>error).data = payload.error.data;
      178 |             if (

      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:175:27
          at Array.forEach (<anonymous>)
      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:166:15

  ● Api.ethereum › !null filter support for logs, expect to filter out

    unknown block

      173 |             );
      174 |           } else if (payload.error) {
    > 175 |             const error = new Error(payload.error.message);
          |                           ^
      176 |             (<any>error).code = payload.error.code;
      177 |             (<any>error).data = payload.error.data;
      178 |             if (

      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:175:27
          at Array.forEach (<anonymous>)
      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:166:15

  ● Api.ethereum › Null filter support, for undefined transaction.to

    unknown block

      173 |             );
      174 |           } else if (payload.error) {
    > 175 |             const error = new Error(payload.error.message);
          |                           ^
      176 |             (<any>error).code = payload.error.code;
      177 |             (<any>error).data = payload.error.data;
      178 |             if (

      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:175:27
          at Array.forEach (<anonymous>)
      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:166:15

  ● Api.ethereum › Should return all tx if filter.to is not defined

    unknown block

      173 |             );
      174 |           } else if (payload.error) {
    > 175 |             const error = new Error(payload.error.message);
          |                           ^
      176 |             (<any>error).code = payload.error.code;
      177 |             (<any>error).data = payload.error.data;
      178 |             if (

      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:175:27
          at Array.forEach (<anonymous>)
      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:166:15

  ● Api.ethereum › filter.to Should support only null not undefined

    unknown block

      173 |             );
      174 |           } else if (payload.error) {
    > 175 |             const error = new Error(payload.error.message);
          |                           ^
      176 |             (<any>error).code = payload.error.code;
      177 |             (<any>error).data = payload.error.data;
      178 |             if (

      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:175:27
          at Array.forEach (<anonymous>)
      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:166:15

  ● Api.ethereum › If transaction is undefined, with null filter, should be supported

    unknown block

      173 |             );
      174 |           } else if (payload.error) {
    > 175 |             const error = new Error(payload.error.message);
          |                           ^
      176 |             (<any>error).code = payload.error.code;
      177 |             (<any>error).data = payload.error.data;
      178 |             if (

      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:175:27
          at Array.forEach (<anonymous>)
      at packages/node/src/ethereum/ethers/json-rpc-batch-provider.ts:166:15

  ● Api.ethereum › Resolve the correct finalization tags for https://binance.llamarpc.com

    thrown: "Exceeded timeout of 90000 ms for a test.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

      336 |     ['https://binance.llamarpc.com', true],
      337 |     ['https://polygon-rpc.com', true],
    > 338 |   ])(
          |     ^
      339 |     'Resolve the correct finalization tags for %s',
      340 |     async (endpoint, finalization) => {
      341 |       ethApi = new EthereumApi(endpoint, BLOCK_CONFIRMATIONS, eventEmitter);

      at node_modules/jest-each/build/bind.js:45:15
          at Array.forEach (<anonymous>)
      at packages/node/src/ethereum/api.ethereum.test.ts:338:5
      at Object.<anonymous> (packages/node/src/ethereum/api.ethereum.test.ts:46:1)

  ● Api.ethereum › Resolve the correct finalization tags for https://polygon-rpc.com

    could not detect network (event="noNetwork", code=NETWORK_ERROR, version=providers/5.7.2)

      at Logger.Object.<anonymous>.Logger.makeError (node_modules/@ethersproject/logger/src.ts/index.ts:269:28)
      at Logger.Object.<anonymous>.Logger.throwError (node_modules/@ethersproject/logger/src.ts/index.ts:281:20)
      at OPProvider.<anonymous> (node_modules/@ethersproject/providers/src.ts/json-rpc-provider.ts:483:23)
      at step (node_modules/@ethersproject/providers/lib/json-rpc-provider.js:48:23)
      at Object.throw (node_modules/@ethersproject/providers/lib/json-rpc-provider.js:29:53)
      at rejected (node_modules/@ethersproject/providers/lib/json-rpc-provider.js:21:65)


  ● ApiService › can fetch blocks

    expect(received).resolves.toHaveLength()

    Received promise rejected instead of resolved
    Rejected to value: [Error: eth_getLogs range is too large, max is 1k blocks]

      85 |
      86 |   it('can fetch blocks', async () => {
    > 87 |     await expect(
         |           ^
      88 |       apiService.api.fetchBlocks(range(12369621, 12369625)),
      89 |     ).resolves.toHaveLength(4);
      90 |   });

      at expect (node_modules/expect/build/index.js:105:15)
      at Object.<anonymous> (packages/node/src/ethereum/api.service.ethereum.test.ts:87:11)

  ● ApiService › can get the finalized height

    thrown: "Exceeded timeout of 90000 ms for a test.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

      90 |   });
      91 |
    > 92 |   it('can get the finalized height', async () => {
         |   ^
      93 |     const height = (await apiService.api.getFinalizedBlock()).number;
      94 |
      95 |     console.log('Finalized height', height);

      at packages/node/src/ethereum/api.service.ethereum.test.ts:92:3
      at Object.<anonymous> (packages/node/src/ethereum/api.service.ethereum.test.ts:70:1)

  ● ApiService › ensure api errorCode is exposed when throwing

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

      72 |   let app: INestApplication;
      73 |
    > 74 |   beforeEach(async () => {
         |   ^
      75 |     [apiService, app] = await prepareApiService();
      76 |   });
      77 |

      at packages/node/src/ethereum/api.service.ethereum.test.ts:74:3
      at Object.<anonymous> (packages/node/src/ethereum/api.service.ethereum.test.ts:70:1)

  ● ApiService › should not retry on any errors not in the retry list

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

      72 |   let app: INestApplication;
      73 |
    > 74 |   beforeEach(async () => {
         |   ^
      75 |     [apiService, app] = await prepareApiService();
      76 |   });
      77 |

      at packages/node/src/ethereum/api.service.ethereum.test.ts:74:3
      at Object.<anonymous> (packages/node/src/ethereum/api.service.ethereum.test.ts:70:1)

Report generated by 🧪jest coverage report action from ba46513

@ianhe8x ianhe8x changed the title bump node-core to 19.1.1-0 bump node-core to 19.2.0 Mar 9, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/node/package.json`:
- Line 29: The PR title and description claim bumping "@subql/node-core" to
19.1.1-0 but package.json currently shows "@subql/node-core": "^19.2.0";
reconcile by either changing the dependency string in package.json to the
intended "^19.1.1-0" (update the entry for "@subql/node-core") or update the PR
title/description to accurately state the bump to "^19.2.0" so they match.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 69a0a057-2395-4c61-9bc2-e9b6f8dbfc27

📥 Commits

Reviewing files that changed from the base of the PR and between ba46513 and 5fb8b91.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (1)
  • packages/node/package.json

"@subql/common": "^5.8.2",
"@subql/common-ethereum": "workspace:*",
"@subql/node-core": "^19.1.0",
"@subql/node-core": "^19.2.0",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Version inconsistency between PR title and actual change.

The PR title states "bump node-core to 19.1.1-0" but the actual dependency change is to ^19.2.0. Please reconcile the PR title/description with the actual version being used to avoid confusion.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/node/package.json` at line 29, The PR title and description claim
bumping "@subql/node-core" to 19.1.1-0 but package.json currently shows
"@subql/node-core": "^19.2.0"; reconcile by either changing the dependency
string in package.json to the intended "^19.1.1-0" (update the entry for
"@subql/node-core") or update the PR title/description to accurately state the
bump to "^19.2.0" so they match.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant