-
Notifications
You must be signed in to change notification settings - Fork 97
[DRAFT]: stagenet docs #1162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
nstanford5
wants to merge
1
commit into
main
Choose a base branch
from
draft-stagenet
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
[DRAFT]: stagenet docs #1162
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| position: 11 | ||
| label: 'Stagenet (beta)' | ||
| collapsible: true # make the category collapsible | ||
| collapsed: true # keep the category closed by default | ||
| link: | ||
| type: doc | ||
| id: index | ||
| customProps: | ||
| description: Delivery notes for the Stagenet release-candidate environment, including tested component versions and artifact checksums. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,104 @@ | ||
| --- | ||
| SPDX-License-Identifier: Apache-2.0 | ||
| copyright: This file is part of midnight-docs. Copyright (C) Midnight Foundation. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. | ||
| title: Artifact checksums | ||
| description: SHA-256 checksums and image digests for every component delivered in the Midnight 2.0 Stagenet beta (Q2 2026). | ||
| id: artifact-checksums | ||
| displayed_sidebar: sidebar | ||
| sidebar_position: 3 | ||
| tags: [stagenet, releases, checksums, verification] | ||
| --- | ||
|
|
||
| # Artifact checksums: Midnight 2.0 Stagenet beta (Q2) | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| :::warning Draft | ||
|
|
||
| This section is a draft shared for partner review. Content is subject to change and is not part of the published documentation set. | ||
|
|
||
| ::: | ||
|
|
||
| SHA-256 checksums for the Q2 delivery components. All values are published and independently verifiable, except the ledger item noted at the end. Verified 2026-07-10. | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| ## npm components (SHA-256 of the published .tgz) | ||
|
|
||
| Each file is the published `.tgz` from the npm registry; the SHA-256 is computed from that archive. To verify, download each `dist.tarball`, then run `shasum -a 256 -c`. | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| ```text | ||
| ba3897b8ac1fac72f0544ed721f6639fc0f09fbcf7aeb62252475d118edf8d5e midnight-js-5.0.0-beta.4.tgz | ||
| e9d24d0cba7fe806d68916ec7a6822f27ce6e0532473f2c0203b980601007dcc compact-js-2.5.5-rc.6.tgz | ||
| 3b8402724f7087a6b94f58c3ea676b112124e85c8cd632c99a536a7a398b07fc compact-runtime-0.18.0-rc.1.tgz | ||
| cbe37c50a73475232e5ba3b3fca684b36acedfda722e9df60edaa39914cd617c wallet-sdk-2.0.0-beta.2.tgz | ||
| ``` | ||
|
|
||
| Tarballs on the public registry follow the pattern `https://registry.npmjs.org/<pkg>/-/<file>.tgz`. Note the organization split: Compact.js, Compact runtime, and Midnight.js are under `@midnight-ntwrk` (with a hyphen); the wallet SDK is under `@midnightntwrk` (no hyphen). npm also publishes an SRI `dist.integrity` (SHA-512) per version. | ||
|
|
||
| Midnight.js is a meta-package: the root `.tgz` (about 3.4 KB) pins the scoped sub-packages (`-contracts`, `-protocol`, `-types`, `-utils`, `-network-id`) at the same version, which is where the code lives. `5.0.0-beta.4` is the Ledger RC3 stack build. If the full set is required, the sub-package tarballs hash alongside the root. | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| ## Node 2.0.0-rc.4 (release-attached SHA256SUMS) | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| Source: GitHub release `node-2.0.0-rc.4` assets (`SHA256SUMS` and `srtool-digest.json`). | ||
|
|
||
| ```text | ||
| 2bfd0f768a88d0d1d49cc97bfd6b9f4401646458887219e8c021bff8d9a9ae0b midnight-node-2.0.0-rc.4-linux-arm64.tar.gz | ||
| 33d756ca39e6623e5718222c2e3ff9271e8b6eea00dea5bf4564d1b80e743479 midnight_node_runtime-2.0.0-rc.4.wasm | ||
| 85513afbfe4dd3fccadde6ad5d7ccf82b8fa0c88d010445fc62c223c9ef078eb midnight-node-toolkit-2.0.0-rc.4-linux-arm64.tar.gz | ||
| bd98bcf938e24e8764d56a072ec9c1434b0e819b6f049240a6c428524d0b0edf midnight_node_runtime-2.0.0-rc.4.compact.wasm | ||
| f0397437ad4c1efa9e96c9ba1be17ac2168757471cbe96cef656576c74593d60 midnight-node-2.0.0-rc.4-linux-amd64.tar.gz | ||
| f0905d38bae87f97c888c09fd95df6b3a4d235475695a383d4b81a14d134a778 midnight_node_runtime-2.0.0-rc.4.compact.compressed.wasm | ||
| fdd9f6974c1c20928d3b9dc79c13c51bf984eb6dc4cdaf1978a1b037794402de midnight-node-toolkit-2.0.0-rc.4-linux-amd64.tar.gz | ||
| ``` | ||
|
|
||
| The srtool reproducible-build runtime is blake2_256 `0x15ff2c42eca1fd6399271532cea505a32162b1a7067d6a583f9774588ea94451`, spec_version 2000000. | ||
|
|
||
| ## Compact compiler 0.33.0-rc.2 (per-asset SHA-256) | ||
|
|
||
| Source: GitHub release `compactc-v0.33.0-rc.2` at `LFDT-Minokawa/compact`. Pin the platform your delivery targets. | ||
|
|
||
| ```text | ||
| 35a28009c9a57d20902e4fcfd12f0ca9ea94338208954cf8bcd335652e24f382 compactc_v0.33.0-rc.2_aarch64-darwin.zip | ||
| 3aa23812b0b086dbce07da3931a40dcb01bec9676b1ceed7f2d0be370ab2dc46 compactc_v0.33.0-rc.2_aarch64-unknown-linux-musl.zip | ||
| dce1a57d82ce06208fcc5d9de5343f18c48654a5ff3acf6bafabe3d17bf1ef18 compactc_v0.33.0-rc.2_x86_64-darwin.zip | ||
| 3055ab92bbc8d5bb0d6282b661b83761d2a0de2ee37e21cf7107e25aaf2a9aad compactc_v0.33.0-rc.2_x86_64-unknown-linux-musl.zip | ||
| ``` | ||
|
|
||
| ## Proof server 9.0.0-rc.5_experimental (Docker image digests) | ||
|
|
||
| The proof server is not a tarball; its integrity is the image digest. Pin through `midnightntwrk/proof-server@<index-digest>`. | ||
|
|
||
| ```text | ||
| index sha256:4f02ca2734649eb238d13924df299b1c82bd5546ec928c5d67bdd0ce86dd0bd1 | ||
| amd64 sha256:4db380b1434492896a144a5ffc083a145d30dc68af64e43e5b4813efa118a09a | ||
| arm64 sha256:83eb40f64db7c8d4a5972352da2bc4a86e4e2963bccdcd96b5116d1a640cf709 | ||
| ``` | ||
|
|
||
| The primary registry is `ghcr.io/midnight-ntwrk/proof-server`, mirrored to Docker Hub. Digests were read from the Docker Hub mirror. | ||
|
|
||
| ## Indexer 4.4.0-pre-alpha.16 (five image digests) | ||
|
|
||
| The indexer ships as five images. Tag: `4.4.0-pre-alpha.16-l91r3-n2r3-bridge-and-events-epics-contract-zswap-16c656df`. Pin through `midnightntwrk/<name>@sha256:...`. | ||
|
|
||
| ```text | ||
| chain-indexer sha256:3ad83b1e424bf8e5933b12c162015dabb20e8f4621ff8a83469944379a851f17 | ||
| indexer-api sha256:a03b8485eadee1145d9d92e5176bd9e93149ea2ef2bcab3b01d0aac90b3c091a | ||
| wallet-indexer sha256:e2a4af1fceacdde1aa80240f812c5ea636e013524aa321eb515138e0b9e7e92d | ||
| indexer-standalone sha256:893173e52e07560c366d3c96edfeede569c2d20cb5fad7b8d7e71aaa99f21c70 | ||
| spo-indexer sha256:a65806e41260c346542a4b225c425d2493d439013b0fb64d0de72f9f65a6f028 | ||
| ``` | ||
|
|
||
| ## Ledger | ||
|
|
||
| Ledger 9.1.0.0-rc.3 is a Rust workspace built from source rather than a published tarball, so it carries no standalone SHA-256 in the list above. The delivered version is pinned by the git tag `ledger-9.1.0.0-rc.3` (commit `4823b53`) and builds reproducibly from that source through the repository's Cargo workspace and Nix flake. To verify, clone the tag and build. The wasm bindings (`ledger-wasm`, `onchain-runtime`) are distributed alongside for JS consumers. | ||
|
nstanford5 marked this conversation as resolved.
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| Source: [midnight-ledger at ledger-9.1.0.0-rc.3](https://github.com/midnightntwrk/midnight-ledger/tree/ledger-9.1.0.0-rc.3) | ||
|
|
||
| ## Notes | ||
|
|
||
| - Compact.js 2.5.5-rc.6 covers Keccak and secp256k1; the single rc.6 tarball above serves both, with no separate build. | ||
| - Containerized components (indexer, proof server) have no tarball and are verified by their SHA-256 registry image digest, anonymously verifiable on the registry. | ||
|
nstanford5 marked this conversation as resolved.
|
||
| - The faucet is excluded: it is operational infrastructure run on Stagenet, not a SOW component, and it is reached by endpoint with no build or checksum. | ||
|
nstanford5 marked this conversation as resolved.
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| ## Low-level protocol documentation (SOW-09) | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| - [Impact opcodes](https://github.com/midnightntwrk/midnight-ledger/blob/ledger-9/spec/impact-opcodes.md) | ||
| - [Transaction format](https://github.com/midnightntwrk/midnight-ledger/blob/ledger-9/spec/transaction-format.md) | ||
| - [Transaction types](https://github.com/midnightntwrk/midnight-ledger/blob/ledger-9/spec/transaction-types.md) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| --- | ||
|
nstanford5 marked this conversation as resolved.
|
||
| SPDX-License-Identifier: Apache-2.0 | ||
| copyright: This file is part of midnight-docs. Copyright (C) Midnight Foundation. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. | ||
|
nstanford5 marked this conversation as resolved.
|
||
| title: Stagenet delivery notes | ||
| description: Delivery documents for the Stagenet environment, listing the tested component versions deployed so the Midnight Foundation and partners can exercise delivered features. | ||
| id: index | ||
| displayed_sidebar: sidebar | ||
| sidebar_position: 1 | ||
| tags: [stagenet, releases, delivery] | ||
| --- | ||
|
|
||
| # Stagenet delivery notes | ||
|
|
||
| :::warning Draft | ||
|
|
||
| This section is a draft shared for partner review. Content is subject to change and is not part of the published documentation set. | ||
|
|
||
| ::: | ||
|
|
||
| Delivery documents for the **Stagenet** environment: the tested component versions deployed on Stagenet so the Midnight Foundation and partners can exercise the delivered features. One document per stack; a new document is issued each time the Stagenet stack is promoted, for example RC2 to RC3. | ||
|
nstanford5 marked this conversation as resolved.
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| Stagenet is a release-candidate environment with no SLA that resets to genesis each quarter. Formal releases happen at Preview. | ||
|
|
||
| ## Contents | ||
|
|
||
| - [Midnight 2.0 Stagenet beta](./midnight-2-0-stagenet-beta.mdx) — Ledger RC3 stack, Q2 statement-of-work delivery. | ||
| - [Artifact checksums](./artifact-checksums.mdx) — download links and SHA-256 checksums for every delivered component. | ||
|
|
||
| See the [compatibility matrix](/relnotes/support-matrix) for the current published version of every Midnight component. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,113 @@ | ||
| --- | ||
|
nstanford5 marked this conversation as resolved.
|
||
| SPDX-License-Identifier: Apache-2.0 | ||
| copyright: This file is part of midnight-docs. Copyright (C) Midnight Foundation. Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. | ||
|
nstanford5 marked this conversation as resolved.
|
||
| title: Midnight 2.0 Stagenet beta | ||
| description: Q2 2026 beta delivery document for Midnight 2.0 on Stagenet, covering deliverables, the Ledger RC3 compatible stack, and Stagenet access details. | ||
| id: midnight-2-0-stagenet-beta | ||
| displayed_sidebar: sidebar | ||
| sidebar_position: 2 | ||
| tags: [stagenet, releases, delivery, ledger] | ||
| --- | ||
|
|
||
| # Midnight Q2 2026 beta delivery document | ||
|
|
||
| :::warning Draft | ||
|
|
||
| This section is a draft shared for partner review. Content is subject to change and is not part of the published documentation set. | ||
|
|
||
| ::: | ||
|
|
||
| ## What is in this document | ||
|
|
||
| - List of Q2 deliverables and their delivery status. | ||
| - The compatibility matrix needed to exercise these features on Stagenet. | ||
| - Link to the release artifact checksum document. | ||
| - Links to the low-level protocol documentation. | ||
| - How to access Stagenet, including RPC and faucet URLs. | ||
|
|
||
| ## Q2 SOW deliverables | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| | ID | Deliverable | Components | Status | | ||
| | ------ | --- | --- | --- | | ||
| | SOW-01 | Native cryptographic primitives for Prime stablecoin integration (USDCx) | Language, Smart Compliance | Delivered | | ||
| | SOW-02 | ECDSA signature support (custodian integrations) | Ledger, Crypto | Delivered | | ||
| | SOW-03 | Contract-to-contract calls, phase 1 (unshielded data only) | Midnight.js, Compact | Delivered | | ||
| | SOW-04 | ZKIR v3 | Crypto, Language, Ledger | Delivered | | ||
| | SOW-05 | cNIGHT to mNIGHT protocol token bridge | Protocol, Ledger, Cardano integration | Delivered | | ||
| | SOW-06 | Native Keccak hashing | Crypto, Language | Delivered | | ||
| | SOW-07 | Native secp256k1 | Crypto, Language | Delivered | | ||
| | SOW-08 | Event emission support for Compact smart contracts, phase 1 (unshielded only) | Ledger, Language | Delivered | | ||
| | SOW-09 | Low-level protocol documentation | Ledger | Delivered | | ||
|
|
||
| ## Component versions | ||
|
|
||
| ### Stagenet testing (Ledger RC3 compatible stack) | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| | Component | Version | | ||
| | --- | --- | | ||
| | Ledger | [9.1.0.0-rc.3](https://github.com/midnightntwrk/midnight-ledger) | | ||
| | Node | [2.0.0-rc.4](https://github.com/midnightntwrk/midnight-node/releases/tag/node-2.0.0-rc.4) | | ||
| | Indexer | [4.4.0-pre-alpha.16](https://github.com/midnightntwrk/midnight-indexer) | | ||
| | Proof server | [9.0.0-rc.5_experimental](https://hub.docker.com/r/midnightntwrk/proof-server) | | ||
| | Compact compiler | [0.33.0-rc.2](https://github.com/LFDT-Minokawa/compact/releases/tag/compactc-v0.33.0-rc.2) | | ||
| | Compact runtime | [0.18.0-rc.1](https://www.npmjs.com/package/@midnight-ntwrk/compact-runtime/v/0.18.0-rc.1) | | ||
| | Compact.js | [2.5.5-rc.6](https://github.com/midnightntwrk/midnight-sdk/releases/tag/compact-js-v2.5.5-rc.6) | | ||
| | Midnight.js | [5.0.0-beta.4](https://github.com/midnightntwrk/midnight-js/releases/tag/v5.0.0-beta.4) | | ||
| | Wallet SDK | [2.0.0-beta.2](https://github.com/midnightntwrk/midnight-wallet) | | ||
|
|
||
| :::note | ||
|
|
||
| ZKIR v3 support requires the experimental build of the proof server. `--feature-zkir-v3` is a Compact compiler flag; contracts compiled with it must run against that experimental proof-server build. | ||
|
|
||
| ::: | ||
|
|
||
| ## How to access Stagenet | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| - **Access model**: publicly accessible over RPC (TLS, under `stagenet.shielded.tools`), like Preview and Preprod. A brand-new chain with its own genesis, connected to Cardano through a partner-chain bridge. | ||
| - **Wallet and setup**: use the wallet SDK version above; point tools and wallets at the RPC endpoint below. Endpoints and partner configuration are preserved across resets, so connection settings do not change. This reset regenerated the chain genesis, so Stagenet is a new chain and on-chain state is wiped: resync wallets from scratch, re-request faucet funds, and redeploy any contracts. | ||
|
nstanford5 marked this conversation as resolved.
nstanford5 marked this conversation as resolved.
|
||
| - **View the chain in a browser**: open the Polkadot/Substrate apps explorer at [polkadot.js.org/apps → Stagenet](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frpc.stagenet.shielded.tools#/explorer). No install is needed; if it warns about an unknown chain, continue. | ||
|
nstanford5 marked this conversation as resolved.
|
||
| - **Faucet**: get a Stagenet address, open the faucet URL below, paste the address, and request tokens. A small daily rate limit applies per requester. | ||
| - **Quick health check**: | ||
|
|
||
| ```bash | ||
| curl -s https://rpc.stagenet.shielded.tools \ | ||
| -H 'Content-Type: application/json' \ | ||
| -d '{"jsonrpc":"2.0","id":1,"method":"system_health","params":[]}' | ||
| ``` | ||
|
|
||
| A healthy response has `isSyncing: false` and `peers` greater than 0. | ||
|
|
||
| | Purpose | URL | | ||
| | --- | --- | | ||
| | Node RPC | `wss://rpc.stagenet.shielded.tools` | | ||
| | Indexer (GraphQL) | `https://indexer.stagenet.shielded.tools/api/v4/graphql` | | ||
| | Faucet | `https://faucet.stagenet.shielded.tools` | | ||
| | Browser explorer | [polkadot.js.org/apps → Stagenet](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frpc.stagenet.shielded.tools#/explorer) | | ||
|
|
||
| ## Policy IDs on Stagenet | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| Stagenet has the same policy ID as Preview for cNIGHT: | ||
|
|
||
| ```text | ||
| 0xd2dbff622e509dda256fedbd31ef6e9fd98ed49ad91d5c0e07f68af1 | ||
| ``` | ||
|
|
||
| Check this through [chain state on the Polkadot apps explorer](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frpc.stagenet.shielded.tools#/chainstate), or in the [source code](https://github.com/midnightntwrk/midnight-node/blob/node-2.0.0-rc.4/res/stagenet/cnight-config.json). | ||
|
|
||
| ## Stagenet updates | ||
|
|
||
| Stagenet continues to get updated as STL tests further and finds and fixes issues. Expect further RC versions deployed to this environment over the coming days. STL keeps MNF up to date on what is changing so that all interested parties can continue testing these delivered features on Stagenet. | ||
|
|
||
| ## Artifacts | ||
|
|
||
| Download links and SHA-256 checksums for every component above are provided in the companion manifest: [artifact checksums](./artifact-checksums.mdx). It covers the npm packages (including Midnight.js 5.0.0-beta.4), the node release assets, the Compact compiler, and the proof-server and indexer image digests. | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| Per the statement of work, the manifest carries a SHA-256 checksum per artifact. Containerized components with no tarball (indexer, proof server) are verified by their SHA-256 registry image digest, anonymously verifiable on the registry. | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| ### Low-level protocol documentation (SOW-09) | ||
|
nstanford5 marked this conversation as resolved.
|
||
|
|
||
| Low-level protocol specifications in the `midnight-ledger` repository: | ||
|
|
||
| - [Impact opcodes](https://github.com/midnightntwrk/midnight-ledger/blob/ledger-9/spec/impact-opcodes.md) | ||
| - [Transaction format](https://github.com/midnightntwrk/midnight-ledger/blob/ledger-9/spec/transaction-format.md) | ||
| - [Transaction types](https://github.com/midnightntwrk/midnight-ledger/blob/ledger-9/spec/transaction-types.md) | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.