Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement dynamic block fetching based on block size #2611

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

stwiname
Copy link
Collaborator

Description

Ditches the smart batch size implementation that wasnt working because it didn't correctly calculate block sizes. This new method requires each chain to implement a block size function which is then used to calculate a median size based on the last 1000 indexed blocks. This data is then used to adjust the concurrency of fetching blocks. It will also start indexing with a low concurrency then increase as it has more data to work with.

This is designed to much better deal with large blocks as it will reduce memory usage and requesting large amounts of data at once over the network. It is not a perfect solution but should be a good step forward. In cases where large blocks are not dealt with a restart and low startup concurrency should avoid getting stuck indexing.

TODO

  • Update for worker threads

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)

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

Copy link

Coverage report for .

Caution

Test run failed

St.
Category Percentage Covered / Total
🟡 Statements
66.06% (-4.05% 🔻)
20061/30369
🟡 Branches
78.22% (-0.08% 🔻)
2621/3351
🟡 Functions
69.06% (+6.56% 🔼)
1125/1629
🟡 Lines
66.06% (-4.05% 🔻)
20061/30369

⚠️ Details were not displayed: the report size has exceeded the limit.

Test suite run failed

Failed tests: 40/600. Failed suites: 10/108.
  ● Fetch Service › enqueues blocks WITHOUT dictionary

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10

    Number of calls: 0

      360 |     await fetchService.init(1);
      361 |
    > 362 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10);
          |                              ^
      363 |     expect(dictionarySpy).toHaveReturnedWith(undefined); // Dictionary not used
      364 |   });
      365 |

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:362:30)

  ● Fetch Service › enqueues blocks WITH valid dictionary results

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [2, 4, 6, 8, 10], 10

    Number of calls: 0

      368 |     const dictionarySpy = jest.spyOn(dictionaryService, 'scopedDictionaryEntries');
      369 |     await fetchService.init(1);
    > 370 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([2, 4, 6, 8, 10], 10);
          |                              ^
      371 |     expect(dictionarySpy).toHaveBeenCalled();
      372 |   });
      373 |

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:370:30)

  ● Fetch Service › updates the last processed height if the dictionary result is empty

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [], 1000

    Number of calls: 0

      390 |
      391 |     // Update the last processed height but not enqueue blocks
    > 392 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([], 1000);
          |                              ^
      393 |
      394 |     // Wait and see that it has only called the dictionary once, it should stop using it after that
      395 |     await delay(2);

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:392:30)

  ● Fetch Service › enqueues modulo blocks WITHOUT dictionary

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30], 30

    Number of calls: 0

      425 |     await fetchService.init(1);
      426 |     // expect((fetchService as any).useDictionary).toBeFalsy();
    > 427 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([3, 6, 9, 12, 15, 18, 21, 24, 27, 30], 30);
          |                              ^
      428 |     expect(dictionarySpy).toHaveReturnedWith(undefined); // Dictionary not used
      429 |   });
      430 |

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:427:30)

  ● Fetch Service › enqueues modulo blocks WITH dictionary

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [2, 3, 4, 6, 8, 9, 10, 12, 15, 18], 18

    Number of calls: 0

      439 |     // This should include dictionary results interleaved with modulo blocks
      440 |     // [2, 4, 6, 8, 10] + [3, 6, 9, 12, 15, 18]. 18 is included because there is a duplicate of 6
    > 441 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([2, 3, 4, 6, 8, 9, 10, 12, 15, 18], 18);
          |                              ^
      442 |     expect(dictionarySpy).not.toHaveReturnedWith(undefined); // Dictionary used
      443 |   });
      444 |

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:441:30)

  ● Fetch Service › enqueue modulo blocks with match height

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [20, 40, 60, 80, 100], 100

    Number of calls: 0

      482 |     fetchService.mockDsMap(moduloBlockHeightMap);
      483 |     await fetchService.init(1);
    > 484 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([20, 40, 60, 80, 100], 100);
          |                              ^
      485 |   });
      486 |
      487 |   it('skip modulo blocks if in that ranges has no data source, it should enqueue nothing', async () => {

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:484:30)

  ● Fetch Service › enqueues modulo blocks correctly

    expect(jest.fn()).toHaveBeenLastCalledWith(...expected)

    Expected: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 11

    Number of calls: 0

      548 |     await fetchService.init(2);
      549 |
    > 550 |     expect(enqueueBlocksSpy).toHaveBeenLastCalledWith([2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 11);
          |                              ^
      551 |   });
      552 |
      553 |   it('when enqueue ds endHeight less than modulo height, should not include any modulo', async () => {

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:550:30)

  ● Fetch Service › when enqueue ds endHeight less than modulo height, should not include any modulo

    expect(jest.fn()).toHaveBeenLastCalledWith(...expected)

    Expected: [2, 3, 4, 5, 6, 7, 8, 9], 9

    Number of calls: 0

      587 |     // First ds not found modulo will enqueue block until next ds startHeight -1, so it is 9 here
      588 |     await fetchService.init(2);
    > 589 |     expect(enqueueBlocksSpy).toHaveBeenLastCalledWith([2, 3, 4, 5, 6, 7, 8, 9], 9);
          |                              ^
      590 |   });
      591 |
      592 |   it('enqueues modulo blocks with furture dataSources', async () => {

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:589:30)

  ● Fetch Service › enqueues modulo blocks with furture dataSources

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [3, 6, 9, 12, 15, 18], 18

    Number of calls: 0

      599 |     // This should include dictionary results interleaved with modulo blocks
      600 |     // [2, 4, 6, 8, 10] + [3, 6, 9, 12, 15, 18]. 18 is included because there is a duplicate of 6
    > 601 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([3, 6, 9, 12, 15, 18], 18);
          |                              ^
      602 |   });
      603 |
      604 |   it('at the end of modulo block filter, enqueue END should be min of data source range end height and api last height', async () => {

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:601:30)

  ● Fetch Service › skips bypassBlocks

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [1, 2, 4, 5, 6, 7, 8, 9, 10], 10

    Number of calls: 0

      619 |     expect((fetchService as any).useDictionary).toBeFalsy();
      620 |     // Note the batch size is smaller because we exclude from the initial batch size
    > 621 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([1, 2, 4, 5, 6, 7, 8, 9, 10], 10);
          |                              ^
      622 |   });
      623 |
      624 |   it('transforms bypassBlocks', async () => {

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:621:30)

  ● Fetch Service › transforms bypassBlocks

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [1, 6, 7, 8, 9, 10], 10

    Number of calls: 0

      629 |
      630 |     // Note the batch size is smaller because we exclude from the initial batch size
    > 631 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([1, 6, 7, 8, 9, 10], 10);
          |                              ^
      632 |   });
      633 |
      634 |   it('dictionary page limited result and modulo block enqueues correct blocks', async () => {

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:631:30)

  ● Fetch Service › dictionary page limited result and modulo block enqueues correct blocks

    expect(jest.fn()).toHaveBeenCalledWith(...expected)

    Expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10

    Number of calls: 0

      650 |
      651 |     // Modulo blocks should not be added as we are within batch size
    > 652 |     expect(enqueueBlocksSpy).toHaveBeenCalledWith([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10);
          |                              ^
      653 |   });
      654 |
      655 |   it('dictionary dictionary queries to be limited to target block height (finalized/latest depending on settings)', async () => {

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:652:30)

  ● Fetch Service › falls back to sequential blocks if dictionary returns undefined

    expect(jest.fn()).toHaveBeenCalledTimes(expected)

    Expected number of calls: 1
    Received number of calls: 0

      697 |     await fetchService.init(10);
      698 |     expect(dictionarySpy).toHaveBeenCalledTimes(1);
    > 699 |     expect(spyOnEnqueueSequential).toHaveBeenCalledTimes(1);
          |                                    ^
      700 |
      701 |     expect(enqueueBlocksSpy).toHaveBeenLastCalledWith([10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 19);
      702 |   });

      at Object.<anonymous> (packages/node-core/src/indexer/fetch.service.spec.ts:699:36)


  ● Dictionary V1 › coreDictionary › set startHeight of this dictionary

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › coreDictionary › validateChainMeta and useDictionary

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › coreDictionary › validate dictionary with a height

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › coreDictionary › able to build queryEntryMap

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › coreDictionary › can use scoped dictionary query

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › coreDictionary › able to getDicitonaryQueryEntries

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › get metadata

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › init metadata and get metadata

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › return dictionary query result

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › should return undefined startblock height greater than dictionary last processed height

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary V1 › should use metadata last process height at end of query height

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Individual dictionary V1 test › return undefined when dictionary api failed

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Individual dictionary V1 test › limits the dictionary query to that block range

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Individual dictionary V1 test › test query the correct range

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Individual dictionary V1 test › use minimum value of event/extrinsic returned block as batch end block

    ApolloError: Response not successful: Received status code 500

      at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
      at node_modules/@apollo/client/core/QueryManager.js:777:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:145:17

    Cause:
    ServerError: Response not successful: Received status code 500

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48


  ● Store cache upper threshold › waits for flushing when threshold is met

    expect(received).toBeGreaterThanOrEqual(expected)

    Expected: >= 1000
    Received:    999

      292 |
      293 |     // Should be more than 1s, we set the db tx.commit to take 1s
    > 294 |     expect(end - start).toBeGreaterThanOrEqual(1000);
          |                         ^
      295 |   });
      296 | });
      297 |

      at Object.<anonymous> (packages/node-core/src/indexer/storeModelProvider/storeCache.service.spec.ts:294:25)


  ● Substrate DictionaryService › should return all specVersion

    expect(received).toBeGreaterThan(expected)

    Matcher error: received value must be a number or bigint

    Received has value: undefined

      55 |     const specVersions = await dictionaryService.getSpecVersions();
      56 |
    > 57 |     expect(specVersions?.length).toBeGreaterThan(0);
         |                                  ^
      58 |     dictionaryService.onApplicationShutdown();
      59 |   }, 50000);
      60 | });

      at Object.<anonymous> (packages/node/src/indexer/dictionary/v1/substrateDictionaryV1.spec.ts:57:34)


  ● AutoQueue › resumes after flushing

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

    - Expected  - 0
    + Received  + 2

    @@ -1,8 +1,10 @@
      Array [
        1,
        2,
    +   3,
    +   4,
        11,
        12,
        13,
        14,
        15,

      192 |     );
      193 |
    > 194 |     expect(results).toEqual([1, 2, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);
          |                     ^
      195 |   });
      196 | });
      197 |

      at Object.<anonymous> (packages/node-core/src/utils/queues/autoQueue.spec.ts:194:21)


  ● Test suite failed to run

    TypeError: Class extends value undefined is not a constructor or null

      84 | }
      85 |
    > 86 | class DsPluginSandbox<P> extends Sandbox {
         |                                  ^
      87 |   constructor(option: Omit<SandboxOption, 'store'>, nodeConfig: NodeConfig) {
      88 |     super(
      89 |       option,

      at Object.<anonymous> (packages/node-core/src/indexer/ds-processor.service.ts:86:34)
      at Object.<anonymous> (packages/node-core/src/indexer/indexer.manager.ts:13:1)
      at Object.<anonymous> (packages/node-core/src/indexer/index.ts:23:1)
      at Object.<anonymous> (packages/node-core/src/db/migration-service/SchemaMigration.service.ts:8:1)
      at Object.<anonymous> (packages/node-core/src/db/migration-service/index.ts:5:1)
      at Object.<anonymous> (packages/node-core/src/db/index.ts:5:1)
      at Object.<anonymous> (packages/node-core/src/utils/graphql.ts:19:1)
      at Object.<anonymous> (packages/node-core/src/utils/index.ts:7:1)
      at Object.<anonymous> (packages/node-core/src/indexer/sandbox.ts:14:1)
      at Object.<anonymous> (packages/node-core/src/indexer/sandbox.spec.ts:6:1)


  ● WorkerBlockDispatcher › getNextWorkerIndex should return the index of the next worker that has memory above the minimum limit

    expect(received).toBe(expected) // Object.is equality

    Expected: 1
    Received: 2

      52 |   test('getNextWorkerIndex should return the index of the next worker that has memory above the minimum limit', async () => {
      53 |     const index = await (dispatcher as any).getNextWorkerIndex();
    > 54 |     expect(index).toBe(1);
         |                   ^
      55 |   });
      56 |
      57 |   test('getNextWorkerIndex should skip workers that have memory below the minimum limit', async () => {

      at Object.<anonymous> (packages/node-core/src/indexer/blockDispatcher/worker-block-dispatcher.spec.ts:54:19)


  ● CLI deploy, delete, promote › reDeploy to Hosted Service

    Failed to redeploy project: Request failed with status code 500 internal server error

      77 | export function errorHandle(e: any, msg: string): Error {
      78 |   if (axios.isAxiosError(e) && e?.response?.data) {
    > 79 |     return new Error(`${msg} ${e.response.data.message ?? e.response.data}`);
         |            ^
      80 |   }
      81 |
      82 |   return new Error(`${msg} ${e.message}`);

      at errorHandle (packages/cli/src/utils/utils.ts:79:12)
      at updateDeployment (packages/cli/src/controller/deploy-controller.ts:158:22)
      at Object.<anonymous> (packages/cli/src/controller/deploy-controller.test.ts:185:5)


  ● Intergration test - Publish › overwrites any exisiting CID files

    Command failed: npm i
    npm error code ERESOLVE
    npm error ERESOLVE unable to resolve dependency tree
    npm error
    npm error While resolving: [email protected]
    npm error Found: @polkadot/[email protected]
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^12" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^14" from @subql/[email protected]
    npm error node_modules/@subql/types
    npm error   dev @subql/types@"latest" from the root project
    npm error
    npm error Fix the upstream dependency conflict, or retry
    npm error this command with --force or --legacy-peer-deps
    npm error to accept an incorrect (and potentially broken) dependency resolution.
    npm error
    npm error
    npm error For a full report see:
    npm error /home/runner/.npm/_logs/2024-11-28T04_19_45_213Z-eresolve-report.txt
    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-11-28T04_19_45_213Z-debug-0.log

      77 |
      78 |   // Install dependencies
    > 79 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      80 |   // Set test env to be develop mode, only limit to test
      81 |   process.env.NODE_ENV = 'develop';
      82 |

      at createTestProject (packages/cli/src/createProject.fixtures.ts:79:16)
      at Object.<anonymous> (packages/cli/src/commands/publish.test.ts:15:18)

  ● Intergration test - Publish › create ipfsCID file stored in local with dictiory path

    Command failed: npm i
    npm error code ERESOLVE
    npm error ERESOLVE unable to resolve dependency tree
    npm error
    npm error While resolving: [email protected]
    npm error Found: @polkadot/[email protected]
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^12" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^14" from @subql/[email protected]
    npm error node_modules/@subql/types
    npm error   dev @subql/types@"latest" from the root project
    npm error
    npm error Fix the upstream dependency conflict, or retry
    npm error this command with --force or --legacy-peer-deps
    npm error to accept an incorrect (and potentially broken) dependency resolution.
    npm error
    npm error
    npm error For a full report see:
    npm error /home/runner/.npm/_logs/2024-11-28T04_19_45_213Z-eresolve-report.txt
    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-11-28T04_19_45_213Z-debug-0.log

      77 |
      78 |   // Install dependencies
    > 79 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      80 |   // Set test env to be develop mode, only limit to test
      81 |   process.env.NODE_ENV = 'develop';
      82 |

      at createTestProject (packages/cli/src/createProject.fixtures.ts:79:16)
      at Object.<anonymous> (packages/cli/src/commands/publish.test.ts:15:18)

  ● Intergration test - Publish › file name consistent with manfiest file name, if -f <manifest path> is used

    Command failed: npm i
    npm error code ERESOLVE
    npm error ERESOLVE unable to resolve dependency tree
    npm error
    npm error While resolving: [email protected]
    npm error Found: @polkadot/[email protected]
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^12" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^14" from @subql/[email protected]
    npm error node_modules/@subql/types
    npm error   dev @subql/types@"latest" from the root project
    npm error
    npm error Fix the upstream dependency conflict, or retry
    npm error this command with --force or --legacy-peer-deps
    npm error to accept an incorrect (and potentially broken) dependency resolution.
    npm error
    npm error
    npm error For a full report see:
    npm error /home/runner/.npm/_logs/2024-11-28T04_19_45_213Z-eresolve-report.txt
    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-11-28T04_19_45_213Z-debug-0.log

      77 |
      78 |   // Install dependencies
    > 79 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      80 |   // Set test env to be develop mode, only limit to test
      81 |   process.env.NODE_ENV = 'develop';
      82 |

      at createTestProject (packages/cli/src/createProject.fixtures.ts:79:16)
      at Object.<anonymous> (packages/cli/src/commands/publish.test.ts:15:18)


  ● Cli publish › should upload appropriate project to IPFS

    Command failed: npm i
    npm error code ERESOLVE
    npm error ERESOLVE unable to resolve dependency tree
    npm error
    npm error While resolving: [email protected]
    npm error Found: @polkadot/[email protected]
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^12" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^14" from @subql/[email protected]
    npm error node_modules/@subql/types
    npm error   dev @subql/types@"latest" from the root project
    npm error
    npm error Fix the upstream dependency conflict, or retry
    npm error this command with --force or --legacy-peer-deps
    npm error to accept an incorrect (and potentially broken) dependency resolution.
    npm error
    npm error
    npm error For a full report see:
    npm error /home/runner/.npm/_logs/2024-11-28T04_20_30_725Z-eresolve-report.txt
    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-11-28T04_20_30_725Z-debug-0.log

      77 |
      78 |   // Install dependencies
    > 79 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      80 |   // Set test env to be develop mode, only limit to test
      81 |   process.env.NODE_ENV = 'develop';
      82 |

      at createTestProject (packages/cli/src/createProject.fixtures.ts:79:16)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:19:17)

  ● Cli publish › convert to deployment and removed descriptive field

    Command failed: npm i
    npm error code ERESOLVE
    npm error ERESOLVE unable to resolve dependency tree
    npm error
    npm error While resolving: [email protected]
    npm error Found: @polkadot/[email protected]
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^12" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^14" from @subql/[email protected]
    npm error node_modules/@subql/types
    npm error   dev @subql/types@"latest" from the root project
    npm error
    npm error Fix the upstream dependency conflict, or retry
    npm error this command with --force or --legacy-peer-deps
    npm error to accept an incorrect (and potentially broken) dependency resolution.
    npm error
    npm error
    npm error For a full report see:
    npm error /home/runner/.npm/_logs/2024-11-28T04_20_30_725Z-eresolve-report.txt
    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-11-28T04_20_30_725Z-debug-0.log

      77 |
      78 |   // Install dependencies
    > 79 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      80 |   // Set test env to be develop mode, only limit to test
      81 |   process.env.NODE_ENV = 'develop';
      82 |

      at createTestProject (packages/cli/src/createProject.fixtures.ts:79:16)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:19:17)

  ● Cli publish › convert js object to JSON object

    Command failed: npm i
    npm error code ERESOLVE
    npm error ERESOLVE unable to resolve dependency tree
    npm error
    npm error While resolving: [email protected]
    npm error Found: @polkadot/[email protected]
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^12" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^14" from @subql/[email protected]
    npm error node_modules/@subql/types
    npm error   dev @subql/types@"latest" from the root project
    npm error
    npm error Fix the upstream dependency conflict, or retry
    npm error this command with --force or --legacy-peer-deps
    npm error to accept an incorrect (and potentially broken) dependency resolution.
    npm error
    npm error
    npm error For a full report see:
    npm error /home/runner/.npm/_logs/2024-11-28T04_20_30_725Z-eresolve-report.txt
    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-11-28T04_20_30_725Z-debug-0.log

      77 |
      78 |   // Install dependencies
    > 79 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      80 |   // Set test env to be develop mode, only limit to test
      81 |   process.env.NODE_ENV = 'develop';
      82 |

      at createTestProject (packages/cli/src/createProject.fixtures.ts:79:16)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:19:17)

  ● Cli publish › Get directory CID from multi-chain project

    Command failed: npm i
    npm error code ERESOLVE
    npm error ERESOLVE unable to resolve dependency tree
    npm error
    npm error While resolving: [email protected]
    npm error Found: @polkadot/[email protected]
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^12" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^14" from @subql/[email protected]
    npm error node_modules/@subql/types
    npm error   dev @subql/types@"latest" from the root project
    npm error
    npm error Fix the upstream dependency conflict, or retry
    npm error this command with --force or --legacy-peer-deps
    npm error to accept an incorrect (and potentially broken) dependency resolution.
    npm error
    npm error
    npm error For a full report see:
    npm error /home/runner/.npm/_logs/2024-11-28T04_20_30_725Z-eresolve-report.txt
    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-11-28T04_20_30_725Z-debug-0.log

      77 |
      78 |   // Install dependencies
    > 79 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      80 |   // Set test env to be develop mode, only limit to test
      81 |   process.env.NODE_ENV = 'develop';
      82 |

      at createTestProject (packages/cli/src/createProject.fixtures.ts:79:16)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:19:17)

Report generated by 🧪jest coverage report action from 379b16c

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