Skip to content

Ethereum publish - #1

Merged
Wizdave97 merged 3 commits into
mainfrom
ethereum-publish
Feb 10, 2026
Merged

Wizdave97 merged 3 commits into
mainfrom
ethereum-publish

Conversation

@Wizdave97

Copy link
Copy Markdown
Member

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

@Wizdave97
Wizdave97 merged commit 67e8df6 into main Feb 10, 2026
@github-actions

Copy link
Copy Markdown

Coverage report

Caution

Test run failed

St.❔
Category Percentage Covered / Total
🔴 Statements 58.35% 3670/6290
🟡 Branches 70.85% 440/621
🔴 Functions 48.95% 140/286
🔴 Lines 58.35% 3670/6290

Test suite run failed

Failed tests: 13/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)


  ● 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)


  ● OPRPCProviders › should work with a network that isnt OP based

    thrown: "Exceeded timeout of 10000 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."

      39 |   });
      40 |
    > 41 |   it('should work with a network that isnt OP based', async () => {
         |   ^
      42 |     const provider = new OPJsonRpcProvider('https://eth.llamarpc.com');
      43 |
      44 |     const receipt = formatReceipt<EthereumReceipt & OPReceiptFields>(

      at packages/node/src/ethereum/ethers/op/op-provider.spec.ts:41:3
      at Object.<anonymous> (packages/node/src/ethereum/ethers/op/op-provider.spec.ts:19:1)


  ● 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

    expect(received).toEqual(expected) // deep equality

    Expected: true
    Received: false

      342 |       await ethApi.init();
      343 |
    > 344 |       expect(ethApi.supportsFinalization).toEqual(finalization);
          |                                           ^
      345 |     },
      346 |   );
      347 |

      at packages/node/src/ethereum/api.ethereum.test.ts:344:43


  ● 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 › ensure api errorCode is exposed when throwing

    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."

       97 |   });
       98 |
    >  99 |   it('ensure api errorCode is exposed when throwing', async () => {
          |   ^
      100 |     await expect(
      101 |       apiService
      102 |         .safeApi(17520376)

      at packages/node/src/ethereum/api.service.ethereum.test.ts:99: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 39f9c34

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