Development (#172)
* docs: Add CLAUDE_RULES.md with strict rebrand protection rules - Define immutable rebrand rules that cannot be violated - Prohibit reverting rebrand for cargo check convenience - Establish checkpoint and audit trail requirements - Document correct error handling approach * refactor: Complete kurdistan-sdk to pezkuwi-sdk rebrand - Update README.md with pezkuwi-sdk branding - Replace all kurdistan-sdk URL references with pezkuwi-sdk - Replace kurdistan-tech with pezkuwichain in workflows - Update email domains from @kurdistan-tech.io to @pezkuwichain.io - Rename tool references: kurdistan-tech-publish → pezkuwi-publish - Update runner names: kurdistan-tech-* → pezkuwichain-* - Update analytics/forum/matrix domains to pezkuwichain.io - Keep 'Kurdistan Tech Institute' as organization name - Keep tech@kurdistan.gov as official government contact
This commit is contained in:
@@ -471,7 +471,7 @@ pub(crate) async fn handle_new_head<
|
||||
let validator_group_lens: Vec<usize> =
|
||||
session_info.validator_groups.iter().map(|v| v.len()).collect();
|
||||
// insta-approve candidates on low-node testnets:
|
||||
// cf. https://github.com/pezkuwichain/kurdistan-sdk/issues/134
|
||||
// cf. https://github.com/pezkuwichain/pezkuwi-sdk/issues/134
|
||||
let num_candidates = included_candidates.len();
|
||||
let approved_bitfield = {
|
||||
if needed_approvals == 0 {
|
||||
|
||||
@@ -1552,7 +1552,7 @@ pub async fn start_approval_worker<
|
||||
// of actions are generated by handling a single action.
|
||||
//
|
||||
// This particular problem statement is specified in issue 3311:
|
||||
// https://github.com/pezkuwichain/kurdistan-sdk/issues/142
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/142
|
||||
//
|
||||
// returns `true` if any of the actions was a `Conclude` command.
|
||||
#[overseer::contextbounds(ApprovalVoting, prefix = self::overseer)]
|
||||
|
||||
@@ -175,7 +175,7 @@ pub fn canonicalize(
|
||||
|
||||
// due to the fork pruning, this range actually might go too far above where our actual highest
|
||||
// block is, if a relatively short fork is canonicalized.
|
||||
// TODO https://github.com/pezkuwichain/kurdistan-sdk/issues/143
|
||||
// TODO https://github.com/pezkuwichain/pezkuwi-sdk/issues/143
|
||||
let new_range = StoredBlockRange(canon_number + 1, std::cmp::max(range.1, canon_number + 2));
|
||||
|
||||
overlay_db.write_stored_block_range(new_range);
|
||||
|
||||
@@ -647,7 +647,7 @@ async fn run_iteration<Context>(
|
||||
|
||||
// Start prune-all on a separate thread, so that in the case when the operation takes
|
||||
// longer than expected we don't keep the whole subsystem blocked.
|
||||
// See: https://github.com/pezkuwichain/kurdistan-sdk/issues/170 for more details.
|
||||
// See: https://github.com/pezkuwichain/pezkuwi-sdk/issues/170 for more details.
|
||||
#[overseer::contextbounds(AvailabilityStore, prefix = self::overseer)]
|
||||
async fn start_prune_all<Context>(
|
||||
ctx: &mut Context,
|
||||
|
||||
@@ -49,7 +49,7 @@ mod tests;
|
||||
const SPAWNED_TASK_DELAY: Duration = Duration::from_millis(1500);
|
||||
const LOG_TARGET: &str = "teyrchain::bitfield-signing";
|
||||
|
||||
// TODO: use `fatality` (https://github.com/pezkuwichain/kurdistan-sdk/issues/158).
|
||||
// TODO: use `fatality` (https://github.com/pezkuwichain/pezkuwi-sdk/issues/158).
|
||||
/// Errors we may encounter in the course of executing the `BitfieldSigningSubsystem`.
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
#[allow(missing_docs)]
|
||||
|
||||
@@ -114,7 +114,7 @@ pub(crate) struct Initialized {
|
||||
/// blocks) we will be too slow importing all votes from unfinalized chains on startup
|
||||
/// (dispute-coordinator gets killed because of unresponsiveness).
|
||||
///
|
||||
/// https://github.com/pezkuwichain/kurdistan-sdk/issues/168
|
||||
/// https://github.com/pezkuwichain/pezkuwi-sdk/issues/168
|
||||
///
|
||||
/// To resolve this, we limit the amount of votes imported at once to
|
||||
/// `CHAIN_IMPORT_MAX_BATCH_SIZE` and put the rest here for later processing.
|
||||
@@ -771,7 +771,7 @@ impl Initialized {
|
||||
.handle_import_statements(
|
||||
ctx,
|
||||
overlay_db,
|
||||
// TODO <https://github.com/pezkuwichain/kurdistan-sdk/issues/147>
|
||||
// TODO <https://github.com/pezkuwichain/pezkuwi-sdk/issues/147>
|
||||
MaybeCandidateReceipt::AssumeBackingVotePresent(candidate_hash),
|
||||
session,
|
||||
statements,
|
||||
|
||||
@@ -221,7 +221,7 @@ fn partitioning_happy_case() {
|
||||
// achieved with or without the 'help' of a double vote (a validator voting for and against at the
|
||||
// same time). This makes the test a bit pointless but anyway I'm leaving it here to make this
|
||||
// decision explicit and have the test code ready in case this behavior needs to be further tested
|
||||
// in the future. Link to the PR with the discussions: https://github.com/pezkuwichain/kurdistan-sdk/issues/177
|
||||
// in the future. Link to the PR with the discussions: https://github.com/pezkuwichain/pezkuwi-sdk/issues/177
|
||||
#[test]
|
||||
fn partitioning_doubled_onchain_vote() {
|
||||
let mut input = BTreeMap::<(SessionIndex, CandidateHash), DisputeStatus>::new();
|
||||
|
||||
@@ -416,7 +416,7 @@ fn note_provisionable_data(
|
||||
// parablocks once they are included. But we can do slightly better by
|
||||
// allowing disagreeing backers to record their disagreement and initiate a
|
||||
// dispute once the parablock in question has been included. This potential
|
||||
// change is tracked by: https://github.com/pezkuwichain/kurdistan-sdk/issues/140
|
||||
// change is tracked by: https://github.com/pezkuwichain/pezkuwi-sdk/issues/140
|
||||
ProvisionableData::Dispute(_, _) => {},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,5 +43,5 @@ another popular persistent shell, mosh, it allows scrollback.
|
||||
|
||||
[impl-guide]: https://docs.pezkuwichain.io/sdk/book/pvf-prechecking.html#summary
|
||||
[glossary]: https://docs.pezkuwichain.io/sdk/book/glossary.html
|
||||
[testing]: https://github.com/pezkuwichain/kurdistan-sdk/blob/main/pezkuwi/doc/testing.md
|
||||
[testing]: https://github.com/pezkuwichain/pezkuwi-sdk/blob/main/pezkuwi/doc/testing.md
|
||||
[et]: https://github.com/MisterTea/EternalTerminal
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
//! reasons.
|
||||
//!
|
||||
//! Considering `io_uring`'s status discussed above, and that it very likely would get detected
|
||||
//! either by our [static analysis](https://github.com/pezkuwichain/kurdistan-sdk/issues/106) or by
|
||||
//! either by our [static analysis](https://github.com/pezkuwichain/pezkuwi-sdk/issues/106) or by
|
||||
//! testing, we think it is safe to block it.
|
||||
//!
|
||||
//! ## Consensus analysis
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
//!
|
||||
//! Currently we are only logging these for the purposes of gathering data. In the future, we may
|
||||
//! use these stats to reject PVFs during pre-checking. See
|
||||
//! <https://github.com/pezkuwichain/kurdistan-sdk/issues/166#issuecomment-1381941762> for more
|
||||
//! <https://github.com/pezkuwichain/pezkuwi-sdk/issues/166#issuecomment-1381941762> for more
|
||||
//! background.
|
||||
|
||||
/// Module for the memory tracker. The memory tracker runs in its own thread, where it polls memory
|
||||
|
||||
@@ -394,7 +394,7 @@ where
|
||||
let metrics = self.metrics.clone();
|
||||
let (sender, receiver) = oneshot::channel();
|
||||
|
||||
// TODO: make the cache great again https://github.com/pezkuwichain/kurdistan-sdk/issues/159
|
||||
// TODO: make the cache great again https://github.com/pezkuwichain/pezkuwi-sdk/issues/159
|
||||
let request = match self.query_cache(relay_parent, request) {
|
||||
Some(request) => request,
|
||||
None => return,
|
||||
|
||||
@@ -31,7 +31,7 @@ automatically do so.
|
||||
|
||||
Related issues:
|
||||
|
||||
* <https://github.com/pezkuwichain/kurdistan-sdk/issues/153>
|
||||
* <https://github.com/pezkuwichain/pezkuwi-sdk/issues/153>
|
||||
|
||||
### Decision
|
||||
|
||||
|
||||
@@ -678,7 +678,7 @@ fn delay_reputation_change() {
|
||||
);
|
||||
}
|
||||
|
||||
/// <https://github.com/pezkuwichain/kurdistan-sdk/issues/172#discussion_r547594835>
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/172#discussion_r547594835>
|
||||
///
|
||||
/// 1. Send a view update that removes block B from their view.
|
||||
/// 2. Send a message from B that they incur `COST_UNEXPECTED_MESSAGE` for, but then they receive
|
||||
@@ -782,7 +782,7 @@ fn spam_attack_results_in_negative_reputation_change() {
|
||||
/// Upon receiving them, they both will try to send the message each other.
|
||||
/// This test makes sure they will not punish each other for such duplicate messages.
|
||||
///
|
||||
/// See <https://github.com/pezkuwichain/kurdistan-sdk/issues/135>.
|
||||
/// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/135>.
|
||||
#[test]
|
||||
fn peer_sending_us_the_same_we_just_sent_them_is_ok() {
|
||||
let parent_hash = Hash::repeat_byte(0xFF);
|
||||
@@ -2361,7 +2361,7 @@ fn sends_assignments_even_when_state_is_approved_v2() {
|
||||
);
|
||||
}
|
||||
|
||||
/// <https://github.com/pezkuwichain/kurdistan-sdk/issues/176>
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/176>
|
||||
///
|
||||
/// 1. Receive remote peer view update with an unknown head
|
||||
/// 2. Receive assignments for that unknown head
|
||||
@@ -4253,7 +4253,7 @@ fn subsystem_rejects_wrong_claimed_assignments() {
|
||||
/// assignment and Delay tranche assignments land on the same candidate. The delay tranche0 can be
|
||||
/// safely ignored and we don't need to gossip it however, the compact tranche0 assignment should be
|
||||
/// gossiped, because other candidates are included in it, this test makes sure this invariant is
|
||||
/// upheld, see https://github.com/pezkuwichain/kurdistan-sdk/issues/172#discussion_r557628699, for
|
||||
/// upheld, see https://github.com/pezkuwichain/pezkuwi-sdk/issues/172#discussion_r557628699, for
|
||||
/// this edge case.
|
||||
#[test]
|
||||
fn subsystem_accepts_tranche0_duplicate_assignments() {
|
||||
|
||||
@@ -85,7 +85,7 @@ const COST_APPARENT_FLOOD: Rep =
|
||||
///
|
||||
/// This is to protect from a single slow validator preventing collations from happening.
|
||||
///
|
||||
/// For considerations on this value, see: https://github.com/pezkuwichain/kurdistan-sdk/issues/148
|
||||
/// For considerations on this value, see: https://github.com/pezkuwichain/pezkuwi-sdk/issues/148
|
||||
const MAX_UNSHARED_UPLOAD_TIME: Duration = Duration::from_millis(150);
|
||||
|
||||
/// A timeout for resetting validators' interests in collations.
|
||||
|
||||
@@ -2366,7 +2366,7 @@ async fn handle_collation_fetch_response(
|
||||
"Request timed out"
|
||||
);
|
||||
// For now we don't want to change reputation on timeout, to mitigate issues like
|
||||
// this: https://github.com/pezkuwichain/kurdistan-sdk/issues/152
|
||||
// this: https://github.com/pezkuwichain/pezkuwi-sdk/issues/152
|
||||
Err(None)
|
||||
},
|
||||
Err(RequestError::NetworkError(err)) => {
|
||||
|
||||
@@ -86,7 +86,7 @@ const TRY_RERESOLVE_AUTHORITIES: Duration = Duration::from_secs(2);
|
||||
/// populated). Authority discovery on Kusama takes around 8 minutes, so warning after 10 minutes
|
||||
/// should be fine:
|
||||
///
|
||||
/// https://github.com/pezkuwichain/kurdistan-sdk/blob/main/bizinikiwi/client/authority-discovery/src/lib.rs#L88
|
||||
/// https://github.com/pezkuwichain/pezkuwi-sdk/blob/main/bizinikiwi/client/authority-discovery/src/lib.rs#L88
|
||||
const LOW_CONNECTIVITY_WARN_DELAY: Duration = Duration::from_secs(600);
|
||||
|
||||
/// If connectivity is lower than this in percent, issue warning in logs.
|
||||
@@ -452,7 +452,7 @@ where
|
||||
|
||||
// First `maxValidators` entries are the teyrchain validators. We'll check
|
||||
// if our index is in this set to avoid searching for the keys.
|
||||
// https://github.com/pezkuwichain/kurdistan-sdk/blob/main/pezkuwi/runtime/teyrchains/src/configuration.rs#L148
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/blob/main/pezkuwi/runtime/teyrchains/src/configuration.rs#L148
|
||||
if *index < teyrchain_validators_this_session {
|
||||
gum::trace!(target: LOG_TARGET, "We are now a teyrchain validator",);
|
||||
self.metrics.on_is_teyrchain_validator();
|
||||
@@ -796,7 +796,7 @@ async fn update_gossip_topology(
|
||||
let random_seed = {
|
||||
let (tx, rx) = oneshot::channel();
|
||||
|
||||
// TODO https://github.com/pezkuwichain/kurdistan-sdk/issues/156:
|
||||
// TODO https://github.com/pezkuwichain/pezkuwi-sdk/issues/156:
|
||||
// get the random seed from the `SessionInfo` instead.
|
||||
sender
|
||||
.send_message(RuntimeApiMessage::Request(
|
||||
|
||||
@@ -137,7 +137,7 @@ const POV_REQUEST_TIMEOUT_CONNECTED: Duration = Duration::from_millis(2000);
|
||||
/// We supply leniency because there are often large candidates and asynchronous
|
||||
/// backing allows them to be included over a longer window of time. Exponential back-off
|
||||
/// up to a maximum of 10 seconds would be ideal, but isn't supported by the
|
||||
/// infrastructure here yet: see https://github.com/pezkuwichain/kurdistan-sdk/issues/164
|
||||
/// infrastructure here yet: see https://github.com/pezkuwichain/pezkuwi-sdk/issues/164
|
||||
const ATTESTED_CANDIDATE_TIMEOUT: Duration = Duration::from_millis(2500);
|
||||
|
||||
/// We don't want a slow peer to slow down all the others, at the same time we want to get out the
|
||||
|
||||
@@ -483,7 +483,7 @@ pub(crate) async fn handle_network_update<Context>(
|
||||
state.unused_topologies.insert(*new_session_index, topology);
|
||||
}
|
||||
|
||||
// TODO [https://github.com/pezkuwichain/kurdistan-sdk/issues/165]
|
||||
// TODO [https://github.com/pezkuwichain/pezkuwi-sdk/issues/165]
|
||||
// technically, we should account for the fact that the session topology might
|
||||
// come late, and for all relay-parents with this session, send all grid peers
|
||||
// any `BackedCandidateInv` messages they might need.
|
||||
|
||||
@@ -624,7 +624,7 @@ pub struct Overseer<SupportsTeyrchains> {
|
||||
approval_voting_parallel: ApprovalVotingParallel,
|
||||
#[subsystem(GossipSupportMessage, sends: [
|
||||
NetworkBridgeTxMessage,
|
||||
NetworkBridgeRxMessage, // TODO <https://github.com/pezkuwichain/kurdistan-sdk/issues/160>
|
||||
NetworkBridgeRxMessage, // TODO <https://github.com/pezkuwichain/pezkuwi-sdk/issues/160>
|
||||
RuntimeApiMessage,
|
||||
ChainSelectionMessage,
|
||||
ChainApiMessage,
|
||||
|
||||
@@ -794,7 +794,7 @@ where
|
||||
let config = pezsc_consensus_grandpa::Config {
|
||||
// FIXME bizinikiwi#1578 make this available through chainspec
|
||||
// Grandpa performance can be improved a bit by tuning this parameter, see:
|
||||
// https://github.com/pezkuwichain/kurdistan-sdk/issues/157
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/157
|
||||
gossip_duration: Duration::from_millis(1000),
|
||||
justification_generation_period: GRANDPA_JUSTIFICATION_PERIOD,
|
||||
name: Some(name),
|
||||
|
||||
Reference in New Issue
Block a user