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 package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"vitest": "^4.1.9"
},
"resolutions": {
"@midnight-ntwrk/ledger-v8": "8.1.2",
"@midnight-ntwrk/ledger-v8": "8.1.0",
"@midnight-ntwrk/wallet-sdk-address-format": "3.1.2",
"@midnight-ntwrk/wallet-sdk-dust-wallet": "4.1.0",
"@midnight-ntwrk/wallet-sdk-facade": "4.0.1",
Expand Down
6 changes: 5 additions & 1 deletion packages/deployer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@ and this package adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

### Fixed

- `@midnight-ntwrk/ledger-v8` is pinned to 8.1.0, the exact version `midnight-js-protocol` 4.1.1 requires, so an npm install of the package holds one ledger copy. With 8.1.2 a second copy was nested and every deploy failed with `expected instance of DustParameters`. yarn and pnpm users add the resolutions listed in the README's "Supported stack" section (#171)

### Added

- Initial package. `Deployer` and `runDeploy` build and submit a Compact deploy transaction from a `compact.toml` profile, resolving the artifact, constructor args, initial private state, and contract signing key, then record the result in `<deployments_dir>/<network>.json` (#86)
- Wallet support: seed-file / `MN_DEPLOYER_SEED` / keystore / prefunded-local seed resolution, a per-seed on-disk sync cache under `.states/`, and a `proof_server = "auto"` mode that boots a testkit-js proof-server container for the run (#86)
- Supported deploy stack is `@midnight-ntwrk/compact-runtime` 0.16.0 and `@midnight-ntwrk/ledger-v8` 8.1.2; artifacts must be compiled with `compact compile +0.31.1`. See the README's "Supported stack" section (#86)
- Supported deploy stack is `@midnight-ntwrk/compact-runtime` 0.16.0 and `@midnight-ntwrk/ledger-v8` 8.1.0; artifacts must be compiled with `compact compile +0.31.1`. See the README's "Supported stack" section (#86)
- A packaged `proof-server.yml`, pinning `midnightntwrk/proof-server:8.0.3`, is what `proof_server = "auto"` boots. `auto` no longer depends on a compose file in the working directory, though one there still wins (#165)
17 changes: 16 additions & 1 deletion packages/deployer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,27 @@ The deployer pins one Midnight stack, and artifacts have to be compiled against
| Component | Version |
|---|---|
| `@midnight-ntwrk/compact-runtime` | 0.16.0 |
| `@midnight-ntwrk/ledger-v8` | 8.1.2 |
| `@midnight-ntwrk/ledger-v8` | 8.1.0 |
| `@midnight-ntwrk/midnight-js-*` | 4.1.1 |
| `@midnight-ntwrk/testkit-js` | 4.1.1 |
| `@midnight-ntwrk/wallet-sdk-facade` | 4.0.1 |
| Compact compiler | 0.31.1 |

`ledger-v8` is pinned to 8.1.0 because `midnight-js-protocol` 4.1.1 requires exactly that version. A second copy of the ledger WASM in the tree fails a deploy with `expected instance of DustParameters`. npm dedupes to the single pinned copy on its own. yarn and pnpm resolve each range to the newest version, so a project using them adds the same pins as this repo's root `package.json`:

```json
"resolutions": {
"@midnight-ntwrk/ledger-v8": "8.1.0",
"@midnight-ntwrk/wallet-sdk-address-format": "3.1.2",
"@midnight-ntwrk/wallet-sdk-dust-wallet": "4.1.0",
"@midnight-ntwrk/wallet-sdk-facade": "4.0.1",
"@midnight-ntwrk/wallet-sdk-shielded": "3.0.1",
"@midnight-ntwrk/wallet-sdk-unshielded-wallet": "3.1.0"
}
```

(`pnpm.overrides` for pnpm.)

Compile with the pinned compiler: `compact compile +0.31.1`. The current default compactc (0.34.x) emits code for compact-runtime 0.19.0, and the deploy then fails with a `Version mismatch` runtime error.

- As of 2026-09, `OpenZeppelin/compact-contracts` `main` is on compact-runtime 0.19.0 / ledger-v9 1.0.0-rc.3, so contracts built there are not deployable with this tool today.
Expand Down
2 changes: 1 addition & 1 deletion packages/deployer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
"dependencies": {
"@midnight-ntwrk/compact-js": "2.5.1",
"@midnight-ntwrk/compact-runtime": "0.16.0",
"@midnight-ntwrk/ledger-v8": "8.1.2",
"@midnight-ntwrk/ledger-v8": "8.1.0",
"@midnight-ntwrk/midnight-js-contracts": "4.1.1",
"@midnight-ntwrk/midnight-js-http-client-proof-provider": "4.1.1",
"@midnight-ntwrk/midnight-js-indexer-public-data-provider": "4.1.1",
Expand Down
10 changes: 5 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -451,10 +451,10 @@ __metadata:
languageName: node
linkType: hard

"@midnight-ntwrk/ledger-v8@npm:8.1.2":
version: 8.1.2
resolution: "@midnight-ntwrk/ledger-v8@npm:8.1.2"
checksum: 10/f27243ebce72d2e8177245ee0aade6430fdb2bdfd51c4f43394e174f935c655efc4850c76bf1eb015303f366257c0c902da58a94621fde04109e6d03a84970d2
"@midnight-ntwrk/ledger-v8@npm:8.1.0":
version: 8.1.0
resolution: "@midnight-ntwrk/ledger-v8@npm:8.1.0"
checksum: 10/10d56076b0333a502f157c816f8cfebefc8d50221cb20c6db15abcbf2d0092bdaf7e9bc1bd19a6d9f51455547c713c916cb16d4a7d18e83cba0e172ad6e2a507
languageName: node
linkType: hard

Expand Down Expand Up @@ -1152,7 +1152,7 @@ __metadata:
dependencies:
"@midnight-ntwrk/compact-js": "npm:2.5.1"
"@midnight-ntwrk/compact-runtime": "npm:0.16.0"
"@midnight-ntwrk/ledger-v8": "npm:8.1.2"
"@midnight-ntwrk/ledger-v8": "npm:8.1.0"
"@midnight-ntwrk/midnight-js-contracts": "npm:4.1.1"
"@midnight-ntwrk/midnight-js-http-client-proof-provider": "npm:4.1.1"
"@midnight-ntwrk/midnight-js-indexer-public-data-provider": "npm:4.1.1"
Expand Down
Loading