Proposal 134900 | Tim - CodeGov
Vote: Adopt
Reason: Build is successful, hashes match, commits match descriptions and the reasoning behind the changes is sound. I’ve selectively reviewed Consensus, Crypto, Interface and Owner commits as detailed below.
@sat @marko Some of our team have found the build has failed since commit 4bd2abd was pushed about 2 weeks ago. It might be that the build only works if the folder into which the repo is cloned is named dfinity
rather than some other name. If this is the case would you consider changing this line accordingly or modifying the instructions in the proposal text template?
Review
Features:
[572afbcdb]
Adds fields last_duration_milliseconds_datadir
, last_run_success_datadir
and total_runs_datadir
to FsTrimMetrics
, utilised in fstrim_tool
, plus associated tests.
[c16efb073]
Adds the ability for the LRU (least-recently used) cache to limit space used on disk as well as in memory. Within LruCache
struct, splits capacity
and size
into memory_capacity
, disk_capacity
, memory_size
and disk_size
, and uses these throughout the code. Similarly splits count_bytes
into memory_bytes
and disk_bytes
.
[fb3fc37ae]
Adds new mapping functions principal_to_subaccount
and subaccount_to_principal
to packages/icrc-ledger-types/src/icrc1/account.rs
.
Bugfixes:
[80c6776c1]
Within impl BatchPayload
, adds additional conditions to return is_empty
as true, specifically xnet.stream_slices.is_empty()
(replacing xnet.is_empty()
) and query_stats.is_empty()
. Modifies count_bytes
method in impl CountBytes for CanisterHttpResponse
to include additional items. This and other CountBytes
impls are modified to deconstruct self
first so as to enable easier error spotting in future.
[cf2f2cc97]
Replaces send_advert
with outbound_tx
and inbound_rx
in run_artifact_processor
, create_ingress_handlers
and create_artifact_handler
functions. Related changes in the consensus manager API code including renaming of some types.
[f9f2491d3]
Several changes to PocketIC matching the description. Renames PocketXNetSlicePoolImpl
struct and impl to PocketXNetImpl
and adds new logic for storing stream indices and the byte limit used for refilling subnet stream slices.
Chores:
[5cce4f5cb]
Modifies the artifact processor thread loop to use a generic stream for artifact events so that event input is not limited to the UnboundedReceiver
type. Removes UnboundedSender
from the output of abortable_broadcast_channel
. Further changes matching description.
[4a7957ba6]
Adds the full body of an HTTP request to logging on signature verification failure, rather than just the message ID, to assist with debugging of a current issue.
[111bac358]
Adds command copy
to state_tool
as explained in the commit notes. Removes copy_recursively
from commands/import_state.rs
as this is presumably now redundant.
[dce918ac8]
Version update for rules_rust, allowing for removal of bazel/rules_rust.patch
.
Refactoring:
[f491f848c]
Converts IngressPayload
into a map of serialised ingress messages rather than a single buffer of bytes, as explained further in the description.
[6da5c715e]
Moves pub fn serve_journal
from rs/nervous_system/common/src/lib.rs
to rs/sns/governance/src/upgrade_journal.rs
in order to prevent it from being called incorrectly.
Tests:
[df2145592]
Moves test_ingress_payload_deserialization
from test_utilities/types
to types/types
.
[6b7b92b24]
Adds a test check_archive_and_ledger_block_equality
to check that the ICRC1 ledger.did and archive.did agree on the block format.
[d6bb598cf]
Changes to ICRC1 ledger canbench benchmarks, as per description.
About CodeGov…
CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these topics and Synapse on most other topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralisation of SNS projects such as WaterNeuron and KongSwap with a known neuron and credible Followees.
Learn more about CodeGov and its mission at codegov.org.