* chore(papi): commit the sources behind the four polkadot-api packages
papi-utils, bizinikiwi-bindings, metadata-builders and merkleize-metadata
held only dist/ builds, and no repository held their source. Every
source map in dist/ embeds the TypeScript it was compiled from; that is
now committed as src/ (59 files), and it matches upstream polkadot-api
(MIT) exactly once @polkadot-api/* imports are renamed:
papi-utils @polkadot-api/utils 0.2.0
bizinikiwi-bindings @polkadot-api/substrate-bindings 0.16.6
metadata-builders @polkadot-api/metadata-builders 0.13.0-0.13.2
merkleize-metadata @polkadot-api/merkleize-metadata 1.1.21-1.1.23
scripts/check-papi-sources.mjs, run in the lint job, fails unless the
source embedded in dist/ is exactly the committed src/. tsconfig.json
excludes these src/ trees; ESLint already skipped the packages. Each
README now states the upstream package and version.
* chore(papi): keep the upstream sources in upstream-src/
The pezkuwi-dev build treats any package with a src/ directory as its
own: it requires our license header on every file and builds it. These
are upstream files that must stay byte-identical to the source embedded
in dist/, so they live in upstream-src/ instead, which neither the build
nor the root tsconfig picks up.
Most are object keys out of order after the rename (dicle, pezkuwi,
bizinikiwi, teyrchains and zagros sort differently from the names they
replaced); they are sorted, behaviour is unchanged. The rest:
- createClass: header.hash is already the BlockHash type; the
`as any` cast is removed
- ScProvider: WellKnownChain is a string union in @bizinikiwi/connect,
so `string | WellKnownChain` was `string`; the spec parameter says so
- ScProvider: the jsonRpcResponses loop is a named async function whose
rejection (chain removed, client terminated) is caught explicitly
instead of a floating promise
- the fake chain in the spec no longer needs a non-null assertion
- Extrinsic.hash: redundant non-null assertion removed
- metadata-get.mjs writes the 2026 header
- every matrix step (lint, test, build) must pass; nothing is allowed
to fail silently
- after build, scripts/check-built-manifests.py checks the package.json
each build/ directory holds, which is what npm receives: entry points
must exist, no ./build/ or ./cjs/cjs/ paths, no string spread into
exports, no workspace:/link: ranges
- the tree must be unchanged after the step: `yarn lint` runs
eslint --fix and `yarn build` regenerates the augment interfaces, so
both used to pass on a tree they had rewritten
- the dot-notation exclusion had been renamed from kusama to zagros
(no such directory) instead of dicle; with the dicle augmentation in
the lint program, eslint --fix rewrote api.query['registrar'] style
accesses that the build cannot compile
- the four compiled-only packages (bizinikiwi-bindings,
merkleize-metadata, metadata-builders, papi-utils) have no sources
here and are not linted
- the auto-approve and auto-merge bots are removed
- .prettierrc.cjs uses @pezkuwi/dev