Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cursor/skills/localnet-testing/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Read the public [LocalNet guide](https://github.com/Fairmint/canton-node-sdk/wiki/LocalNet-testing)
first.

**ENG-1635:** `@fairmint/canton-dev-tools@0.1.1+` owns LocalNet lifecycle, pins, and shared test
**ENG-1635:** `@fairmint/canton-dev-tools@0.1.7+` owns LocalNet lifecycle, pins, and shared test
helpers. This repository does not ship LocalNet scripts or a `canton-localnet` binary.

- Commands: `npm run localnet:*` (wired to `canton-dev-tools`) or
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-cn-quickstart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,10 @@ jobs:
- name: Run LocalNet Smoke + Integration Tests
run: |
echo "Running tests..."
npm run localnet:smoke
npm run localnet:readiness
npm run test:integration
echo "✓ Tests passed!"

- name: Show Logs on Failure
if: failure()
run: npm run localnet:logs
run: npm run localnet:diagnostics
Comment thread
coderabbitai[bot] marked this conversation as resolved.
11 changes: 6 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
See [CLAUDE.md](CLAUDE.md), [README.md](README.md), and
`.cursor/skills/localnet-testing/SKILL.md`. `package.json` (`localnet:*` scripts) is the source of
truth for LocalNet commands in this repo; lifecycle is owned by
`@fairmint/canton-dev-tools@0.1.1+`.
`@fairmint/canton-dev-tools@0.1.7+`.

## LocalNet ownership (ENG-1635)

**`@fairmint/canton-dev-tools` owns LocalNet** (CLI, pins, and shared test helpers). This SDK does
not ship a LocalNet engine or `canton-localnet` binary.

- Install pin: `devDependency` `@fairmint/canton-dev-tools@0.1.1` (exact).
- Install pin: `devDependency` `@fairmint/canton-dev-tools@0.1.7` (exact).
- Repo scripts: `npm run localnet:*` → `canton-dev-tools <command>`.
- Integration helpers: import from `@fairmint/canton-dev-tools/testing`.
- Pins / auth defaults: see Dev Tools
Expand Down Expand Up @@ -39,11 +39,12 @@ Prerequisites (on demand — heavy, not in the dashboard update script):
git submodule update --init --recursive --depth 1 libs/cn-quickstart
git submodule update --init --depth 1 libs/splice
npm install
npm run localnet:start # first run ~10-15 min: image pulls + Splice DSO bootstrap
npm run localnet:smoke # Keycloak/Validator/Scan/Ledger reachability
npm run localnet:stop
npm run localnet:start # first run ~10-15 min: image pulls + Splice DSO bootstrap
npm run localnet:readiness # Keycloak/Validator/Scan/Ledger reachability (alias: smoke)
npm run localnet:teardown # alias: stop
```


Verified ready endpoints: Ledger JSON API `http://localhost:3975/v2/version` (returned `3.5.4`),
Scan `http://scan.localhost:4000/api/scan/v0/dso-party-id` (returns the DSO party id), Validator
`http://localhost:3903/...` (200/401).
Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,23 @@ npm run build
### LocalNet (owned by `@fairmint/canton-dev-tools`)

LocalNet lifecycle and shared test helpers live in
[`@fairmint/canton-dev-tools@0.1.1`](https://www.npmjs.com/package/@fairmint/canton-dev-tools)
[`@fairmint/canton-dev-tools@0.1.7`](https://www.npmjs.com/package/@fairmint/canton-dev-tools)
(see its [COMPATIBILITY.md](https://github.com/Fairmint/canton-dev-tools/blob/main/COMPATIBILITY.md)).
This SDK does not publish a LocalNet CLI or `scripts/localnet-cloud.sh`.

```bash
npm install # installs @fairmint/canton-dev-tools as an exact-pinned devDependency
npm run localnet:start
npm run localnet:smoke
npm run localnet:stop
npm run localnet:readiness # alias: localnet:smoke
npm run localnet:teardown # alias: localnet:stop

# Or call the Dev Tools CLI directly:
npx @fairmint/canton-dev-tools start
npx @fairmint/canton-dev-tools readiness
npx @fairmint/canton-dev-tools teardown
```


Integration helpers:

```ts
Expand Down
2 changes: 1 addition & 1 deletion docs/package-boundary.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ repository / CI-only. Repeatable enforcement lives in `npm run check:package-art

LocalNet CLI and shared integration-test helpers are **not** published here. They live in
[`@fairmint/canton-dev-tools`](https://www.npmjs.com/package/@fairmint/canton-dev-tools)
(`0.1.1+`), including `scripts/localnet-cloud.sh` and `@fairmint/canton-dev-tools/testing`.
(`0.1.7+`), including `scripts/localnet-cloud.sh` and `@fairmint/canton-dev-tools/testing`.

## CI-only / must not publish

Expand Down
17 changes: 7 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"build/src/**"
],
"scripts": {
"artifacts:manifest": "mkdir -p artifacts && npm pack --dry-run --json --ignore-scripts > /tmp/npm-pack.json 2>/dev/null && jq -r '.[0].files[].path' /tmp/npm-pack.json | sort | tsx scripts/collapse-manifest.ts > artifacts/npm-manifest.txt",
"artifacts:manifest": "mkdir -p artifacts && npm pack --dry-run --json --ignore-scripts > /tmp/npm-pack.json 2>/dev/null && jq -r '.[0].files[].path' /tmp/npm-pack.json | sort | canton-dev-tools collapse-manifest > artifacts/npm-manifest.txt",
"build": "npm run build:core && npm run build:lint",
"build:core": "npm run generate:openapi-types && npm run build:core:generate-client-methods && npm run tsc7",
"build:core:generate-client-methods": "tsx scripts/generate-all-client-methods.ts",
Expand All @@ -43,18 +43,15 @@
"lint:npm": "npmPkgJsonLint . --fix",
"lint:npm:check": "npmPkgJsonLint .",
"localnet:diagnostics": "canton-dev-tools diagnostics",
"localnet:logs": "canton-dev-tools logs",
"localnet:quickstart": "canton-dev-tools setup",
"localnet:logs": "canton-dev-tools diagnostics",
"localnet:readiness": "canton-dev-tools readiness",
"localnet:setup": "canton-dev-tools setup",
"localnet:smoke": "canton-dev-tools smoke",
"localnet:smoke": "canton-dev-tools readiness",
"localnet:start": "canton-dev-tools start",
"localnet:status": "canton-dev-tools status",
"localnet:stop": "canton-dev-tools stop",
"localnet:stop": "canton-dev-tools teardown",
"localnet:teardown": "canton-dev-tools teardown",
"localnet:verify": "canton-dev-tools verify",
"localnet:verify": "npm run localnet:start && npm run localnet:readiness && npm run test:localnet",
"prepack": "npm run clean && npm run build:core",
"prepare-release": "tsx scripts/prepare-release.ts",
"prepare-release": "canton-dev-tools prepare-release",
"prepublishOnly": "npm run prepack",
"revoke-user-rights": "tsx scripts/revoke-user-rights.ts",
"test": "jest",
Expand All @@ -79,7 +76,7 @@
"zod": "4.4.3"
},
"devDependencies": {
"@fairmint/canton-dev-tools": "0.1.1",
"@fairmint/canton-dev-tools": "0.1.7",
"@types/jest": "30.0.0",
"@types/node": "26.1.0",
"@types/ws": "8.18.1",
Expand Down
66 changes: 0 additions & 66 deletions scripts/collapse-manifest.ts

This file was deleted.

Loading
Loading