Skip to content

Admin api #2415

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

Merged
merged 16 commits into from
May 30, 2024
Merged

Admin api #2415

merged 16 commits into from
May 30, 2024

Conversation

jiqiang90
Copy link
Contributor

@jiqiang90 jiqiang90 commented May 24, 2024

Description

Rewind

Prerequisite: Historical enabled

Example:

POST /admin/rewind?height=29200

Response:

Successful
{
    "success": true,
    "height": "29200",
    "message": "Rewind to block 29200 successful"
}

Invalid height
{
    "success": false,
    "height": "29200111111",
    "message": "Rewind failed: Error: Current processing block 1258596, can not rewind to future block 29200111111"
}

Comments:

  • Reindex might take longer as ongoing db operation, so response have a timeout 120s, but user may check success from metadata change
  • Will also rewind poi it is enable

Proof of index

Prerequisite: --proof-of-index

Examples:

Get current poi start and end range

GET  /admin/poi/range

Response: {
    "startBlock": 298558,
    "endBlock": 1115332
}

With startBlock only

GET  admin/poi?startBlock=30000

// Default 100 poi blocks
Response: 

[
    {
        "id": 298558,
        "chainBlockHash": "0xc753f662965cba78de517deb224bca754c90f63f71a16401ed04cdca4cc56d1f",
        "hash": "0x9f343edf28f46f811490a1a72a7d5fe7207768dc02da52e5e8358c6a818e80ff",
        "parentHash": "0x00",
        "operationHashRoot": "0x60dbebddd9ea5ef9c201307ad4d331d8832e41a6e4d39e2cee59b30885e20cc7",
        "createdAt": "2024-05-24T04:57:35.320Z",
        "updatedAt": "2024-05-24T04:57:35.320Z"
    },
    {
        "id": 298559,
        "hash": "0xdf3c0350c50d9e35141f683fb7eb701e39f11859855b8a1f2327bcdf9fa06b15",
        "parentHash": "0x9f343edf28f46f811490a1a72a7d5fe7207768dc02da52e5e8358c6a818e80ff",
        "createdAt": "2024-05-24T04:58:02.987Z",
        "updatedAt": "2024-05-24T04:58:02.987Z"
    },
....
   {
        "id": 298657,
        "hash": "0x111c8ebf161e482de9ebfacf5836791d8bc3678d75166162be40a77bf6553d0d",
        "parentHash": "0x420264b6beadbccca7286542378a11990e3c6d55f547d38553257fd227ad4240",
        "createdAt": "2024-05-24T04:58:03.063Z",
        "updatedAt": "2024-05-24T04:58:03.063Z"
    }
]

With startBlock and endBlock

GET  admin/poi?startBlock=298558&EndBlock=298558
Response: 
[
    {
        "id": 298558,
        "chainBlockHash": "0xc753f662965cba78de517deb224bca754c90f63f71a16401ed04cdca4cc56d1f",
        "hash": "0x9f343edf28f46f811490a1a72a7d5fe7207768dc02da52e5e8358c6a818e80ff",
        "parentHash": "0x00",
        "operationHashRoot": "0x60dbebddd9ea5ef9c201307ad4d331d8832e41a6e4d39e2cee59b30885e20cc7",
        "createdAt": "2024-05-24T04:57:35.320Z",
        "updatedAt": "2024-05-24T04:57:35.320Z"
    }
]

Index history

Prerequisite: --monitor-file-size=50 --proof-of-index

Examples:

GET  /admin/index_history/range

Response: [10001,20002,29258,29259,29260,"Forked 29200",39261,298558,299922]
GET  /admin/index_history/forks

Response: ["***** Forked at block 29200","***** Forked at block 29500","***** Forked at block 39200"]
GET  /admin/index_history/block/:blockHeight

Response: 

[
    "+++++ Start block 298558",
    "Processing from main thread",
    "- BlockHash: 0xc753f662965cba78de517deb224bca754c90f63f71a16401ed04cdca4cc56d1f",
    "- Handler: handleEvent, args:{\"phase\":{\"applyExtrinsic\":2},\"event\":{\"index\":\"0x0302\",\"data\":[\"1mndd9E8kssCxXDacCbKw3iwFQwdABiFrE8fVRKS5SeS4E4\",\"15j4dg5GzsL1bw2U2AWgeyAk6QTxq43V7ZPbXdAmbVLjvDCK\",\"0x0000000000000000008b9bb686297c00\"]},\"topics\":[]}",
    "-- [Store][get] Entity Account ID 1kvkrevmuitc2lw2a4qyhsajj9ee9lrsywzkmk5hybeyhgw, data: undefined",
    "-- [Store][get] Entity Account ID 1mndd9e8ksscxxdaccbkw3iwfqwdabifre8fvrks5ses4e4, data: undefined",
    "-- [Store][set] Entity Account, height: 298558, data: {\"id\":\"1kvkrevmuitc2lw2a4qyhsajj9ee9lrsywzkmk5hybeyhgw\",\"publicKey\":\"14,109,230,139,19,184,36,121,251,233,136,171,158,203,22,186,212,70,182,123,153,60,221,145,152,205,65,199,198,37,156,73\",\"firstTransferBlock\":298558,\"lastTransferBlock\":298558}",
    "-- [POI][StoreOperations][put] Set entity Account, data/id: 1kvkrevmuitc2lw2a4qyhsajj9ee9lrsywzkmk5hybeyhgw",
.....
 "Finished block 298558"]

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

Copy link

github-actions bot commented May 24, 2024

Coverage report for .

Caution

Test run failed

St.
Category Percentage Covered / Total
🟡 Statements
63.76% (-6.35% 🔻)
18196/28539
🟡 Branches
79.92% (+1.63% 🔼)
2332/2918
🟡 Functions
66.1% (+3.6% 🔼)
1020/1543
🟡 Lines
63.76% (-6.35% 🔻)
18196/28539
Show new covered files 🐣
St.
File Statements Branches Functions Lines
🟢
... / migrate.ts
85.09% 18.18% 100% 85.09%
🟢
... / migrate-abis.controller.ts
95% 87.5% 100% 95%
🟢
... / constants.ts
100% 100% 100% 100%
🟢
... / index.ts
100% 100% 100% 100%
🟢
... / ethereum.ts
82.05% 83.33% 100% 82.05%
🟢
... / migrate-manifest.controller.ts
88% 72.41% 88.89% 88%
🟢
... / migrate-mapping.controller.ts
100% 100% 100% 100%
🟢
... / migrate-controller.ts
92.31% 84.62% 100% 92.31%
🟢
... / migrate.fixtures.ts
100% 100% 100% 100%
🟢
... / migrate-schema.controller.ts
100% 100% 100% 100%
🔴
... / types.ts
0% 0% 0% 0%
🟢
... / createProject.fixtures.ts
90.16% 66.67% 100% 90.16%
🟢
... / networkFamily.ts
92.59% 88.89% 100% 92.59%
🔴
... / admin.controller.ts
0% 0% 0% 0%
🟢
... / blockRange.ts
100% 100% 100% 100%
🔴
... / index.ts
0% 0% 0% 0%
🟢
... / dictionary.fixtures.ts
100% 100% 100% 100%
🟡
... / monitor.service.ts
69.35% 86.75% 93.94% 69.35%
🔴
... / sandbox.service.ts
33.33% 50% 25% 33.33%
🔴
... / worker.monitor.service.ts
41.46% 100% 0% 41.46%
🔴
... / process.ts
50% 66.67% 40% 50%
🔴
... / foreceClean.init.ts
47.62% 100% 0% 47.62%
🔴
... / reindex.init.ts
34.48% 100% 0% 34.48%
🟢
... / string.ts
100% 100% 100% 100%
🔴
... / admin.module.ts
0% 0% 0% 0%
🔴
... / datasourceProcessors.ts
0% 0% 0% 0%
Show files with reduced coverage 🔻
St.
File Statements Branches Functions Lines
🔴
... / index.ts
26.14% (-56.82% 🔻)
100% (+33.33% 🔼)
50%
26.14% (-56.82% 🔻)
🔴
... / index.ts
33.87% (-58.06% 🔻)
100% (+75% 🔼)
50% (-50% 🔻)
33.87% (-58.06% 🔻)
🔴
... / deploy.ts
18.97% (-2.17% 🔻)
100%
50% (+50% 🔼)
18.97% (-2.17% 🔻)
🔴
... / publish.ts
28% (-61.33% 🔻)
100% (+42.86% 🔼)
50% (-50% 🔻)
28% (-61.33% 🔻)
🔴
... / build-controller.ts
11.96% (-79.35% 🔻)
100% (+42.86% 🔼)
0% (-100% 🔻)
11.96% (-79.35% 🔻)
🟢
... / codegen-controller.ts
89.39%
75% (-0.58% 🔻)
100% 89.39%
🟢
... / generate-controller.ts
97.65%
93.85% (-0.18% 🔻)
100% 97.65%
🟡
... / init-controller.ts
72.38% (+1.89% 🔼)
50% (-18% 🔻)
61.11% (+7.78% 🔼)
72.38% (+1.89% 🔼)
🔴
... / publish-controller.ts
14.81% (-65.43% 🔻)
100% (+28.89% 🔼)
0% (-100% 🔻)
14.81% (-65.43% 🔻)
🟢 cli/src/types.ts
96.97% (-0.03% 🔻)
100% 33.33%
96.97% (-0.03% 🔻)
🟡
... / build.ts
74.48% (-10.34% 🔻)
80% (+3.08% 🔼)
87.5% (-12.5% 🔻)
74.48% (-10.34% 🔻)
🟢
... / utils.ts
80.26% (-0.82% 🔻)
90.32% (+9.62% 🔼)
78.57% (+1.3% 🔼)
80.26% (-0.82% 🔻)
🟡
... / load.ts
79.41% (-8.82% 🔻)
66.67% (-19.05% 🔻)
100%
79.41% (-8.82% 🔻)
🟢
... / models.ts
85.56% (-13.89% 🔻)
95.83% (+3.53% 🔼)
84.62% (-15.38% 🔻)
85.56% (-13.89% 🔻)
🟢
... / model.ts
95.43% (-2.29% 🔻)
100%
80% (+8.57% 🔼)
95.43% (-2.29% 🔻)
🔴
... / models.ts
47.06% (-52.94% 🔻)
100%
0% (-100% 🔻)
47.06% (-52.94% 🔻)
🔴
... / load.ts
54.08% (-5.1% 🔻)
56.25% (+0.69% 🔼)
50% (-16.67% 🔻)
54.08% (-5.1% 🔻)
🟡
... / github-reader.ts
60.71% (-28.57% 🔻)
75%
71.43% (-11.9% 🔻)
60.71% (-28.57% 🔻)
🟡
... / ipfs-reader.ts
60.32% (-25.4% 🔻)
63.64%
71.43% (-11.9% 🔻)
60.32% (-25.4% 🔻)
🟡
... / local-reader.ts
60.47% (-25.58% 🔻)
62.5%
83.33% (-16.67% 🔻)
60.47% (-25.58% 🔻)
🟢
... / reader.ts
81.58% (-7.89% 🔻)
57.14% (-17.86% 🔻)
100%
81.58% (-7.89% 🔻)
🔴
... / utils.ts
55.38% (-7.32% 🔻)
80% (+6.83% 🔼)
48% (-8% 🔻)
55.38% (-7.32% 🔻)
🟡
... / models.ts
63.29% (-36.71% 🔻)
100%
62.5% (-37.5% 🔻)
63.29% (-36.71% 🔻)
🟡
... / api.connection.error.ts
65.45% (-3.43% 🔻)
100%
16.67% (+16.67% 🔼)
65.45% (-3.43% 🔻)
🟢
... / NodeConfig.ts
88.55% (-0.05% 🔻)
79.31% (-0.32% 🔻)
86.96% (+0.91% 🔼)
88.55% (-0.05% 🔻)
🟡
... / ProjectUpgrade.service.ts
73.86% (-13.22% 🔻)
93.67% (+2.31% 🔼)
84% (-7.3% 🔻)
73.86% (-13.22% 🔻)
🟢
... / configure.module.ts
80.57% (-4% 🔻)
47.83% (-16.17% 🔻)
100%
80.57% (-4% 🔻)
🟢
... / db.module.ts
89.06% (+0.78% 🔼)
62.5% (-20.83% 🔻)
80%
89.06% (+0.78% 🔼)
🟡
... / migration-helpers.ts
74.54% (-1.48% 🔻)
86.76% (+6.17% 🔼)
90.91%
74.54% (-1.48% 🔻)
🟡
... / StoreOperations.ts
72.94% (-19.37% 🔻)
86.36% (+1.36% 🔼)
87.5% (-12.5% 🔻)
72.94% (-19.37% 🔻)
🔴
... / benchmark.service.ts
43.36% (-11.89% 🔻)
66.67%
36.36% (-3.64% 🔻)
43.36% (-11.89% 🔻)
🔴
... / base-block-dispatcher.ts
19% (-28.35% 🔻)
100%
4.35% (-5.65% 🔻)
19% (-28.35% 🔻)
🔴
... / block-dispatcher.ts
26.98% (-14.01% 🔻)
66.67%
25% (-3.57% 🔻)
26.98% (-14.01% 🔻)
🔴
... / worker-block-dispatcher.ts
36.17% (-14.04% 🔻)
100%
25% (-2.27% 🔻)
36.17% (-14.04% 🔻)
🔴
... / coreDictionary.ts
45.33% (-54.67% 🔻)
87.5% (-6.94% 🔻)
77.78% (-22.22% 🔻)
45.33% (-54.67% 🔻)
🟡
... / dictionary.service.ts
68.53% (-16.61% 🔻)
86.11% (+0.4% 🔼)
83.33% (-7.58% 🔻)
68.53% (-16.61% 🔻)
🟡
... / dictionaryV1.ts
73.06% (-20.17% 🔻)
75% (-3.26% 🔻)
91.67% (-8.33% 🔻)
73.06% (-20.17% 🔻)
🟡
... / dictionaryV2.ts
67.37% (-14.31% 🔻)
68% (+2.78% 🔼)
88.89% (-11.11% 🔻)
67.37% (-14.31% 🔻)
🔴
... / ds-processor.service.ts
33.48% (-28.61% 🔻)
73.33% (-1.67% 🔻)
58.33% (-29.17% 🔻)
33.48% (-28.61% 🔻)
🔴
... / dynamic-ds.service.ts
59.84% (-30.35% 🔻)
65% (-1.67% 🔻)
80% (-5.71% 🔻)
59.84% (-30.35% 🔻)
🟢
... / inMemoryCache.service.ts
86.21% (-13.79% 🔻)
100%
75% (-25% 🔻)
86.21% (-13.79% 🔻)
🔴
... / indexer.manager.ts
16.13% (-17.08% 🔻)
100%
10% (-2.5% 🔻)
16.13% (-17.08% 🔻)
🟡
... / PoiBlock.ts
73.39% (-25% 🔻)
57.89% (-38.66% 🔻)
75% (-25% 🔻)
73.39% (-25% 🔻)
🔴
... / poi.service.ts
12.39% (-11.53% 🔻)
100%
20% (-8.57% 🔻)
12.39% (-11.53% 🔻)
🔴
... / poiModel.ts
40% (-23.64% 🔻)
71.43%
44.44% (-12.7% 🔻)
40% (-23.64% 🔻)
🔴
... / poiSync.service.ts
55.88% (-31% 🔻)
77.61% (+1.05% 🔼)
88.89% (-3.42% 🔻)
55.88% (-31% 🔻)
🟡
... / project.service.ts
66.74% (-13.26% 🔻)
71.93% (+1.75% 🔼)
80.77% (-3.23% 🔻)
66.74% (-13.26% 🔻)
🟡
... / sandbox.ts
60.49% (-7.49% 🔻)
60% (+2.86% 🔼)
57.14% (-4.4% 🔻)
60.49% (-7.49% 🔻)
🔴
... / smartBatch.service.ts
10.43% (-13.91% 🔻)
100%
12.5% (-1.79% 🔻)
10.43% (-13.91% 🔻)
🟡
... / store.service.ts
65.91% (-0.14% 🔻)
69.23% (+0.81% 🔼)
58.62% (+1.48% 🔼)
65.91% (-0.14% 🔻)
🔴
... / entity.ts
19.23% (-42.31% 🔻)
100% 0%
19.23% (-42.31% 🔻)
🔴
... / store.ts
13.11% (-19.09% 🔻)
100% 0%
13.11% (-19.09% 🔻)
🟡
... / cacheModel.ts
71.61% (-13.47% 🔻)
83.56% (+5.25% 🔼)
71.43% (-4.76% 🔻)
71.61% (-13.47% 🔻)
🟡
... / cachePoi.ts
75.53% (-18.09% 🔻)
88.89%
71.43% (-11.9% 🔻)
75.53% (-18.09% 🔻)
🟢
... / cacheable.ts
89.66% (-0.97% 🔻)
75% 100%
89.66% (-0.97% 🔻)
🟡
... / csvStore.service.ts
76.92% (-14.1% 🔻)
80%
80% (-20% 🔻)
76.92% (-14.1% 🔻)
🟡
... / setValueModel.ts
60.9% (-21.12% 🔻)
83.78% (+2.53% 🔼)
78.57% (-6.04% 🔻)
60.9% (-21.12% 🔻)
🟢
... / test.runner.ts
94.67% (-4.67% 🔻)
73.33%
66.67% (-33.33% 🔻)
94.67% (-4.67% 🔻)
🔴
... / testing.service.ts
12% (-16.57% 🔻)
100% 0%
12% (-16.57% 🔻)
🟡
... / unfinalizedBlocks.service.ts
63.19% (-20.79% 🔻)
96.72%
88% (-3.67% 🔻)
63.19% (-20.79% 🔻)
🔴
... / worker.builder.ts
59.83% (-19.36% 🔻)
65.38% 80%
59.83% (-19.36% 🔻)
🔴
... / worker.cache.service.ts
48.78% (-9.76% 🔻)
100% 0%
48.78% (-9.76% 🔻)
🔴
... / worker.connectionPoolState.manager.ts
38.21% (-22.76% 🔻)
100% 0%
38.21% (-22.76% 🔻)
🔴
... / worker.dynamic-ds.service.ts
44.44% (-17.78% 🔻)
100% 0%
44.44% (-17.78% 🔻)
🔴
... / worker.service.ts
20.35% (-24.29% 🔻)
100% 0%
20.35% (-24.29% 🔻)
🟢
... / worker.store.service.ts
80% (-2.61% 🔻)
100% 50%
80% (-2.61% 🔻)
🔴
... / worker.ts
41.82% (-0.63% 🔻)
100% 0%
41.82% (-0.63% 🔻)
🔴
... / worker.unfinalizedBlocks.service.ts
33.33% (-66.67% 🔻)
100%
0% (-100% 🔻)
33.33% (-66.67% 🔻)
🔴
... / logger.ts
44.74% (-19.74% 🔻)
33.33%
40% (+20% 🔼)
44.74% (-19.74% 🔻)
🔴
... / event.listener.ts
43.43% (-37.37% 🔻)
100%
23.08% (-1.92% 🔻)
43.43% (-37.37% 🔻)
🔴
... / health.controller.ts
37.93% (-17.24% 🔻)
100%
33.33% (-16.67% 🔻)
37.93% (-17.24% 🔻)
🔴
... / health.service.ts
26.03% (-31.51% 🔻)
100%
16.67% (-3.33% 🔻)
26.03% (-31.51% 🔻)
🔴
... / meta.service.ts
23.81% (-45.71% 🔻)
100% (+20% 🔼)
27.27% (-12.73% 🔻)
23.81% (-45.71% 🔻)
🔴
... / ready.controller.ts
34.78% (-21.74% 🔻)
100%
33.33% (-16.67% 🔻)
34.78% (-21.74% 🔻)
🔴
... / ready.service.ts
54.17% (-37.5% 🔻)
100%
50% (-16.67% 🔻)
54.17% (-37.5% 🔻)
🔴
... / forceClean.service.ts
22.08% (-4.24% 🔻)
100% 0%
22.08% (-4.24% 🔻)
🔴
... / reindex.service.ts
14.73% (-18.6% 🔻)
100% 0%
14.73% (-18.6% 🔻)
🟡
... / autoQueue.ts
60.3% (-28.09% 🔻)
85.11%
73.08% (-6.09% 🔻)
60.3% (-28.09% 🔻)
🟡
... / blocks.ts
77.78% (-22.22% 🔻)
88.89%
66.67% (-33.33% 🔻)
77.78% (-22.22% 🔻)
🔴
... / yargs.ts
44.38% (-1.11% 🔻)
100% 14.29%
44.38% (-1.11% 🔻)
🟢
... / SubqueryProject.ts
95.38% (-0.14% 🔻)
83.33% (+0.98% 🔼)
87.5% (+1.79% 🔼)
95.38% (-0.14% 🔻)
🟡
... / apiPromise.connection.ts
67.36% (-1.72% 🔻)
80%
50% (+7.14% 🔼)
67.36% (-1.72% 🔻)
🔴
... / worker-block-dispatcher.service.ts
24.64% (-12.32% 🔻)
100% 0%
24.64% (-12.32% 🔻)
🟢
... / substrateDictionary.service.ts
98.06% (+7.49% 🔼)
71.43% (-1.3% 🔻)
100% (+20% 🔼)
98.06% (+7.49% 🔼)
🟢
... / substrateDictionaryV1.ts
85.05% (-0.43% 🔻)
71.11% (+1.34% 🔼)
84.62% (+1.28% 🔼)
85.05% (-0.43% 🔻)
🟡
... / substrateDictionaryV2.ts
73.03% (-2.48% 🔻)
75% 33.33%
73.03% (-2.48% 🔻)
🟢
... / fetch.module.ts
90% (-1.88% 🔻)
50% (-25% 🔻)
100%
90% (-1.88% 🔻)
🔴
... / indexer.manager.ts
56.78% (-0.76% 🔻)
100%
20% (+10.91% 🔼)
56.78% (-0.76% 🔻)
🟢
... / runtimeService.ts
94.29% (+2.08% 🔼)
81.82% (-7.07% 🔻)
100% (+20% 🔼)
94.29% (+2.08% 🔼)
🔴
... / http.ts
49.03% (-30.89% 🔻)
40%
28.57% (-2.2% 🔻)
49.03% (-30.89% 🔻)
🟢
... / project.ts
88.81% (-0.08% 🔻)
68.18% 87.5%
88.81% (-0.08% 🔻)
🟢
... / buffer.ts
90.24% (-9.76% 🔻)
90.91% (-9.09% 🔻)
85.71% (+1.5% 🔼)
90.24% (-9.76% 🔻)
🟡
... / logger.ts
70.2% (+0.6% 🔼)
54.55% (-0.45% 🔻)
76.92% (+1.92% 🔼)
70.2% (+0.6% 🔼)

Test suite run failed

Failed tests: 15/516. Failed suites: 9/98.
  ● CLI codegen:generate › extract from TS manifest

    expect(received).toMatch(expected)

    Expected substring: "approve(address spender, uint256 rawAmount)"
    Received string:    "0x095ea7b3"

      684 |     );
      685 |     // TODO expected to fail, due to unable to skip comments
    > 686 |     expect(v.function).toMatch('approve(address spender, uint256 rawAmount)');
          |                        ^
      687 |     expect(v.topics[0]).toMatch('Transfer(address indexed from, address indexed to, uint256 amount)');
      688 |     expect(v.endpoint[0]).toMatch('https://eth.api.onfinality.io/public');
      689 |   });

      at Object.<anonymous> (packages/cli/src/controller/generate-controller.spec.ts:686:24)


  ● cacheModel › without historical › can avoid race conditions

    Entity should exist

      122 |       const entity1 = await testModel.get('entity1_id_0x01');
      123 |       if (!entity1) {
    > 124 |         throw new Error('Entity should exist');
          |               ^
      125 |       }
      126 |
      127 |       // updated height to 2

      at Object.<anonymous> (packages/node-core/src/indexer/storeCache/cacheModel.spec.ts:124:15)


  ● Test suite failed to run

    Your test suite must contain at least one test.

      at onResult (node_modules/@jest/core/build/TestScheduler.js:133:18)
      at node_modules/@jest/core/build/TestScheduler.js:254:19
      at node_modules/emittery/index.js:363:13
          at Array.map (<anonymous>)
      at Emittery.emit (node_modules/emittery/index.js:361:23)


  ● Cli can create project (mocked) › Ensure prepareManifest and preparePackage correctness for project.ts

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

    Expected: ["https://zzz", "https://bbb"]
    Received: null

      190 |       endpoint: ENDPOINT_REG,
      191 |     });
    > 192 |     expect(extractedValues.endpoint).toStrictEqual(project.endpoint);
          |                                      ^
      193 |     expect(originalManifest).not.toBe(updatedManifest.toString());
      194 |     expect(originalPackage).not.toBe(packageData.toString());
      195 |   });

      at Object.<anonymous> (packages/cli/src/controller/init-controller.spec.ts:192:38)


  ● Test suite failed to run

    Jest worker encountered 4 child process exceptions, exceeding retry limit

      at ChildProcessWorker.initialize (node_modules/jest-worker/build/workers/ChildProcessWorker.js:181:21)


  ● CLI deploy, delete, promote › Deploy to Hosted Service and Delete

    Failed to validate IPFS CID: Unauthorized

      88 | export function errorHandle(e: any, msg: string): Error {
      89 |   if (axios.isAxiosError(e) && e?.response?.data) {
    > 90 |     throw new Error(`${msg} ${e.response.data.message ?? e.response.data}`);
         |           ^
      91 |   }
      92 |
      93 |   throw new Error(`${msg} ${e.message}`);

      at errorHandle (packages/cli/src/utils/utils.ts:90:11)
      at ipfsCID_validate (packages/cli/src/controller/deploy-controller.ts:169:16)
      at Object.<anonymous> (packages/cli/src/controller/deploy-controller.spec.ts:110:23)

  ● CLI deploy, delete, promote › should return true for valid ipfsCID

    Failed to validate IPFS CID: Unauthorized

      88 | export function errorHandle(e: any, msg: string): Error {
      89 |   if (axios.isAxiosError(e) && e?.response?.data) {
    > 90 |     throw new Error(`${msg} ${e.response.data.message ?? e.response.data}`);
         |           ^
      91 |   }
      92 |
      93 |   throw new Error(`${msg} ${e.message}`);

      at errorHandle (packages/cli/src/utils/utils.ts:90:11)
      at ipfsCID_validate (packages/cli/src/controller/deploy-controller.ts:169:16)
      at Object.<anonymous> (packages/cli/src/controller/deploy-controller.spec.ts:139:23)

  ● CLI deploy, delete, promote › to throw error for invalid ipfsCID

    expect(received).rejects.toThrow(expected)

    Expected substring: "Failed to validate IPFS CID: fake is not a valid subquery deployment id!"
    Received message:   "Failed to validate IPFS CID: Unauthorized"

          88 | export function errorHandle(e: any, msg: string): Error {
          89 |   if (axios.isAxiosError(e) && e?.response?.data) {
        > 90 |     throw new Error(`${msg} ${e.response.data.message ?? e.response.data}`);
             |           ^
          91 |   }
          92 |
          93 |   throw new Error(`${msg} ${e.message}`);

      at errorHandle (packages/cli/src/utils/utils.ts:90:11)
      at ipfsCID_validate (packages/cli/src/controller/deploy-controller.ts:169:16)
      at Object.<anonymous> (packages/cli/src/controller/deploy-controller.spec.ts:144:5)
      at Object.toThrow (node_modules/expect/build/index.js:210:22)
      at Object.<anonymous> (packages/cli/src/controller/deploy-controller.spec.ts:144:80)

  ● CLI deploy, delete, promote › get DictEndpoint - polkadot

    Failed to validate IPFS CID: Unauthorized

      88 | export function errorHandle(e: any, msg: string): Error {
      89 |   if (axios.isAxiosError(e) && e?.response?.data) {
    > 90 |     throw new Error(`${msg} ${e.response.data.message ?? e.response.data}`);
         |           ^
      91 |   }
      92 |
      93 |   throw new Error(`${msg} ${e.message}`);

      at errorHandle (packages/cli/src/utils/utils.ts:90:11)
      at ipfsCID_validate (packages/cli/src/controller/deploy-controller.ts:169:16)
      at Object.<anonymous> (packages/cli/src/controller/deploy-controller.spec.ts:150:23)

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

    Failed to validate IPFS CID: Unauthorized

      88 | export function errorHandle(e: any, msg: string): Error {
      89 |   if (axios.isAxiosError(e) && e?.response?.data) {
    > 90 |     throw new Error(`${msg} ${e.response.data.message ?? e.response.data}`);
         |           ^
      91 |   }
      92 |
      93 |   throw new Error(`${msg} ${e.message}`);

      at errorHandle (packages/cli/src/utils/utils.ts:90:11)
      at ipfsCID_validate (packages/cli/src/controller/deploy-controller.ts:169:16)
      at Object.<anonymous> (packages/cli/src/controller/deploy-controller.spec.ts:160:23)


  ● Cli can create project › prepare correctly applies project details

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

    Expected: null
    Received: ["wss://rpc.polkadot.io/public-ws"]

      128 |     //spec version is  not returned from readDefaults
      129 |     //expect(projectSpec.specVersion).toEqual(specVersion);
    > 130 |     expect(projectSpec.endpoint).toEqual(endpoint);
          |                                  ^
      131 |     expect(projectSpec.author).toEqual(author);
      132 |     expect(projectSpec.description).toEqual(description);
      133 |     await promisify(rimraf)(tempPath);

      at Object.<anonymous> (packages/cli/src/controller/init-controller.test.ts:130:34)


  ● 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: mocked_starter@1.0.0
    npm error Found: @polkadot/api@10.13.1
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^10" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^11" from @subql/types@3.6.0
    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-05-30T03_48_41_296Z-eresolve-report.txt

    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-05-30T03_48_41_296Z-debug-0.log

      53 |
      54 |   // Install dependencies
    > 55 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      56 |
      57 |   await Codegen.run(['-l', projectDir]);
      58 |   await Build.run(['-f', projectDir]);

      at createTestProject (packages/cli/src/createProject.fixtures.ts:55:16)
      at Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:22:18)

  ● 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: mocked_starter@1.0.0
    npm error Found: @polkadot/api@10.13.1
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^10" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^11" from @subql/types@3.6.0
    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-05-30T03_48_41_296Z-eresolve-report.txt

    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-05-30T03_48_41_296Z-debug-0.log

      53 |
      54 |   // Install dependencies
    > 55 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      56 |
      57 |   await Codegen.run(['-l', projectDir]);
      58 |   await Build.run(['-f', projectDir]);

      at createTestProject (packages/cli/src/createProject.fixtures.ts:55:16)
      at Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:22:18)

  ● 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: mocked_starter@1.0.0
    npm error Found: @polkadot/api@10.13.1
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^10" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^11" from @subql/types@3.6.0
    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-05-30T03_48_41_296Z-eresolve-report.txt

    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-05-30T03_48_41_296Z-debug-0.log

      53 |
      54 |   // Install dependencies
    > 55 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      56 |
      57 |   await Codegen.run(['-l', projectDir]);
      58 |   await Build.run(['-f', projectDir]);

      at createTestProject (packages/cli/src/createProject.fixtures.ts:55:16)
      at Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:22:18)


  ● 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: mocked_starter@1.0.0
    npm error Found: @polkadot/api@10.13.1
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^10" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^11" from @subql/types@3.6.0
    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-05-30T03_48_53_462Z-eresolve-report.txt

    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-05-30T03_48_53_462Z-debug-0.log

      53 |
      54 |   // Install dependencies
    > 55 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      56 |
      57 |   await Codegen.run(['-l', projectDir]);
      58 |   await Build.run(['-f', projectDir]);

      at createTestProject (packages/cli/src/createProject.fixtures.ts:55:16)
      at Object.<anonymous> (packages/cli/src/commands/publish.test.ts:16: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: mocked_starter@1.0.0
    npm error Found: @polkadot/api@10.13.1
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^10" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^11" from @subql/types@3.6.0
    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-05-30T03_48_53_462Z-eresolve-report.txt

    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-05-30T03_48_53_462Z-debug-0.log

      53 |
      54 |   // Install dependencies
    > 55 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      56 |
      57 |   await Codegen.run(['-l', projectDir]);
      58 |   await Build.run(['-f', projectDir]);

      at createTestProject (packages/cli/src/createProject.fixtures.ts:55:16)
      at Object.<anonymous> (packages/cli/src/commands/publish.test.ts:16: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: mocked_starter@1.0.0
    npm error Found: @polkadot/api@10.13.1
    npm error node_modules/@polkadot/api
    npm error   dev @polkadot/api@"^10" from the root project
    npm error
    npm error Could not resolve dependency:
    npm error peer @polkadot/api@"^11" from @subql/types@3.6.0
    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-05-30T03_48_53_462Z-eresolve-report.txt

    npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-05-30T03_48_53_462Z-debug-0.log

      53 |
      54 |   // Install dependencies
    > 55 |   childProcess.execSync(`npm i`, {cwd: projectDir});
         |                ^
      56 |
      57 |   await Codegen.run(['-l', projectDir]);
      58 |   await Build.run(['-f', projectDir]);

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

Report generated by 🧪jest coverage report action from 1e6ecde

@jiqiang90 jiqiang90 marked this pull request as ready for review May 27, 2024 03:27
@jiqiang90 jiqiang90 changed the title [WIP] Admin api Admin api May 27, 2024
@jiqiang90 jiqiang90 merged commit 7386c05 into monitor-service-2 May 30, 2024
2 of 3 checks passed
jiqiang90 added a commit that referenced this pull request Jun 4, 2024
add init test

fix bug

Update packages/node-core/src/indexer/monitor.service.ts

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

address comments 1

use cache file stats

tidy up

address comments

worker write

improve logs, forceclean reindex and fix tests

fix inject

Fix block height not being applied to certain historical queries (#2398)

* Fix block height not being applied to certain historical queries

* Update changelog

* Update snapshot

[SKIP CI] Prerelease

[release] 20240509 (#2400)

Move cache clear after tx committed (#2386)

* Move cache clear after tx committed

* Always flush with a block height and remove flushAll option

* Update changelog

---------

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

[SKIP CI] Prerelease

Escape commit message (#2403)

fix load chainTypes sandbox missing modules (#2404)

* fix load chainTypes sandbox missing modules

* export SANDBOX_DEFAULT_BUILTINS

[SKIP CI] Prerelease

make monitorService optional

tidy up

fix bug

address comments

tidy up

update default monitorFileSize to 0

Admin api (#2415)

* draft

* rewind

* poi

* add tests

* add test for stop poi stop sync

* Update packages/node-core/src/indexer/blockDispatcher/base-block-dispatcher.ts

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

* address comment

* monitor service add exit

* Update packages/node-core/src/process.ts

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

* address comments

* change write

* update

* improve exit error

* fix rewind height issue

---------

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

set default monitor size to 200

adjust monitor file logic

address comments

add monitor log for project upgrade, unique monitor file name
jiqiang90 added a commit that referenced this pull request Jun 4, 2024
add init test

fix bug

Update packages/node-core/src/indexer/monitor.service.ts

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

address comments 1

use cache file stats

tidy up

address comments

worker write

improve logs, forceclean reindex and fix tests

fix inject

Fix block height not being applied to certain historical queries (#2398)

* Fix block height not being applied to certain historical queries

* Update changelog

* Update snapshot

[SKIP CI] Prerelease

[release] 20240509 (#2400)

Move cache clear after tx committed (#2386)

* Move cache clear after tx committed

* Always flush with a block height and remove flushAll option

* Update changelog

---------

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

[SKIP CI] Prerelease

Escape commit message (#2403)

fix load chainTypes sandbox missing modules (#2404)

* fix load chainTypes sandbox missing modules

* export SANDBOX_DEFAULT_BUILTINS

[SKIP CI] Prerelease

make monitorService optional

tidy up

fix bug

address comments

tidy up

update default monitorFileSize to 0

Admin api (#2415)

* draft

* rewind

* poi

* add tests

* add test for stop poi stop sync

* Update packages/node-core/src/indexer/blockDispatcher/base-block-dispatcher.ts

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

* address comment

* monitor service add exit

* Update packages/node-core/src/process.ts

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

* address comments

* change write

* update

* improve exit error

* fix rewind height issue

---------

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

set default monitor size to 200

adjust monitor file logic

address comments

add monitor log for project upgrade, unique monitor file name
stwiname pushed a commit that referenced this pull request Jun 5, 2024
* init monitor service

add init test

fix bug

Update packages/node-core/src/indexer/monitor.service.ts

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

address comments 1

use cache file stats

tidy up

address comments

worker write

improve logs, forceclean reindex and fix tests

fix inject

Fix block height not being applied to certain historical queries (#2398)

* Fix block height not being applied to certain historical queries

* Update changelog

* Update snapshot

[SKIP CI] Prerelease

[release] 20240509 (#2400)

Move cache clear after tx committed (#2386)

* Move cache clear after tx committed

* Always flush with a block height and remove flushAll option

* Update changelog

---------

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

[SKIP CI] Prerelease

Escape commit message (#2403)

fix load chainTypes sandbox missing modules (#2404)

* fix load chainTypes sandbox missing modules

* export SANDBOX_DEFAULT_BUILTINS

[SKIP CI] Prerelease

make monitorService optional

tidy up

fix bug

address comments

tidy up

update default monitorFileSize to 0

Admin api (#2415)

* draft

* rewind

* poi

* add tests

* add test for stop poi stop sync

* Update packages/node-core/src/indexer/blockDispatcher/base-block-dispatcher.ts

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

* address comment

* monitor service add exit

* Update packages/node-core/src/process.ts

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

* address comments

* change write

* update

* improve exit error

* fix rewind height issue

---------

Co-authored-by: Scott Twiname <skott.twiname@gmail.com>

set default monitor size to 200

adjust monitor file logic

address comments

add monitor log for project upgrade, unique monitor file name

* tidy up

* tidy up

* fix tests
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.

2 participants