Page MenuHomePhabricator

[metachronik] Index address activity and balances
AbandonedPublicDraft

Authored by bytesofman on Aug 11 2025, 23:08.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

Adding address activity and balance indexing, which requires some new tables and a lot more data. We need to index sequentially now, so the complicated logic about batch processing is removed.

Indexing performance is much worse. Of course, this indexer is more about the analytics than about indexing speed.

Test Plan

npm test

Diff Detail

Repository
rABC Bitcoin ABC
Branch
metachronik-address-index
Lint
Lint Errors
SeverityLocationCodeMessage
Errorapps/metachronik/src/index.test.ts:80ESLINT@typescript-eslint/no-unused-vars
Errorapps/metachronik/src/index.test.ts:80ESLINT@typescript-eslint/no-unused-vars
Errorapps/metachronik/src/index.test.ts:80ESLINT@typescript-eslint/no-unused-vars
Errorapps/metachronik/src/index.test.ts:84ESLINT@typescript-eslint/no-unused-vars
Errorapps/metachronik/src/index.test.ts:84ESLINT@typescript-eslint/no-unused-vars
Errorapps/metachronik/src/index.test.ts:88ESLINT@typescript-eslint/no-unused-vars
Errorapps/metachronik/src/index.test.ts:88ESLINT@typescript-eslint/no-unused-vars
Errorapps/metachronik/src/index.test.ts:133ESLINT@typescript-eslint/no-unused-vars
Errorapps/metachronik/src/index.test.ts:146ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/index.test.ts:147ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/index.test.ts:171ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/index.test.ts:172ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/index.test.ts:184ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/index.test.ts:193ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/index.test.ts:203ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/index.test.ts:204ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/index.test.ts:247ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/index.test.ts:298ESLINT@typescript-eslint/no-unused-expressions
Errorapps/metachronik/src/services/chronikService.ts:1ESLINTheader/header
Errorapps/metachronik/src/services/database.test.ts:66ESLINT@typescript-eslint/ban-ts-comment
Errorapps/metachronik/src/services/database.test.ts:68ESLINT@typescript-eslint/ban-ts-comment
Unit
No Test Coverage
Build Status
Buildable 34118
Build 67705: Build Diffmetachronik-tests
Build 67704: arc lint + arc unit

Event Timeline

Tail of the build log:

> tsc

/work/modules/chronik-client /work/abc-ci-builds/metachronik-tests
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.

> chronik-client@3.3.0 prepublish
> npm run build


> chronik-client@3.3.0 build
> tsc


added 235 packages, and audited 237 packages in 5s

39 packages are looking for funding
  run `npm fund` for details

6 vulnerabilities (1 low, 3 moderate, 1 high, 1 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

> chronik-client@3.3.0 build
> tsc

/work/apps/metachronik /work/abc-ci-builds/metachronik-tests
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.

> metachronik@1.0.0 postinstall
> npm run build


> metachronik@1.0.0 build
> tsc && npm run copy-assets

src/services/chronik.ts(8,28): error TS2307: Cannot find module 'ecashaddrjs' or its corresponding type declarations.
npm error code 2
npm error path /work/apps/metachronik
npm error command failed
npm error command sh -c npm run build
npm error A complete log of this run can be found in: /root/.npm/_logs/2025-08-11T23_13_00_676Z-debug-0.log
Build metachronik-tests failed with exit code 2

Tail of the build log:

> tsc

/work/modules/chronik-client /work/abc-ci-builds/metachronik-tests
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.

> chronik-client@3.3.0 prepublish
> npm run build


> chronik-client@3.3.0 build
> tsc


added 235 packages, and audited 237 packages in 5s

39 packages are looking for funding
  run `npm fund` for details

6 vulnerabilities (1 low, 3 moderate, 1 high, 1 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

> chronik-client@3.3.0 build
> tsc

/work/apps/metachronik /work/abc-ci-builds/metachronik-tests
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.

> metachronik@1.0.0 postinstall
> npm run build


> metachronik@1.0.0 build
> tsc && npm run copy-assets

src/services/chronik.ts(8,28): error TS2307: Cannot find module 'ecashaddrjs' or its corresponding type declarations.
npm error code 2
npm error path /work/apps/metachronik
npm error command failed
npm error command sh -c npm run build
npm error A complete log of this run can be found in: /root/.npm/_logs/2025-08-11T23_22_05_076Z-debug-0.log
Build metachronik-tests failed with exit code 2

haven't looked at this in too long. overall was too complex. add some simple stuff to metachronik first before tackling this