From 372a3328f3aa66a3a80a665ced95ae4174ab22a4 Mon Sep 17 00:00:00 2001 From: UtkarshBhardwaj007 Date: Fri, 29 May 2026 14:26:12 +0100 Subject: [PATCH] chore(deps): bump bulletin-deploy 0.7.24 -> 0.7.29 Verified the consumed API surface is unchanged across the bump by diffing the shipped type declarations: deploy() signature, DeployContent/ DeployOptions/DeployResult, DEFAULT_MNEMONIC, and the DotNS methods we call (connect/checkOwnership/getUserPopStatus/isTestnet/disconnect) are all identical. Upstream changes are additive (manifest-publish exports, new optional fields), so no CLI code changes were needed. attemptTestnetTopUp is still internal so the bulletinTopUp.ts mirror stays; jsMerkle remains off (no confirmed merkleizeJS fix). Updates the pinned-version reference in CLAUDE.md. --- .changeset/bump-bulletin-deploy-0729.md | 10 ++++ CLAUDE.md | 2 +- package.json | 2 +- pnpm-lock.yaml | 66 ++++++++++++++----------- 4 files changed, 49 insertions(+), 31 deletions(-) create mode 100644 .changeset/bump-bulletin-deploy-0729.md diff --git a/.changeset/bump-bulletin-deploy-0729.md b/.changeset/bump-bulletin-deploy-0729.md new file mode 100644 index 0000000..82a6cef --- /dev/null +++ b/.changeset/bump-bulletin-deploy-0729.md @@ -0,0 +1,10 @@ +--- +"playground-cli": patch +--- + +Bump `bulletin-deploy` from `0.7.24` to `0.7.29`. The API surface the CLI +consumes (`deploy()`, `DeployContent`/`DeployOptions`/`DeployResult`, +`DEFAULT_MNEMONIC`, and the `DotNS` methods `connect`/`checkOwnership`/ +`getUserPopStatus`/`isTestnet`/`disconnect`) is unchanged across the bump; +all upstream changes are additive (new manifest-publish exports, new optional +fields). No CLI code changes were required. diff --git a/CLAUDE.md b/CLAUDE.md index d255d43..bf13d6d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -25,7 +25,7 @@ These aren't self-evident from reading the code and have bitten us before. Treat - **`@novasamatech/*` packages are forced to `0.7.9-4` via `pnpm.overrides`.** They're transitive (via `@parity/product-sdk-terminal`'s `^0.7.7` ranges) and pnpm won't bump transitives across patches. The override aligns the tree on the latest published Novasama line including RFC-0010 `requestResourceAllocation`. Drop the override once product-sdk-terminal bumps its caret natively. - **`@polkadot-api/json-rpc-provider: ^0.2.0` override is load-bearing.** Removing it splits the lockfile across three versions of `json-rpc-provider` (`0.0.1`/`0.0.4`/`0.2.0`) — different PAPI 2.x transitive consumers ask for different versions. Forcing everyone onto `0.2.0` avoids subtle wire-shape divergence and reduces bundle/process memory. - **`@parity/dotns-cli@0.6.1` ships a broken publish manifest** declaring `"@polkadot-api/descriptors": "file:.papi/descriptors"` — a workspace path missing from the tarball. pnpm refuses; we redirect that sub-dep to `stubs/papi-descriptors-stub/` (an empty `{}` export). dotns-cli's `dist/cli.js` is a fully-bundled Bun build, so the stub is functionally correct. Remove the override + stub when `@parity/dotns-cli` republishes a clean manifest. -- **`bulletin-deploy` is pinned to an explicit version (`0.7.24`), not `latest`.** A previous `latest` (0.6.8) had a WebSocket-heartbeat bug that tore chunk uploads down mid-flight. The pin avoids ever silently sliding onto a broken `latest`. When bumping, read release notes for changes to `deploy()`, DotNS methods, or the `DeployOptions` we use (`jsMerkle`, `signer`, `signerAddress`, `mnemonic`, `rpc`, `attributes`). Newer releases now also export environment helpers (`loadEnvironments`, `resolveEndpoints`, etc.); we don't consume them — our env table lives in `src/config.ts::CONFIGS`. +- **`bulletin-deploy` is pinned to an explicit version (`0.7.29`), not `latest`.** A previous `latest` (0.6.8) had a WebSocket-heartbeat bug that tore chunk uploads down mid-flight. The pin avoids ever silently sliding onto a broken `latest`. When bumping, read release notes for changes to `deploy()`, DotNS methods, or the `DeployOptions` we use (`jsMerkle`, `signer`, `signerAddress`, `mnemonic`, `rpc`, `attributes`). Newer releases now also export environment helpers (`loadEnvironments`, `resolveEndpoints`, etc.); we don't consume them — our env table lives in `src/config.ts::CONFIGS`. - **`polkadot-api` is `^2.1.3`** and effectively the only PAPI version in the runtime: the lockfile contains `polkadot-api@1.x` only because `@parity/dotns-cli` declares it, and dotns-cli ships as a single fully-bundled `dist/cli.js` with all deps inlined — never resolved at runtime. ### Network / env diff --git a/package.json b/package.json index e7cbb40..7b7c5d9 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@polkadot-api/sdk-ink": "^0.7.0", "@scure/sr25519": "^2.2.0", "@sentry/node": "^9.47.1", - "bulletin-deploy": "0.7.24", + "bulletin-deploy": "0.7.29", "commander": "^12.0.0", "ink": "^5.2.1", "polkadot-api": "^2.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9fa75d3..3ac9624 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,7 +29,7 @@ importers: version: 2.0.2(@novasamatech/host-api-wrapper@0.7.9(@polkadot/api@16.5.6)(@polkadot/util@14.0.3)(esbuild@0.27.7)(rxjs@7.8.2))(@novasamatech/host-api@0.7.9-4)(esbuild@0.27.7)(rxjs@7.8.2) '@parity/dotns-cli': specifier: 0.6.1 - version: 0.6.1(@polkadot/util@14.0.3)(postcss@8.5.10)(react-native@0.85.2(@babel/core@7.29.7)(@types/react@18.3.28)(react@18.3.1))(rxjs@7.8.2)(typescript@5.9.3)(yaml@2.9.0) + version: 0.6.1(@polkadot/util@14.0.3)(jiti@2.7.0)(postcss@8.5.10)(react-native@0.85.2(@babel/core@7.29.7)(@types/react@18.3.28)(react@18.3.1))(rxjs@7.8.2)(typescript@5.9.3)(yaml@2.9.0) '@parity/product-sdk-address': specifier: ^0.1.1 version: 0.1.1 @@ -76,8 +76,8 @@ importers: specifier: ^9.47.1 version: 9.47.1 bulletin-deploy: - specifier: 0.7.24 - version: 0.7.24(@polkadot/util@14.0.3)(esbuild@0.27.7)(rxjs@7.8.2)(typescript@5.9.3) + specifier: 0.7.29 + version: 0.7.29(@polkadot/util@14.0.3)(esbuild@0.27.7)(rxjs@7.8.2)(typescript@5.9.3) commander: specifier: ^12.0.0 version: 12.1.0 @@ -120,7 +120,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.2.1 - version: 3.2.4(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0) + version: 3.2.4(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0) packages: @@ -2433,8 +2433,8 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bulletin-deploy@0.7.24: - resolution: {integrity: sha512-oKDiHyVPpFRddzCL9CRK0r5cryZujnVgWPsOHaRPPBqbdOP73xK70uHgSY3DI1RXt/lFSSWe9nwRBdzJBRY2zQ==} + bulletin-deploy@0.7.29: + resolution: {integrity: sha512-NQ0idb1xgHIw0qjNJgEL3l3WZmvsdm+3Eydg79HWH3YlfBegGqPl3P63rbHelXJhh8je8k3eCRfL89Ei4vHgyw==} engines: {node: '>=22'} hasBin: true @@ -3359,6 +3359,10 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -5690,7 +5694,7 @@ snapshots: '@ipld/car@5.4.3': dependencies: '@ipld/dag-cbor': 9.2.6 - cborg: 5.1.0 + cborg: 5.1.1 multiformats: 13.4.2 varint: 6.0.0 @@ -6758,7 +6762,7 @@ snapshots: multiformats: 13.4.2 polkadot-api: 2.1.3(esbuild@0.27.7)(rxjs@7.8.2) - '@parity/dotns-cli@0.6.1(@polkadot/util@14.0.3)(postcss@8.5.10)(react-native@0.85.2(@babel/core@7.29.7)(@types/react@18.3.28)(react@18.3.1))(rxjs@7.8.2)(typescript@5.9.3)(yaml@2.9.0)': + '@parity/dotns-cli@0.6.1(@polkadot/util@14.0.3)(jiti@2.7.0)(postcss@8.5.10)(react-native@0.85.2(@babel/core@7.29.7)(@types/react@18.3.28)(react@18.3.1))(rxjs@7.8.2)(typescript@5.9.3)(yaml@2.9.0)': dependencies: '@chainsafe/libp2p-noise': 17.0.0 '@chainsafe/libp2p-yamux': 8.0.1 @@ -6781,7 +6785,7 @@ snapshots: ipfs-unixfs-importer: 16.1.5 multiformats: 13.4.2 ora: 9.4.0 - polkadot-api: 1.23.3(postcss@8.5.10)(rxjs@7.8.2)(yaml@2.9.0) + polkadot-api: 1.23.3(jiti@2.7.0)(postcss@8.5.10)(rxjs@7.8.2)(yaml@2.9.0) viem: 2.48.0(typescript@5.9.3) transitivePeerDependencies: - '@microsoft/api-extractor' @@ -7218,7 +7222,7 @@ snapshots: tslib: 2.8.1 tsyringe: 4.10.0 - '@polkadot-api/cli@0.18.1(postcss@8.5.10)(yaml@2.9.0)': + '@polkadot-api/cli@0.18.1(jiti@2.7.0)(postcss@8.5.10)(yaml@2.9.0)': dependencies: '@commander-js/extra-typings': 14.0.0(commander@14.0.3) '@polkadot-api/codegen': 0.21.2 @@ -7244,7 +7248,7 @@ snapshots: read-pkg: 10.1.0 rxjs: 7.8.2 tsc-prog: 2.3.0(typescript@5.9.3) - tsup: 8.5.0(postcss@8.5.10)(typescript@5.9.3)(yaml@2.9.0) + tsup: 8.5.0(jiti@2.7.0)(postcss@8.5.10)(typescript@5.9.3)(yaml@2.9.0) typescript: 5.9.3 write-package: 7.2.0 transitivePeerDependencies: @@ -7567,7 +7571,6 @@ snapshots: '@polkadot-api/utils': 0.4.0 '@scure/base': 2.2.0 scale-ts: 1.6.1 - optional: true '@polkadot-api/substrate-bindings@0.6.0': dependencies: @@ -8459,13 +8462,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.3.2(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0))': + '@vitest/mocker@3.2.4(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.2(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -8654,13 +8657,13 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bulletin-deploy@0.7.24(@polkadot/util@14.0.3)(esbuild@0.27.7)(rxjs@7.8.2)(typescript@5.9.3): + bulletin-deploy@0.7.29(@polkadot/util@14.0.3)(esbuild@0.27.7)(rxjs@7.8.2)(typescript@5.9.3): dependencies: '@ipld/car': 5.4.3 '@ipld/dag-pb': 4.1.5 '@noble/hashes': 1.8.0 '@polkadot-api/metadata-builders': 0.14.2 - '@polkadot-api/substrate-bindings': 0.20.2 + '@polkadot-api/substrate-bindings': 0.20.3 '@polkadot-labs/hdkd': 0.0.28 '@polkadot-labs/hdkd-helpers': 0.0.30 '@polkadot/keyring': 14.0.3(@polkadot/util-crypto@14.0.3(@polkadot/util@14.0.3))(@polkadot/util@14.0.3) @@ -8668,10 +8671,11 @@ snapshots: '@sentry/node': 9.47.1 ipfs-unixfs: 11.2.5 ipfs-unixfs-importer: 16.1.5 + jiti: 2.7.0 multiformats: 13.4.2 polkadot-api: 2.1.3(esbuild@0.27.7)(rxjs@7.8.2) verifiablejs: 1.2.0 - viem: 2.48.0(typescript@5.9.3) + viem: 2.51.3(typescript@5.9.3) transitivePeerDependencies: - '@polkadot/util' - bufferutil @@ -9713,6 +9717,8 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 + jiti@2.7.0: {} + joycon@3.1.1: {} js-sha3@0.8.0: {} @@ -10347,9 +10353,9 @@ snapshots: pngjs@5.0.0: {} - polkadot-api@1.23.3(postcss@8.5.10)(rxjs@7.8.2)(yaml@2.9.0): + polkadot-api@1.23.3(jiti@2.7.0)(postcss@8.5.10)(rxjs@7.8.2)(yaml@2.9.0): dependencies: - '@polkadot-api/cli': 0.18.1(postcss@8.5.10)(yaml@2.9.0) + '@polkadot-api/cli': 0.18.1(jiti@2.7.0)(postcss@8.5.10)(yaml@2.9.0) '@polkadot-api/ink-contracts': 0.4.6 '@polkadot-api/json-rpc-provider': 0.2.0 '@polkadot-api/known-chains': 0.9.18 @@ -10408,10 +10414,11 @@ snapshots: - supports-color - utf-8-validate - postcss-load-config@6.0.1(postcss@8.5.10)(yaml@2.9.0): + postcss-load-config@6.0.1(jiti@2.7.0)(postcss@8.5.10)(yaml@2.9.0): dependencies: lilconfig: 3.1.3 optionalDependencies: + jiti: 2.7.0 postcss: 8.5.10 yaml: 2.9.0 @@ -11125,7 +11132,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.0(postcss@8.5.10)(typescript@5.9.3)(yaml@2.9.0): + tsup@8.5.0(jiti@2.7.0)(postcss@8.5.10)(typescript@5.9.3)(yaml@2.9.0): dependencies: bundle-require: 5.1.0(esbuild@0.25.12) cac: 6.7.14 @@ -11136,7 +11143,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.5.10)(yaml@2.9.0) + postcss-load-config: 6.0.1(jiti@2.7.0)(postcss@8.5.10)(yaml@2.9.0) resolve-from: 5.0.0 rollup: 4.60.1 source-map: 0.8.0-beta.0 @@ -11274,13 +11281,13 @@ snapshots: - utf-8-validate - zod - vite-node@3.2.4(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0): + vite-node@3.2.4(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.2(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - jiti @@ -11295,7 +11302,7 @@ snapshots: - tsx - yaml - vite@7.3.2(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0): + vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -11306,14 +11313,15 @@ snapshots: optionalDependencies: '@types/node': 22.19.17 fsevents: 2.3.3 + jiti: 2.7.0 terser: 5.48.0 yaml: 2.9.0 - vitest@3.2.4(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0): + vitest@3.2.4(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.3.2(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0)) + '@vitest/mocker': 3.2.4(vite@7.3.2(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -11331,8 +11339,8 @@ snapshots: tinyglobby: 0.2.16 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.3.2(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0) - vite-node: 3.2.4(@types/node@22.19.17)(terser@5.48.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0) + vite-node: 3.2.4(@types/node@22.19.17)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.19.17