From 411f724ef4b91e2ed93a7627dc0db5175f4ee0f7 Mon Sep 17 00:00:00 2001 From: Andriy Berestovskyy <91958447+dfinity-berestovskyy@users.noreply.github.com> Date: Wed, 15 Nov 2023 08:44:41 +0100 Subject: [PATCH 1/4] chore: Remove outdated stable memory limit (#247) --- spec/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/index.md b/spec/index.md index 6c99e0207..6a634ee12 100644 --- a/spec/index.md +++ b/spec/index.md @@ -1714,7 +1714,7 @@ This call traps if the amount of cycles refunded does not fit into a 64-bit valu Canisters have the ability to store and retrieve data from a secondary memory. The purpose of this *stable memory* is to provide space to store data beyond upgrades. The interface mirrors roughly the memory-related instructions of WebAssembly, and tries to be forward compatible with exposing this feature as an additional memory. -The stable memory is initially empty and can be grown up to 32 GiB (provided the subnet has capacity). +The stable memory is initially empty and can be grown up to the [Wasm stable memory limit](https://internetcomputer.org/docs/current/developer-docs/backend/resource-limits#resource-constraints-and-limits) (provided the subnet has capacity). - `ic0.stable_size : () → (page_count : i32)` From ebd6f21e10baa4c3b57cc5e95b3ffacb4208f1ac Mon Sep 17 00:00:00 2001 From: Quint Daenen Date: Mon, 20 Nov 2023 19:28:47 +0100 Subject: [PATCH 2/4] Fix typo in response verification cert expression header. (#252) --- spec/http-gateway-protocol-spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/http-gateway-protocol-spec.md b/spec/http-gateway-protocol-spec.md index 31385d762..889bb5061 100644 --- a/spec/http-gateway-protocol-spec.md +++ b/spec/http-gateway-protocol-spec.md @@ -140,7 +140,7 @@ Response verification fills the security gap left by query calls. It is a versio - Otherwise, verification fails. 5. Parse the `expr_path` field from the `IC-Certificate` header value as per [the certificate header](#the-certificate-header). 6. The parsed `expr_path` is valid as per [Expression Path](#expression-path) otherwise, verification fails. -7. Case-insensitive search for the `IC-CertificationExpression` header. +7. Case-insensitive search for the `IC-CertificateExpression` header. - If no such header is found, verification fails. - If the header value is not structured as per [the certificate expression header](#the-certificate-expression-header), verification fails. 8. Let `expr_hash` be the label of the node in the tree at path `expr_path`. From 93846cefe5777a2ab03d1097516440ad364f6ed6 Mon Sep 17 00:00:00 2001 From: bogwar <51327868+bogwar@users.noreply.github.com> Date: Mon, 20 Nov 2023 19:32:51 +0100 Subject: [PATCH 3/4] Only controllers can install chunked code (#251) * added restriction on controllers * Update spec/index.md Co-authored-by: mraszyk <31483726+mraszyk@users.noreply.github.com> --------- Co-authored-by: mraszyk <31483726+mraszyk@users.noreply.github.com> --- spec/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/index.md b/spec/index.md index 6a634ee12..23c4e9ab6 100644 --- a/spec/index.md +++ b/spec/index.md @@ -2014,6 +2014,8 @@ This method traps if the canister's cycle balance decreases below the canister's This method installs code that had previously been uploaded in chunks. +Only controllers of the target canister can call this method. + The `mode`, `arg`, and `sender_canister_version` parameters are as for `install_code`. The `target_canister` specifies the canister where the code should be installed. The optional `storage_canister` specifies the canister in whose chunk storage the chunks are stored (this parameter defaults to `target_canister` if not specified). From 39472adffd9c0403ead2cf445544e6185ca6b673 Mon Sep 17 00:00:00 2001 From: mraszyk <31483726+mraszyk@users.noreply.github.com> Date: Tue, 21 Nov 2023 16:30:20 +0100 Subject: [PATCH 4/4] fix: update deprecation note on read state paths (#245) --- spec/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/index.md b/spec/index.md index 23c4e9ab6..d5c8e6a29 100644 --- a/spec/index.md +++ b/spec/index.md @@ -653,7 +653,7 @@ The functionality exposed via the [The IC management canister](#ic-management-ca :::note -Requesting paths with the prefix `/subnet` at `/api/v2/canister//read_state` will be deprecated in a future release of the Interface specification. Hence, users are advised to point their requests for paths with the prefix `/subnet` to `/api/v2/subnet//read_state`. +Requesting paths with the prefix `/subnet` at `/api/v2/canister//read_state` might be deprecated in the future. Hence, users might want to point their requests for paths with the prefix `/subnet` to `/api/v2/subnet//read_state`. On the IC mainnet, the root subnet ID `tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe` can be used to retrieve the list of all IC mainnet's subnets by requesting the prefix `/subnet` at `/api/v2/subnet/tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe/read_state`. @@ -5240,7 +5240,7 @@ verify_response(Q, R, Cert') ∧ lookup(["time"], Cert') = Found S.system_time / :::note -Requesting paths with the prefix `/subnet` at `/api/v2/canister//read_state` will be deprecated in a future release of the Interface specification. Hence, users are advised to point their requests for paths with the prefix `/subnet` to `/api/v2/subnet//read_state`. +Requesting paths with the prefix `/subnet` at `/api/v2/canister//read_state` might be deprecated in the future. Hence, users might want to point their requests for paths with the prefix `/subnet` to `/api/v2/subnet//read_state`. On the IC mainnet, the root subnet ID `tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe` can be used to retrieve the list of all IC mainnet's subnets by requesting the prefix `/subnet` at `/api/v2/subnet/tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe/read_state`.