Skip to content
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

feat(dre): Better listing proposals #382

Merged
merged 6 commits into from
May 17, 2024
Merged

Conversation

NikolaMilosa
Copy link
Contributor

@NikolaMilosa NikolaMilosa commented May 16, 2024

Initial model for better proposal filtering directly from the governance canister.

dre proposals filter --limit 15 -t exchange-rate

This would return last 15 proposals with topic exchange-rate. It is possible to list multiple topics.

dre proposals filter --limit 15 -t governance -t ic-os-version-deployment

Flags:

  • -t, --topics, --topic - Filter proposals based on one or many topics
  • -s, --status, --statuses - Filter proposals based on status
  • --limit - Default 100, can be more than 100.

Each proposal has a payload property which is json serialized. Result is printed to stdout meaning it can be chained to other tools such as jq. If you wanted to get last 15 subnets that got updated via ic-os-version-deployment you would run something like:

dre proposals filter --limit 15 --topic ic-os-version-deployment --status executed | jq -r '.[] | .payload' | jq '.subnet_id'

Example output:

[
  {
    "id": 129727,
    "proposer": 51,
    "title": "Reevaluating Neuron Control Restrictions",
    "summary": "\n\n### TL;DR\n\nThe Internet Computer Protocol prevents canisters from directly controlling neurons, a measure intended to block neuron sales and ensure long-term thinking in voting behavior. However, these restrictions can be circumvented by a canister using threshold ECDSA (tECDSA) and HTTP outcalls. This suggests a need to reconsider the restrictions and their effectiveness.\n\nThis proposal recommends lifting restrictions on canister neuron control in the NNS and monitoring their materiality through newly developed metrics. A threshold is set to initiate mitigation measures if canister-controlled neurons exceed 10% of total voting power. Additional measures to disincentive neuron transfers will be considered and implemented if this threshold is reached, balancing security enhancements with user complexity and implementation effort.\n\n### Background\n\n**Restrictions on Neuron Control**\n\nIn the ICP network, neurons are decision-making entities created through the staking of ICP tokens. These neurons participate in governance by voting on proposals. To promote long-term decision-making, users are incentivized to stake their tokens for several years. Additionally, control over neurons is deliberately restricted: Currently only so-called [self-authenticating principals](https://wiki.internetcomputer.org/wiki/Principal#Self-Authenticating_principal) can be set as the controller of a neuron. A self-authenticating principal is an entity that utilizes its own cryptographic key pair (consisting of a private and a public key) to authenticate itself; the idea being that control over the underlying private key cannot be transferred without full trust. For example, a user relying on Internet Identity, Quill or a Ledger hardware wallet is of this kind. Canisters, which do not possess self-authenticating principals, are therefore excluded from directly controlling neurons.\n\n**Reason for the Restrictions on Neuron Control**\n\nThe restriction is based on the requirement that neurons should not be sold - when canisters can control neurons directly, one can sell a neuron by selling the canister that controls it. It is considered important for neurons to be non-transferable/no-sellable because\n\n* neurons should have an incentive to vote in the long-term interest of the Internet Computer and\n* to avoid the possibility of attacks where an attacker acquires tokens only for a short amount of time, votes on a malicious proposal (e.g. transfer tokens) and then sells the neurons again.\n\n**Circumventing Restrictions on Neuron Control**\n\nDespite these safeguards, there are a few ways to bypass the restrictions on neuron control:\n\n* Threshold ECDSA ([tECDSA](https://internetcomputer.org/docs/current/references/t-ecdsa-how-it-works/)): As canisters are able to control tECDSA keys, which are a feature of the Internet Computer Protocol, they can also sign ingress messages to the Internet Computer and thereby act as the controller of a neuron (making calls via HTTP to appear as ingress).\n* Canister signatures: A canister can control a neuron through canister signatures, again making calls via HTTP to appear as ingress.\n\nFurthermore, it is also possible to control a neuron via an Internet Identity (II) and [sell the II](https://xdtth-dyaaa-aaaah-qc73q-cai.raw.icp0.io/).\n\n### Revisiting Neuron Control Restrictions\n\nGiven that the restriction for canisters to not control neurons can be circumvented relatively easily, it should be considered to drop that restriction. This was suggested by several ICP community members already. Lifting that restriction would bring the following benefits\n\n* Facilitate NNS neurons that are SNS controlled: SNSs already chose to do this (e.g. OpenChat, GoldDAO), providing them a continuous income to cover cycles fees and involving SNSs in NNS governance. Allowing direct canister control of neurons would simplify the current more complicated workflow via tECDSA.\n* Consistency with SNS: As opposed to the NNS, the SNS framework does not apply restrictions on neuron controllers.\n* Facilitate organizational neuron ownership: An organization could control a neuron via a canister.\n\nA key point discussed in the [forum](https://forum.dfinity.org/t/reevaluating-neuron-control-restrictions/28597) is the issue of materiality: As long as only a small number of neurons are controlled by canisters or through II, this does not significantly impact long-term voting behavior of the NNS overall.\n\n### Suggested Way Forward\n\nAcknowledging the potential for circumvention of the current mechanism, it is recommended to lift the restrictions on canister neuron control while monitoring the materiality of canister-controlled neurons, via the following steps:\n\n* Lift restrictions on neuron control: Remove existing restrictions, allowing canisters to control NNS neurons.\n* Implement new metrics: Develop and implement metrics in the NNS governance canister that track the total stake and voting power of canister-controlled neurons on a daily basis. This should include the proportion of canister-controlled voting power relative to the total voting power.\n* Establish a materiality threshold: Set a threshold that triggers mitigation measures if canister-controlled neurons exceed 10% of the total voting power. The threshold might be adjusted at a later point in time. For example, the threshold might be increased (upon NNS approval) following a materiality analysis of canister-controlled neurons belonging to DAOs, which are not considered to be an issue. \n* Delayed implementation of additional measures: Additional disincentives for neuron transfers will be implemented if the materiality threshold is surpassed. While further measures could enhance security, they would also increase complexity for users and require significant implementation effort. The specifics of these mitigation measures can be determined as the situation evolves and will be subject to a separate motion proposal. For instance, these disincentives would reduce the rewards for transferable neurons created after this proposal is passed; to avoid the reduction, non-transferability of neurons could be shown via a proof of knowledge of a cryptographic key controlling the neuron.\n\n",
    "proposal_timestamp_seconds": 1715774131,
    "topic": "Governance",
    "status": "Open",
    "payload": "{\"motion_text\":\"This proposal recommends lifting restrictions on canister neuron control in the NNS and monitoring their materiality through newly developed metrics.\"}"
  },
  {
    "id": 129706,
    "proposer": 1730676817598423123,
    "title": "Elect new IC/Replica revision (commit 30bf45e)",
    "summary": "Release Notes for [**release-2024-05-09\\_23-02-hotfix-tecdsa**](https://github.com/dfinity/ic/tree/release-2024-05-09_23-02-hotfix-tecdsa) (30bf45e80e6b5c1660cd12c6b554d4f1e85a2d11)\n=====================================================================================================================================================================================\n\nChangelog since git revision [2c4566b7b7af453167785504ba3c563e09f38504](https://dashboard.internetcomputer.org/release/2c4566b7b7af453167785504ba3c563e09f38504)\n\nBugfixes:\n---------\n\n* [`30bf45e80`](https://github.com/dfinity/ic/commit/30bf45e80) Consensus(schnorr): Revert ' Make MasterPublicKey in EcdsaReshareRequest mandatory'\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/30bf45e80e6b5c1660cd12c6b554d4f1e85a2d11/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 30bf45e80e6b5c1660cd12c6b554d4f1e85a2d11\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-05-09-23-02/30606/4",
    "proposal_timestamp_seconds": 1715622317,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"30bf45e80e6b5c1660cd12c6b554d4f1e85a2d11\",\"release_package_sha256_hex\":\"66be9befba346fa462cd20fe9a153f20733cbc5646d2a1ef1bb7c85d8fd4cdd7\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/30bf45e80e6b5c1660cd12c6b554d4f1e85a2d11/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/30bf45e80e6b5c1660cd12c6b554d4f1e85a2d11/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[]}"
  },
  {
    "id": 129697,
    "proposer": 1730676817598423123,
    "title": "Elect new IC/Replica revision (commit 9866a6f)",
    "summary": "Release Notes for [**release-2024-05-09\\_23-02-storage-layer**](https://github.com/dfinity/ic/tree/release-2024-05-09_23-02-storage-layer) (9866a6f5cb43c54e3d87fa02a4eb80d0f159dddb)\n=====================================================================================================================================================================================\n\nChangelog since git revision [2c4566b7b7af453167785504ba3c563e09f38504](https://dashboard.internetcomputer.org/release/2c4566b7b7af453167785504ba3c563e09f38504)\n\nFeatures:\n---------\n\n* [`9866a6f5c`](https://github.com/dfinity/ic/commit/9866a6f5c) Interface: Enable new storage layer\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/9866a6f5cb43c54e3d87fa02a4eb80d0f159dddb/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 9866a6f5cb43c54e3d87fa02a4eb80d0f159dddb\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-05-09-23-02/30606/2",
    "proposal_timestamp_seconds": 1715357589,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"9866a6f5cb43c54e3d87fa02a4eb80d0f159dddb\",\"release_package_sha256_hex\":\"079404868a58d907dcdc145bab8e1538c1b3e3266864355f48523cd41fe01f75\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/9866a6f5cb43c54e3d87fa02a4eb80d0f159dddb/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/9866a6f5cb43c54e3d87fa02a4eb80d0f159dddb/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[]}"
  },
  {
    "id": 129696,
    "proposer": 1730676817598423123,
    "title": "Elect new IC/Replica revision (commit 2c4566b)",
    "summary": "Release Notes for [**release-2024-05-09\\_23-02-base**](https://github.com/dfinity/ic/tree/release-2024-05-09_23-02-base) (2c4566b7b7af453167785504ba3c563e09f38504)\n===================================================================================================================================================================\n\nChangelog since git revision [bb76748d1d225c08d88037e99ca9a066f97de496](https://dashboard.internetcomputer.org/release/bb76748d1d225c08d88037e99ca9a066f97de496)\n\nFeatures:\n---------\n\n* [`1bc0c49ae`](https://github.com/dfinity/ic/commit/1bc0c49ae) Consensus(ecdsa): Add height to EcdsaArtifactId\n* [`c8788db4a`](https://github.com/dfinity/ic/commit/c8788db4a) Consensus(schnorr): Make MasterPublicKey in EcdsaReshareRequest mandatory\n* [`0bc85d7c3`](https://github.com/dfinity/ic/commit/0bc85d7c3) Consensus(schnorr): Generalize pre-signatures in EcdsaPayload\n* [`8dcf4b5b9`](https://github.com/dfinity/ic/commit/8dcf4b5b9) Consensus(ecdsa): Replace a singular key\\_transcript with a collection of key\\_transcripts in the EcdsaPayload\n* [`97fac2a61`](https://github.com/dfinity/ic/commit/97fac2a61) Consensus: Add instant-based fallback to adjusted notarization delay\n* [`65b4a7fcc`](https://github.com/dfinity/ic/commit/65b4a7fcc) Execution: Load canister snapshot management types\n* [`196a91925`](https://github.com/dfinity/ic/commit/196a91925) Execution,Message Routing: More accurate canister invariant check\n* [`43b540d14`](https://github.com/dfinity/ic/commit/43b540d14) Execution,Runtime: Update canister log metrics\n* [`627e4bb56`](https://github.com/dfinity/ic/commit/627e4bb56) Execution,Runtime: Add canister log metric for log size\n* [`7e94e17cb`](https://github.com/dfinity/ic/commit/7e94e17cb) NNS,Execution(registry): Add generalized ChainKeySigningSubnetList\n* [`2ed3ae984`](https://github.com/dfinity/ic/commit/2ed3ae984) Node: Organize and consolidate rootfs utils #4\n* [`699519844`](https://github.com/dfinity/ic/commit/699519844) Node: Organize and consolidate rootfs utils #3\n* [`a7f37fc3b`](https://github.com/dfinity/ic/commit/a7f37fc3b) Runtime(fuzzing): differential wasmtime fuzzer for wasm simd determinism\n* [`de56c1391`](https://github.com/dfinity/ic/commit/de56c1391) Runtime: SIMD: Enable WebAssembly SIMD support\n\nBugfixes:\n---------\n\n* [`9b7f96a26`](https://github.com/dfinity/ic/commit/9b7f96a26) Crypto: Fix running threshold Schnorr benchmarks using cargo\n* [`cf407fa2d`](https://github.com/dfinity/ic/commit/cf407fa2d) Node(guest-os): start unprivileged ports from 80 instead of 79 as it is inclusive\n\nPerformance improvements:\n-------------------------\n\n* [`a2461f6f8`](https://github.com/dfinity/ic/commit/a2461f6f8) Crypto: add fine-grained metrics for private and public IDKG dealing verification\n\nChores:\n-------\n\n* [`e4314ca27`](https://github.com/dfinity/ic/commit/e4314ca27) Consensus(ecdsa): Remove masked kappa creation for quadruples\n* [`84d0e6da5`](https://github.com/dfinity/ic/commit/84d0e6da5) Consensus: Reduce boilerplate for consensus message conversions\n* [`214d3654d`](https://github.com/dfinity/ic/commit/214d3654d) Crypto: don't use the TlsPublicKeyCert internal struct when deriving the node from rustls certs\n* [`ebe8231ae`](https://github.com/dfinity/ic/commit/ebe8231ae) Crypto: remove obsolete specification to tECDSA\n* [`6806c655b`](https://github.com/dfinity/ic/commit/6806c655b) Execution,Runtime: remove excessive total\\_canister\\_log\\_memory\\_usage metric\n* [`36d617df7`](https://github.com/dfinity/ic/commit/36d617df7) Interface: Remove duplicate code for consensus message hash\n* [`f98222194`](https://github.com/dfinity/ic/commit/f98222194) Message Routing: Add signals end metric\n* [`ffe09593d`](https://github.com/dfinity/ic/commit/ffe09593d) Message Routing,Runtime: Some more fine-grained metrics for merges\n* [`3bcc668d3`](https://github.com/dfinity/ic/commit/3bcc668d3) Networking: tracing instrumentation for quic transport and consensus p2p\n* [`89d400d7c`](https://github.com/dfinity/ic/commit/89d400d7c) Networking(http\\_endpoints): use axum server\n\nRefactoring:\n------------\n\n* [`6d36a6b5c`](https://github.com/dfinity/ic/commit/6d36a6b5c) Consensus: Merge imports of ic-recovery\n* [`9e27a9e72`](https://github.com/dfinity/ic/commit/9e27a9e72) Consensus: remove unused priorities\n* [`b60a3024b`](https://github.com/dfinity/ic/commit/b60a3024b) Crypto: use directly rustls instead of using it via tokio\\_rustls\n* [`6f316c9a6`](https://github.com/dfinity/ic/commit/6f316c9a6) Crypto: remove CSP layer for sig creation in tECDSA\n\nTests:\n------\n\n* [`c5439d886`](https://github.com/dfinity/ic/commit/c5439d886) Consensus: Check consensus bounds in test framework\n* [`d0e6ec77b`](https://github.com/dfinity/ic/commit/d0e6ec77b) Consensus: Display the state hash of the latest CUP on the orchestrator dashboard\n* [`72fe43f3c`](https://github.com/dfinity/ic/commit/72fe43f3c) Consensus: Support named fields in enum variants for exhaustive derive\n* [`cec83184e`](https://github.com/dfinity/ic/commit/cec83184e) Crypto: make some crypto test utils and dependents testonly\n* [`9dfa09421`](https://github.com/dfinity/ic/commit/9dfa09421) Crypto: split tECDSA/IDKG integration tests\n* [`5228aafd8`](https://github.com/dfinity/ic/commit/5228aafd8) Interface: Add protobuf round trip tests for some structured enums\n* [`3d3850c3c`](https://github.com/dfinity/ic/commit/3d3850c3c) Runtime: SIMD: Add NaN canonicalization test\n\nOther changes:\n--------------\n\n* [`4e30ba322`](https://github.com/dfinity/ic/commit/4e30ba322) Boundary Nodes,Node: Update relocated rootfs references\n* [`dcabf8592`](https://github.com/dfinity/ic/commit/dcabf8592) Node: Updating container base images refs [2024-05-09-0815]\n* [`1048c55ae`](https://github.com/dfinity/ic/commit/1048c55ae) Node: Updating container base images refs [2024-05-08-0632]\n* [`235b099e0`](https://github.com/dfinity/ic/commit/235b099e0) Node: Updating container base images refs [2024-05-02-0815]\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/2c4566b7b7af453167785504ba3c563e09f38504/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 2c4566b7b7af453167785504ba3c563e09f38504\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-05-09-23-02/30606/1",
    "proposal_timestamp_seconds": 1715357549,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"2c4566b7b7af453167785504ba3c563e09f38504\",\"release_package_sha256_hex\":\"1b18fbfe4a2c3913d14db5154ad4b0878ee5e2232eaadbf961b35952f3a462e9\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/2c4566b7b7af453167785504ba3c563e09f38504/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/2c4566b7b7af453167785504ba3c563e09f38504/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[]}"
  },
  {
    "id": 129666,
    "proposer": 16664007084337444895,
    "title": "Make 16664007084337444895 a known neuron (Andre-Popovitch)",
    "summary": "Hi everyone. I want to make my neuron be a known neuron. You can tell that I'm the one and only Andre Popovitch from my forum post, which is linked in the URL field of this proposal.",
    "proposal_timestamp_seconds": 1715128739,
    "topic": "Governance",
    "status": "Rejected",
    "payload": "{\"id\":{\"id\":16664007084337444895},\"known_neuron_data\":{\"name\":\"Andre-Popovitch\",\"description\":\"NNS Extraordinaire\"}}"
  },
  {
    "id": 129640,
    "proposer": 75,
    "title": "ICRC-37: Approval Support for the Minimal Non-Fungible Token (NFT) Standard",
    "summary": "|ICRC|Title|Author|Discussions|Status|Type|Category|Created|\n|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|\n|37|Approval Functionality for the ICRC-7 Non-Fungible Token (NFT) Standard|Ben Zhai (@benjizhai), Austin Fatheree (@skilesare), Dieter Sommer (@dietersommer), Thomas (@sea-snake), Moritz Fuller (@letmejustputthishere), Matthew Harmon|https://github.com/dfinity/ICRC/issues/37|Draft|Standards Track||2023-11-22|\n\n\n# ICRC-37: Approval Support for the Minimal Non-Fungible Token (NFT) Standard\n\nThis document specifies approval support for the [ICRC-7 minimal NFT standard for the Internet Computer](https://github.com/dfinity/ICRC/ICRCs/ICRC-7/ICRC-7.md). It defines all the methods required for realizing approval semantics for an NFT token ledger, i.e., creating approvals, revoking approvals, querying approval information, and making transfers based on approvals. The scope of ICRC-37 has been part of ICRC-7 originally, however, the NFT Working Group has decided to split it out into a separate standard for the following reasons:\n  * ICRC-7 and ICRC-37 are much shorter and hence easier to navigate on their own due to their respective foci;\n  * Ledgers that do not want to implement approval and transfer from semantics do not need to provide dummy implementations of the corresponding methods that fail by default.\n\nThis standard extends the ICRC-7 NFT standard and is intended to be implemented by token ledgers that implement ICRC-7. An ICRC-7 ledger may implement ICRC-37 in case it intends to offer approve and transfer from semantics. Principles put forth in ICRC-7 apply to ICRC-37 as well, e.g., the design of the update and query API.\n\n> The keywords \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\", \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"MAY\", and \"OPTIONAL\" in this document are to be interpreted as described in RFC 2119.\n\n**Canisters implementing the `ICRC-37` standard MUST implement all the functions in the `ICRC-7` interface**.\n\n**Canisters implementing the `ICRC-37` standard MUST include `ICRC-37` in the list returned by the `icrc7_supported_standards` method**.\n\n## What does the standard imply?\nICRC-37 is a contract between organizations participating in the Ledger & Tokenization working group and the community. If the standard is accepted, we agree to\n\n1. Provide a production-ready implementation of the standard.\n2. Support the standard in our existing and future products.\n3. Build tools to interact with standard-compliant implementations.\n4. Promote the standard.\n5. Design extensions to the standard to simplify and scale payment flows.\n\nAccepting the ICRC-37 standard does not imply that all other standards should be considered obsolete. Everyone is free to experiment with new designs, application interfaces, and products.\n\nThe main goal of ICRC-37 is to provide a solid common ground for interoperability.\n\n## Specification\n\nThe specification of ICRC-37 is too big to fit into a motion proposal. The full ICRC-37 specification in the version to be voted on can be found at [https://github.com/dfinity/ICRC/tree/424402830cbcc2def46112556d13ac5c5ab41c0c/ICRCs/ICRC-37](https://github.com/dfinity/ICRC/tree/424402830cbcc2def46112556d13ac5c5ab41c0c/ICRCs/ICRC-37).\n",
    "proposal_timestamp_seconds": 1715013149,
    "topic": "Governance",
    "status": "Executed",
    "payload": "{\"motion_text\":\"\"}"
  },
  {
    "id": 129628,
    "proposer": 1730676817598423123,
    "title": "Elect new IC/Replica revision (commit f58424c)",
    "summary": "Release Notes for [**release-2024-05-01\\_23-01-storage-layer**](https://github.com/dfinity/ic/tree/release-2024-05-01_23-01-storage-layer) (f58424c4ba894ab8a12c8e223655d5d378fb1010)\n=====================================================================================================================================================================================\n\nChangelog since git revision [bb76748d1d225c08d88037e99ca9a066f97de496](https://dashboard.internetcomputer.org/release/bb76748d1d225c08d88037e99ca9a066f97de496)\n\nFeatures:\n---------\n\n* [`f58424c4b`](https://github.com/dfinity/ic/commit/f58424c4b) Interface: Enable new storage layer\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/f58424c4ba894ab8a12c8e223655d5d378fb1010/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c f58424c4ba894ab8a12c8e223655d5d378fb1010\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-05-01-23-01/30247/2",
    "proposal_timestamp_seconds": 1714746789,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"f58424c4ba894ab8a12c8e223655d5d378fb1010\",\"release_package_sha256_hex\":\"4709c8ff3b0789a7c3190bf26d52ff47e230c5e70b28a23e83fcb80534e7c5f9\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/f58424c4ba894ab8a12c8e223655d5d378fb1010/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/f58424c4ba894ab8a12c8e223655d5d378fb1010/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[]}"
  },
  {
    "id": 129627,
    "proposer": 1730676817598423123,
    "title": "Elect new IC/Replica revision (commit bb76748)",
    "summary": "Release Notes for [**release-2024-05-01\\_23-01-base**](https://github.com/dfinity/ic/tree/release-2024-05-01_23-01-base) (bb76748d1d225c08d88037e99ca9a066f97de496)\n===================================================================================================================================================================\n\nChangelog since git revision [80e0363393ea26a36b77e8c75f7f183cb521f67f](https://dashboard.internetcomputer.org/release/80e0363393ea26a36b77e8c75f7f183cb521f67f)\n\nFeatures:\n---------\n\n* [`0f39cc6c0`](https://github.com/dfinity/ic/commit/0f39cc6c0) Consensus: Introduce round start time based on monotonic instant\n* [`558b7ce24`](https://github.com/dfinity/ic/commit/558b7ce24) Consensus(orchestrator): Generate the API Boundary Node Firewall config file\n* [`2bc9a80fe`](https://github.com/dfinity/ic/commit/2bc9a80fe) Consensus: Add checks for consensus pool bounds\n* [`75ac2a132`](https://github.com/dfinity/ic/commit/75ac2a132) Crypto: add tEd25519 to crypto component\n* [`e33dbb05b`](https://github.com/dfinity/ic/commit/e33dbb05b) Crypto: Implement Elligator2/hash2curve for Ed25519\n* [`f225315be`](https://github.com/dfinity/ic/commit/f225315be) Crypto: Add threshold EdDSA signature protocol\n* [`20b34efdd`](https://github.com/dfinity/ic/commit/20b34efdd) Execution: Implement call\\_with\\_best\\_effort\\_response system API\n* [`9020de89a`](https://github.com/dfinity/ic/commit/9020de89a) Execution,Message Routing: Add response slot and memory reservation stats to CallContextManager\n* [`cbf1827f1`](https://github.com/dfinity/ic/commit/cbf1827f1) Execution,Runtime: delete logs on canister uninstall\n* [`b5b51fc46`](https://github.com/dfinity/ic/commit/b5b51fc46) Execution,Runtime: delete logs on canister reinstall\n* [`9d3b520cc`](https://github.com/dfinity/ic/commit/9d3b520cc) Execution,Runtime: Keep main memory on upgrade option\n* [`4b31f9b2f`](https://github.com/dfinity/ic/commit/4b31f9b2f) Execution,Runtime: persist logs across canister upgrades with traps\n* [`bcbffe03f`](https://github.com/dfinity/ic/commit/bcbffe03f) Execution,Runtime: SIMD: Update WASM benchmarks report\n* [`cc7cd7c55`](https://github.com/dfinity/ic/commit/cc7cd7c55) Execution,Runtime: SIMD: Add WASM SIMD benchmarks\n* [`d5a3dbdc2`](https://github.com/dfinity/ic/commit/d5a3dbdc2) Node: Organize and consolidate rootfs utils #1\n* [`df76f6adb`](https://github.com/dfinity/ic/commit/df76f6adb) Node: Organize and consolidate rootfs utils #2\n* [`a66036433`](https://github.com/dfinity/ic/commit/a66036433) Node: Add setupOS deployment path verification warning\n* [`240be8529`](https://github.com/dfinity/ic/commit/240be8529) Runtime: SIMD: Update instruction\\_to\\_cost function\n\nBugfixes:\n---------\n\n* [`df69b53ff`](https://github.com/dfinity/ic/commit/df69b53ff) Execution: Return an error on unregister callback failure\n* [`d00dc2308`](https://github.com/dfinity/ic/commit/d00dc2308) Message Routing: Validate that the task queue has at most one entry between rounds\n* [`e8fe3e33a`](https://github.com/dfinity/ic/commit/e8fe3e33a) Message Routing: Move consensus queue check at the end of round\n\nPerformance improvements:\n-------------------------\n\n* [`ad379a0b3`](https://github.com/dfinity/ic/commit/ad379a0b3) Crypto: add IDKG Ed25519 benchmark\n\nChores:\n-------\n\n* [`fdfcc6571`](https://github.com/dfinity/ic/commit/fdfcc6571) Boundary Nodes,Node: clean-up rootfs documentation\n* [`bee238c78`](https://github.com/dfinity/ic/commit/bee238c78) Consensus(ecdsa): Replace Option<EcdsaKeyId> with just EcdsaKeyId in Quadruples\n* [`904a6861f`](https://github.com/dfinity/ic/commit/904a6861f) Consensus(artifact\\_pool): Remove CertificationMessageFilter and ConsensusMessageFilter\n* [`a59fe1569`](https://github.com/dfinity/ic/commit/a59fe1569) Consensus: upgrade rocksdb\n* [`8bb7cc769`](https://github.com/dfinity/ic/commit/8bb7cc769) Consensus(artifact\\_pool): Remove function contains\n* [`4e728eaaa`](https://github.com/dfinity/ic/commit/4e728eaaa) Consensus: remove unused integrity hash\n* [`e5a890dda`](https://github.com/dfinity/ic/commit/e5a890dda) Consensus,Interface(consensus): Remove some unused error variants\n* [`5a92452f7`](https://github.com/dfinity/ic/commit/5a92452f7) Consensus,NNS(refactor): removes certified time reading\n* [`b20227e9a`](https://github.com/dfinity/ic/commit/b20227e9a) Execution,Message Routing: Miscellaneous replicated state cleanups\n* [`80f8ee907`](https://github.com/dfinity/ic/commit/80f8ee907) Execution,Runtime: Test bounding of timeout when calling call\\_with\\_best\\_effort\\_response\n* [`a2dc87350`](https://github.com/dfinity/ic/commit/a2dc87350) Execution,Runtime: update heap delta limit warning message\n* [`fcebeba8f`](https://github.com/dfinity/ic/commit/fcebeba8f) Execution,Runtime: SIMD: Add WASM instructions coverage report\n* [`9cf812a24`](https://github.com/dfinity/ic/commit/9cf812a24) Execution,Runtime: SIMD: Regroup basic WASM benchmarks\n* [`4ef6928b1`](https://github.com/dfinity/ic/commit/4ef6928b1) Execution,Runtime: SIMD: Rename instructions to ops\n* [`5def103a2`](https://github.com/dfinity/ic/commit/5def103a2) Message Routing,Runtime: Add a debug assert that calculated number of shards is consistent with already existing ones.\n* [`0c4fbcf1c`](https://github.com/dfinity/ic/commit/0c4fbcf1c) Networking: revert reqwest usage in https outcalls adapter\n\nRefactoring:\n------------\n\n* [`4cd73e6f1`](https://github.com/dfinity/ic/commit/4cd73e6f1) Consensus: Merge imports in orchestrator\n* [`9245f8dae`](https://github.com/dfinity/ic/commit/9245f8dae) Consensus,Message Routing: removed the unused contains method and rename get\\_validated\\_by\\_identifier just to get\n* [`141ad63e8`](https://github.com/dfinity/ic/commit/141ad63e8) Networking: remove more redundant code from the P2P stack\n\nTests:\n------\n\n* [`d33def669`](https://github.com/dfinity/ic/commit/d33def669) Crypto: Add stability test for BIP340 protocol\n* [`e371d3a1b`](https://github.com/dfinity/ic/commit/e371d3a1b) Crypto: add should\\_fail\\_deserializing\\_invalid\\_initial\\_idkg\\_dealings() test\n* [`e6cf7b88d`](https://github.com/dfinity/ic/commit/e6cf7b88d) Crypto: add a fuzzer for hash\\_to\\_curve\n* [`7f5a4b07c`](https://github.com/dfinity/ic/commit/7f5a4b07c) Crypto: serialization roundtrip in fuzzers\n* [`eb64dbb6a`](https://github.com/dfinity/ic/commit/eb64dbb6a) Execution,Runtime: add testing canister logging of long running DTS message over checkpoint\n* [`3b15d5652`](https://github.com/dfinity/ic/commit/3b15d5652) Execution,Runtime: add testing canister logs over dts\n* [`02a361f32`](https://github.com/dfinity/ic/commit/02a361f32) Execution,Runtime: Add tests for call\\_with\\_best\\_effort\\_responses\n* [`19670383e`](https://github.com/dfinity/ic/commit/19670383e) Execution,Runtime: SIMD: Add unaligned SIMD benchmarks\n* [`66a6f11f6`](https://github.com/dfinity/ic/commit/66a6f11f6) Execution,Runtime: cleanup canister logging tests\n* [`86156402e`](https://github.com/dfinity/ic/commit/86156402e) Execution,Runtime: improve consensus\\_queue invariant test\n* [`050023439`](https://github.com/dfinity/ic/commit/050023439) Execution,Runtime: Make query\\_scheduler\\_does\\_not\\_starve\\_canisters more robust\n\nOther changes:\n--------------\n\n* [`ae1cb52c2`](https://github.com/dfinity/ic/commit/ae1cb52c2) Consensus(refactor): Merge imports in ic-replay\n* [`7160747c2`](https://github.com/dfinity/ic/commit/7160747c2) Execution,Consensus: Add delivered query stats metrics\n* [`85525dc5e`](https://github.com/dfinity/ic/commit/85525dc5e) Node: Updating container base images refs [2024-04-30-0624]\n* [`8d3bdcab3`](https://github.com/dfinity/ic/commit/8d3bdcab3) Node: Updating container base images refs [2024-04-27-0627]\n* [`c7ddb0220`](https://github.com/dfinity/ic/commit/c7ddb0220) Node: Updating container base images refs [2024-04-25-0829]\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/bb76748d1d225c08d88037e99ca9a066f97de496/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c bb76748d1d225c08d88037e99ca9a066f97de496\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-05-01-23-01/30247/1",
    "proposal_timestamp_seconds": 1714746522,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"bb76748d1d225c08d88037e99ca9a066f97de496\",\"release_package_sha256_hex\":\"4e65adecf2a9659e70c4cc86e0c90587507dc15564512826f4d6dd2004db24b2\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/bb76748d1d225c08d88037e99ca9a066f97de496/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/bb76748d1d225c08d88037e99ca9a066f97de496/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[\"ff10ea1dba07c0f66c66536a46a97146cf260e90\"]}"
  },
  {
    "id": 129626,
    "proposer": 75,
    "title": "ICRC-7: Minimal Non-Fungible Token (NFT) Standard",
    "summary": "|ICRC|Title|Author|Discussions|Status|Type|Category|Created|\n|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|\n|7|Minimal Non-Fungible Token (NFT) Standard|Ben Zhai (@benjizhai), Austin Fatheree (@skilesare), Dieter Sommer (@dietersommer), Thomas (@sea-snake), Moritz Fuller (@letmejustputthishere), Matthew Harmon|https://github.com/dfinity/ICRC/issues/7|Draft|Standards Track||2023-01-31|\n\n# ICRC-7: Minimal Non-Fungible Token (NFT) Standard\n\nICRC-7 is the minimal standard for the implementation of Non-Fungible Tokens (NFTs) on the [Internet Computer](https://internetcomputer.org).\n\nA token ledger implementation following this standard hosts an *NFT collection* (*collection*), which is a set of NFTs.\n\nICRC-7 does not handle approval-related operations such as `approve` and `transfer_from` itself. Those operations are specified by ICRC-37 which extends ICRC-7 with approval semantics.\n\n## What does the standard imply?\nICRC-7 is a contract between organizations participating in the Ledger & Tokenization working group and the community. If the standard is accepted, we agree to\n\n1. Provide a production-ready implementation of the standard.\n2. Support the standard in our existing and future products.\n3. Build tools to interact with standard-compliant implementations.\n4. Promote the standard.\n5. Design extensions to the standard to simplify and scale payment flows.\n\nAccepting the ICRC-7 standard does not imply that all other standards should be considered obsolete. Everyone is free to experiment with new designs, application interfaces, and products.\n\nThe main goal of ICRC-7 is to provide a solid common ground for interoperability.\n\n## Specification\n\nThe specification of ICRC-7 is too big to fit into a motion proposal. The full ICRC-7 specification in the version to be voted on can be found at [https://github.com/dfinity/ICRC/tree/424402830cbcc2def46112556d13ac5c5ab41c0c/ICRCs/ICRC-7](https://github.com/dfinity/ICRC/tree/424402830cbcc2def46112556d13ac5c5ab41c0c/ICRCs/ICRC-7).\n",
    "proposal_timestamp_seconds": 1714742637,
    "topic": "Governance",
    "status": "Executed",
    "payload": "{\"motion_text\":\"\"}"
  },
  {
    "id": 129625,
    "proposer": 75,
    "title": "ICRC-10 Supported Standards Generalization",
    "summary": "# ICRC-10 Supported Standards Generalization\n\n|ICRC|Title|Author|Discussions|Status|Type|Category|Created|\n|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|\n|10|Supported Standards Generalization|Austin Fatheree (@skilesare), Dieter Sommer (@dietersommer), Mario Pastorelli (@MarioDfinity)|[Issue 10](https://github.com/dfinity/ICRC/issues/10)|Draft|Standards Track||2024-03-05|\n\nICRC-10 is a standard aimed at simplifying the discovery of the supported standards of canisters on the Internet Computer. By providing a unified method, `icrc10_supported_standards`, canisters can easily expose the standards they implement, enhancing interoperability and easing integration efforts across the ecosystem.\n\n## What does the standard imply?\nICRC-10 is a contract between organizations participating in the Ledger & Tokenization working group and the community. If the standard is accepted, we agree to\n\n1. Provide a production-ready implementation of the standard.\n2. Support the standard in our existing and future products.\n3. Build tools to interact with standard-compliant implementations.\n4. Promote the standard.\n5. Design extensions to the standard to simplify and scale payment flows.\n\nAccepting the ICRC-10 standard does not imply that all other standards should be considered obsolete. Everyone is free to experiment with new designs, application interfaces, and products.\n\nThe main goal of ICRC-10 is to provide a solid common ground for interoperability.\n\n## Data\n\nThe `icrc10_supported_standards` method returns a list of standardized records, each corresponding to a standard supported by the canister. The response record format of this method is structured as follows:\n\n```candid \"Type definitions\" +=\ntype SupportedStandard = record { name : text; url : text; };\ntype SupportedStandardsResponse = vec SupportedStandard;\n```\n\n### name\n\nFor ICRC standards the text SHOULD be in the form `ICRC-X` where `X` is the official ICRC number assigned at https://github.com/dfinity/ICRC/issues. New ICRC numbers can be procured by filing an issue at https://github.com/dfinity/ICRC/issues/new. The resulting issue number MUST be used for numbering the new ICRC standard.\n\nFor non-ICRC standards, the text SHOULD be a human-readable namespace with a small likelihood of collision. The Internet Computer shares a global namespace. Please be polite to other developers and make namespaces specific. See https://forum.dfinity.org/t/prefix-all-the-methods-of-the-icrc-1-token-standard-with-icrc1/13865 for more discussion.\n\nSuggestions:\n\n- com.search.searchable\n- org.icdevs.donatable\n- eth.ecrc20.addressable\n\n### url\n\nThe url SHOULD point to a stable URL that explains the referenced standard.\n\n## Methods\n\n### icrc10_supported_standards\n\nStandard developers MUST implement the `icrc10_supported_standards` query endpoint.\n\nThe method returns a list of standards supported by the canister.\n\nThe method is used for discovering which APIs or protocols a given canister complies with, making it easier for developers and applications to interact with a broad range of services on the Internet Computer without prior detailed knowledge of each service's capabilities.\n\n```candid \"Methods\" +=\nicrc10_supported_standards : () -> (SupportedStandardsResponse) query;\n```\n\nThe result MUST include entries for `ICRC-1` if the canister supports these standards. This mandate ensures that clients querying for supported standards can upgrade to ICRC-10 for discoverability. \n\nThe result MUST include a self-reference for `record{name=\"ICRC-10\"; url=\"https://github.com/dfinity/ICRCs/ICRC-10\"}`.\n\nAdditionally, the result SHOULD include entries for other supported standards, offering a flexible and extensible way to advertise capabilities.\n\n## Rationale\n\nThe rationale behind the `icrc10_supported_standards` method over implementing similar endpoints within ICRC-1 individually is that it alleviates the need for ICRC standard writers to include custom specifications for a feature retrieval endpoint. This approach streamlines the integration process, broadens the compatibility across different protocols, and fosters a more interconnected and versatile ecosystem.\n\nIn effect, `icrc10_supported_standards` serves as a universal discovery mechanism, enabling canisters to succinctly communicate their supported interfaces. This capability is particularly valuable in a decentralized environment like the Internet Computer, where discovering and leveraging the functionalities of various services can significantly enhance application development and user experiences.\n\nThrough standardization of the `icrc10_supported_standards` method, ICRC-10 aims to simplify interoperability, reduce implementation complexity, and foster a more vibrant and accessible ecosystem of services on the Internet Computer.\n\n## Migration Path for Ledgers Using ICRC-1\n\nLedgers and other services that already exist, to the extent that they are capable, SHOULD implement ICRC-10 to increase interoperability on the Internet Computer.\n\nFor maintaining interoperability with ICRC-1, existing ICRC-1 ledgers MUST maintain their implementation of  `icrc1_supported_standards`.  The new `icrc10_supported_standards` method SHOULD return at least the same data, but MAY be augmented with additional ICRC features or supported standards.\n\n## Versioning\n\nGenerally, new versions and updates of existing standards SHOULD be assigned a new ICRC number as opposed to attempting to support versioning through this interface.\n\n## Future Work\n\nA  potential area for improvement is the establishment of a registry or directory service on the Internet Computer that indexes canisters by the standards they support, using the ICRC-10 mechanism. Such a service could dramatically improve discoverability and foster a more interconnected ecosystem of canisters.\n\n<!--\n```candid ICRC-10.did +=\n<<<Type definitions>>>\n\nservice : {\n  <<<Methods>>>\n}\n```\n-->\n\n## Interface\n\n```\ntype SupportedStandard = record { name : text; url : text; };\ntype SupportedStandardsResponse = vec SupportedStandard;\n\nservice : {\n  icrc10_supported_standards : () -> (SupportedStandardsResponse) query;\n}\n```\n",
    "proposal_timestamp_seconds": 1714741588,
    "topic": "Governance",
    "status": "Executed",
    "payload": "{\"motion_text\":\"\"}"
  },
  {
    "id": 129494,
    "proposer": 1730676817598423123,
    "title": "Elect new IC/Replica revision (commit 5e285dc)",
    "summary": "Release Notes for [**release-2024-04-24\\_23-01-storage-layer**](https://github.com/dfinity/ic/tree/release-2024-04-24_23-01-storage-layer) (5e285dcaf77db014ac85d6f96ff392fe461945f5)\n=====================================================================================================================================================================================\n\nChangelog since git revision [80e0363393ea26a36b77e8c75f7f183cb521f67f](https://dashboard.internetcomputer.org/release/80e0363393ea26a36b77e8c75f7f183cb521f67f)\n\nFeatures:\n---------\n\n* [`5e285dcaf`](https://github.com/dfinity/ic/commit/5e285dcaf) Interface: Enable new storage layer\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/5e285dcaf77db014ac85d6f96ff392fe461945f5/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 5e285dcaf77db014ac85d6f96ff392fe461945f5\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-04-24-23-01/30011/2",
    "proposal_timestamp_seconds": 1714130155,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"5e285dcaf77db014ac85d6f96ff392fe461945f5\",\"release_package_sha256_hex\":\"e2a202b97e60cd713fa881b504464b5db96202fe2a1a6c92aad1fab8cccca4e2\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/5e285dcaf77db014ac85d6f96ff392fe461945f5/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/5e285dcaf77db014ac85d6f96ff392fe461945f5/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[]}"
  },
  {
    "id": 129493,
    "proposer": 1730676817598423123,
    "title": "Elect new IC/Replica revision (commit 80e0363)",
    "summary": "Release Notes for [**release-2024-04-24\\_23-01-base**](https://github.com/dfinity/ic/tree/release-2024-04-24_23-01-base) (80e0363393ea26a36b77e8c75f7f183cb521f67f)\n===================================================================================================================================================================\n\nChangelog since git revision [abcea3eff0be52dc5328e71de98288991de854bf](https://dashboard.internetcomputer.org/release/abcea3eff0be52dc5328e71de98288991de854bf)\n\nFeatures:\n---------\n\n* [`cabcd2297`](https://github.com/dfinity/ic/commit/cabcd2297) Consensus(schnorr): Generalize pre-signatures over ECDSA and Schnorr\n* [`5c30c2286`](https://github.com/dfinity/ic/commit/5c30c2286) Consensus(schnorr): Add new types for tSchnorr pre-signatures\n* [`e96215814`](https://github.com/dfinity/ic/commit/e96215814) Crypto: Separate purge queue per transcript threshold\n* [`c3f028272`](https://github.com/dfinity/ic/commit/c3f028272) Execution,Message Routing: Also validate Response deadlines\n* [`7acd03147`](https://github.com/dfinity/ic/commit/7acd03147) Execution,Runtime: Persist logs across canister upgrades during happy path\n* [`1f0ff0910`](https://github.com/dfinity/ic/commit/1f0ff0910) Interface,Consensus(schnorr): Add generalized pre-signature types to block payload proto\n* [`5fa5b9d4a`](https://github.com/dfinity/ic/commit/5fa5b9d4a) Message Routing: Introduce hard limit for number of files per page map in LSMT\n* [`2b5e3922a`](https://github.com/dfinity/ic/commit/2b5e3922a) Message Routing: Validate slices before insertion into CertifiedSlicePool\n* [`36523578c`](https://github.com/dfinity/ic/commit/36523578c) Node: Add build-time check to SetupOS\n* [`a444cf909`](https://github.com/dfinity/ic/commit/a444cf909) Runtime: Support for wasm64\n\nBugfixes:\n---------\n\n* [`b561dbdf3`](https://github.com/dfinity/ic/commit/b561dbdf3) Consensus: Sleep early to give IPv4 time to configure before logging\n* [`60c07a58a`](https://github.com/dfinity/ic/commit/60c07a58a) Consensus: remove consensus attribute\n* [`f6415e04c`](https://github.com/dfinity/ic/commit/f6415e04c) Execution,Runtime: Fix checking heap delta invariant\n* [`05000d470`](https://github.com/dfinity/ic/commit/05000d470) Node: Fix writing metrics \"type\" in metrics functions and consolidate metrics functions\n* [`7b9868747`](https://github.com/dfinity/ic/commit/7b9868747) Runtime,Execution: Use existing system state when executing the start function on a canister\n\nPerformance improvements:\n-------------------------\n\n* [`2553e4792`](https://github.com/dfinity/ic/commit/2553e4792) Crypto: add benchmarks for threshold Schnorr\n\nChores:\n-------\n\n* [`847abcf9f`](https://github.com/dfinity/ic/commit/847abcf9f) Consensus(schnorr): Populate MasterPublicKeyId in EcdsaReshareRequest\n* [`4e8d1384d`](https://github.com/dfinity/ic/commit/4e8d1384d) Execution: Update error message when calling fetch\\_canister\\_logs from canisters\n* [`344d0a458`](https://github.com/dfinity/ic/commit/344d0a458) Interface,Consensus(consensus): Remove unneeded fields of ConsensusResponse\n* [`2ba705d9a`](https://github.com/dfinity/ic/commit/2ba705d9a) Message Routing: Some additional metrics for merging\n* [`796da1812`](https://github.com/dfinity/ic/commit/796da1812) Networking: migrate cup endpoint to axum\n* [`ede7a3ea0`](https://github.com/dfinity/ic/commit/ede7a3ea0) Runtime(RUN): Upgrade wasmparser and wasm-encoder\n* [`dda82cce8`](https://github.com/dfinity/ic/commit/dda82cce8) Runtime: Cleanup old metering\n\nRefactoring:\n------------\n\n* [`e50700544`](https://github.com/dfinity/ic/commit/e50700544) Consensus: Restructure ECDSA types module to allow addition of Schnorr\n* [`9f5e68a46`](https://github.com/dfinity/ic/commit/9f5e68a46) Crypto: measure complete local vault calls in metrics\n* [`1a9b39756`](https://github.com/dfinity/ic/commit/1a9b39756) Execution,Runtime: Refactor WASM benchmarks before adding the SIMD benchmarks\n* [`1b2d37a47`](https://github.com/dfinity/ic/commit/1b2d37a47) Networking: remove redundant code in the artifact manager\n* [`3cd4c205e`](https://github.com/dfinity/ic/commit/3cd4c205e) Networking: delete more unused code when constructing the P2P/Consensus stack\n* [`680bfc742`](https://github.com/dfinity/ic/commit/680bfc742) Networking: simplify the creation of the p2p/consensus stack\n* [`176994927`](https://github.com/dfinity/ic/commit/176994927) Node,IDX,T&V: Consolidate rootfs file pools\n* [`192e1557e`](https://github.com/dfinity/ic/commit/192e1557e) Node: Migrate rootfs files into initial manifest map\n* [`936a3ef6f`](https://github.com/dfinity/ic/commit/936a3ef6f) Node: Consolidate and organize duplicated mount-generator code\n\nTests:\n------\n\n* [`ce749479f`](https://github.com/dfinity/ic/commit/ce749479f) Consensus: Do validate the CUP when the latest state height exceeds the CUP's height\n* [`33415f9e7`](https://github.com/dfinity/ic/commit/33415f9e7) Crypto: add more tSchnorr verify\\_combined\\_sig tests\n* [`50e943c84`](https://github.com/dfinity/ic/commit/50e943c84) Crypto: add a tSchnorr combine\\_sig\\_shares test\n* [`a99d18c63`](https://github.com/dfinity/ic/commit/a99d18c63) Crypto: add more tSchnorr verify\\_sig\\_share tests\n* [`8ffc5ae9b`](https://github.com/dfinity/ic/commit/8ffc5ae9b) Crypto: add more tSchnorr create\\_sig\\_share tests\n* [`4140afe55`](https://github.com/dfinity/ic/commit/4140afe55) Crypto: add basic tests for tBIP340 in crypto component\n* [`0ef1d3d22`](https://github.com/dfinity/ic/commit/0ef1d3d22) Execution,Runtime: add testing consensus queue invariant\n* [`8354b8a25`](https://github.com/dfinity/ic/commit/8354b8a25) Execution,Runtime: add more-asserts to execution environment tests\n* [`6c404992f`](https://github.com/dfinity/ic/commit/6c404992f) Message Routing,T&V: enable DTS in all StateMachine tests by default\n* [`bedd13dbc`](https://github.com/dfinity/ic/commit/bedd13dbc) Message Routing,Runtime: Add test for the metrics fields of MergeCandidate\n\nOther changes:\n--------------\n\n* [`3e93018c4`](https://github.com/dfinity/ic/commit/3e93018c4) Consensus,Networking,Interface: remove the unused filter functionality\n* [`ba91f3f7c`](https://github.com/dfinity/ic/commit/ba91f3f7c) Execution,Consensus: Fix query stats metric\n* [`97655bb0c`](https://github.com/dfinity/ic/commit/97655bb0c) Execution,Message Routing,Interface: Compatibility tests for enums persisted as part of the replicated state\n* [`b8dcd48df`](https://github.com/dfinity/ic/commit/b8dcd48df) Execution,Runtime: Implement canister snapshot delete\n* [`15d92850a`](https://github.com/dfinity/ic/commit/15d92850a) Execution,Runtime: List canister snapshots\n* [`ecdacdbaf`](https://github.com/dfinity/ic/commit/ecdacdbaf) Execution,Message Routing: Remove snapshot\\_ids field from protobuf\n* [`f6c874a0b`](https://github.com/dfinity/ic/commit/f6c874a0b) Message Routing,Runtime: Fix slice size\n* [`7928bbad3`](https://github.com/dfinity/ic/commit/7928bbad3) Message Routing,Runtime: Improve page copying performance.\n* [`e979f6188`](https://github.com/dfinity/ic/commit/e979f6188) Node: Reduce logging across images\n* [`4e2c5a85b`](https://github.com/dfinity/ic/commit/4e2c5a85b) Node: Updating container base images refs [2024-04-22-2113]\n* [`9f5edcbc9`](https://github.com/dfinity/ic/commit/9f5edcbc9) Node: Add config path for sysfs, configure hugepages\n* [`cfc230d63`](https://github.com/dfinity/ic/commit/cfc230d63) Node: Fix bug in local base targets\n* [`ade3e329b`](https://github.com/dfinity/ic/commit/ade3e329b) Node: Updating container base images refs [2024-04-19-0649]\n* [`1d742b780`](https://github.com/dfinity/ic/commit/1d742b780) Node: Updating container base images refs [2024-04-18-0834]\n* [`36311266f`](https://github.com/dfinity/ic/commit/36311266f) Node: Up the connection limit per host for public metrics.\n* [`6eb32e079`](https://github.com/dfinity/ic/commit/6eb32e079) Node,Execution,Runtime,Consensus,IDX,T&V: Activate Query Stats\n* [`e8a2db243`](https://github.com/dfinity/ic/commit/e8a2db243) Runtime,Execution,Interface: Actionable Error Message Types\n* [`b5561e63e`](https://github.com/dfinity/ic/commit/b5561e63e) Runtime,Execution: SIMD: Add support for v128 globals\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/80e0363393ea26a36b77e8c75f7f183cb521f67f/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 80e0363393ea26a36b77e8c75f7f183cb521f67f\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-04-24-23-01/30011/1",
    "proposal_timestamp_seconds": 1714129504,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"80e0363393ea26a36b77e8c75f7f183cb521f67f\",\"release_package_sha256_hex\":\"24ce7d8ee8cfc665c9f85de113ba85be70763375bcc249df506cde782a4f53ef\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/80e0363393ea26a36b77e8c75f7f183cb521f67f/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/80e0363393ea26a36b77e8c75f7f183cb521f67f/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[\"30a4021d7463e4e9ee96b3f279cf38e01b1028ca\",\"ad8024d83965bac64239f53c2c6d4b5c6fb480d3\",\"ac971e7b4c851b89b312bee812f6de542ed907c5\"]}"
  },
  {
    "id": 129428,
    "proposer": 77,
    "title": "Elect new IC/Replica revision (commit 63acf4f)",
    "summary": "Release Notes for [**release-2024-04-17\\_23-01-hotfix-bitcoin-query-stats**](https://github.com/dfinity/ic/tree/release-2024-04-17_23-01-hotfix-bitcoin-query-stats) (63acf4f88b20ec0c6384f4e18f0f6f69fc5d9b9f)\n===============================================================================================================================================================================================================\n\nChangelog since git revision [0a51fd74f08b2e6f23d6e1d60f1f52eb73b40ccc](https://dashboard.internetcomputer.org/release/0a51fd74f08b2e6f23d6e1d60f1f52eb73b40ccc)\n\nBugfixes:\n---------\n\n* [`572dcdfa3`](https://github.com/dfinity/ic/commit/572dcdfa3) Execution,Runtime: move checking heap delta invariant after processing messages in the consensus queue\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/63acf4f88b20ec0c6384f4e18f0f6f69fc5d9b9f/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 63acf4f88b20ec0c6384f4e18f0f6f69fc5d9b9f\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-04-17-23-01/29793/5",
    "proposal_timestamp_seconds": 1713868672,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"63acf4f88b20ec0c6384f4e18f0f6f69fc5d9b9f\",\"release_package_sha256_hex\":\"2a2bff6ad77a2a4825b4900821be5f702e2ad10203486e7cdf3d54d431c22282\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/63acf4f88b20ec0c6384f4e18f0f6f69fc5d9b9f/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/63acf4f88b20ec0c6384f4e18f0f6f69fc5d9b9f/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[]}"
  },
  {
    "id": 129427,
    "proposer": 1730676817598423123,
    "title": "Elect new IC/Replica revision (commit 687de34)",
    "summary": "Release Notes for [**release-2024-04-17\\_23-01-hotfix-bitcoin**](https://github.com/dfinity/ic/tree/release-2024-04-17_23-01-hotfix-bitcoin) (687de34189de20c5346e6b6167d22bcdd11e7ae5)\n=======================================================================================================================================================================================\n\nChangelog since git revision [abcea3eff0be52dc5328e71de98288991de854bf](https://dashboard.internetcomputer.org/release/abcea3eff0be52dc5328e71de98288991de854bf)\n\nBugfixes:\n---------\n\n* [`9b93f49ad`](https://github.com/dfinity/ic/commit/9b93f49ad) Execution,Runtime: move checking heap delta invariant after processing messages in the consensus queue\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/687de34189de20c5346e6b6167d22bcdd11e7ae5/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 687de34189de20c5346e6b6167d22bcdd11e7ae5\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-04-17-23-01/29793/4",
    "proposal_timestamp_seconds": 1713864262,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"687de34189de20c5346e6b6167d22bcdd11e7ae5\",\"release_package_sha256_hex\":\"6f3a555e626b5aa5b529e4f93d1da92c2241fa4e548790e01be15cbf3f91b435\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/687de34189de20c5346e6b6167d22bcdd11e7ae5/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/687de34189de20c5346e6b6167d22bcdd11e7ae5/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[]}"
  },
  {
    "id": 129423,
    "proposer": 1730676817598423123,
    "title": "Elect new IC/Replica revision (commit 4e9b02f)",
    "summary": "Release Notes for [**release-2024-04-10\\_23-01-hotfix-bitcoin-query-stats**](https://github.com/dfinity/ic/tree/release-2024-04-10_23-01-hotfix-bitcoin-query-stats) (4e9b02fc3c0fa377b2fba44b15841d6ef73593a3)\n===============================================================================================================================================================================================================\n\nChangelog since git revision [02dcaf3ccdfe46bd959d683d43c5513d37a1420d](https://dashboard.internetcomputer.org/release/02dcaf3ccdfe46bd959d683d43c5513d37a1420d)\n\nBugfixes:\n---------\n\n* [`46bd20f08`](https://github.com/dfinity/ic/commit/46bd20f08) Execution,Runtime: [hotfix] move checking heap delta invariant after processing messages in the consensus queue\n\n# IC-OS Verification\n\nTo build and verify the IC-OS disk image, run:\n\n```\n# From https://github.com/dfinity/ic#verifying-releases\nsudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/4e9b02fc3c0fa377b2fba44b15841d6ef73593a3/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 4e9b02fc3c0fa377b2fba44b15841d6ef73593a3\n```\n\nThe two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.\n\n\nLink to the forum post: https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-04-10-23-01/29597/9",
    "proposal_timestamp_seconds": 1713862295,
    "topic": "IcOsVersionElection",
    "status": "Executed",
    "payload": "{\"replica_version_to_elect\":\"4e9b02fc3c0fa377b2fba44b15841d6ef73593a3\",\"release_package_sha256_hex\":\"91c42a13f72d12981d0c101888df46daa683c45e109702d624f055068167e6ff\",\"release_package_urls\":[\"https://download.dfinity.systems/ic/4e9b02fc3c0fa377b2fba44b15841d6ef73593a3/guest-os/update-img/update-img.tar.gz\",\"https://download.dfinity.network/ic/4e9b02fc3c0fa377b2fba44b15841d6ef73593a3/guest-os/update-img/update-img.tar.gz\"],\"guest_launch_measurement_sha256_hex\":null,\"replica_versions_to_unelect\":[]}"
  }
]

@NikolaMilosa NikolaMilosa requested a review from a team as a code owner May 16, 2024 18:33
Copy link
Contributor

@DFINITYManu DFINITYManu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PERFECT

@NikolaMilosa NikolaMilosa merged commit 649719d into main May 17, 2024
4 checks passed
@NikolaMilosa NikolaMilosa deleted the nm-better-listing-proposals branch May 17, 2024 11:00
NikolaMilosa added a commit that referenced this pull request May 17, 2024
* first iteration

* implementing first working solution

* less queries for filtering

* implemented v1

* better proposal filterin
NikolaMilosa added a commit that referenced this pull request May 17, 2024
… labels to using github (#384)

* migrating from using gitlab for node labels to using github

* Github Action: Bazel Repin

* feat(dre): Better listing proposals (#382)

* first iteration

* implementing first working solution

* less queries for filtering

* implemented v1

* better proposal filterin

* removing obsolete comment

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants