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:
2025-12-19 23:30:43 +03:00
committed by GitHub
parent ee389beb8c
commit 830dcc9bba
206 changed files with 378 additions and 448 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ rustup target add wasm32-unknown-unknown --toolchain nightly
Once this is configured you can build and test the repo as follows:
```
git clone https://github.com/pezkuwichain/kurdistan-sdk/tree/main/bridges
git clone https://github.com/pezkuwichain/pezkuwi-sdk/tree/main/bridges
cd parity-bridges-common
cargo build --all
cargo test --all
+1 -1
View File
@@ -68,7 +68,7 @@ by lurking in the code.
We also have the WiP prototype of relayers coordination protocol, where relayers will get some guarantee
that their transactions will be prioritized over other relayers transactions at their assigned slots.
That is planned for the future version of bridge and the progress is
[tracked here](https://github.com/pezkuwichain/kurdistan-sdk/issues/85).
[tracked here](https://github.com/pezkuwichain/pezkuwi-sdk/issues/85).
</details>
+1 -1
View File
@@ -516,7 +516,7 @@ pub mod pezpallet {
pub type PalletOperatingMode<T: Config<I>, I: 'static = ()> =
StorageValue<_, MessagesOperatingMode, ValueQuery>;
// TODO: https://github.com/pezkuwichain/kurdistan-sdk/issues/89: let's limit number of
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/89: let's limit number of
// possible opened lanes && use it to constraint maps below
/// Map of lane id => inbound lane data.
+1 -1
View File
@@ -202,7 +202,7 @@ parameter_types! {
#[derive_impl(pezframe_system::config_preludes::TestDefaultConfig)]
impl pezframe_system::Config for TestRuntime {
type Block = ThisChainBlock;
// TODO: remove when https://github.com/pezkuwichain/kurdistan-sdk/issues/120 merged
// TODO: remove when https://github.com/pezkuwichain/pezkuwi-sdk/issues/120 merged
type BlockHashCount = ConstU32<10>;
type AccountData = pezpallet_balances::AccountData<ThisChainBalance>;
type DbWeight = DbWeight;
@@ -225,7 +225,7 @@ impl<T: Config<I>, I: 'static> Pezpallet<T, I> {
return;
}
// TODO: https://github.com/pezkuwichain/kurdistan-sdk/issues/83 we either need fishermens
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/83 we either need fishermens
// to watch this rule violation (suspended, but keep sending new messages), or we need a
// hard limit for that like other XCM queues have
+4 -4
View File
@@ -200,7 +200,7 @@ pub mod pezpallet {
/// Runtime's universal location.
type UniversalLocation: Get<InteriorLocation>;
// TODO: https://github.com/pezkuwichain/kurdistan-sdk/issues/80 remove `ChainId` and
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/80 remove `ChainId` and
// replace it with the `NetworkId` - then we'll be able to use
// `T as pezpallet_bridge_messages::Config<T::BridgeMessagesPalletInstance>::BridgedChain::NetworkId`
/// Bridged network as relative location of bridged `GlobalConsensus`.
@@ -295,7 +295,7 @@ pub mod pezpallet {
/// The states after this call: bridge is `Opened`, outbound lane is `Opened`, inbound lane
/// is `Opened`.
#[pezpallet::call_index(0)]
#[pezpallet::weight(Weight::zero())] // TODO:(bridges-v2) - https://github.com/pezkuwichain/kurdistan-sdk/issues/87 - add benchmarks impl
#[pezpallet::weight(Weight::zero())] // TODO:(bridges-v2) - https://github.com/pezkuwichain/pezkuwi-sdk/issues/87 - add benchmarks impl
pub fn open_bridge(
origin: OriginFor<T>,
bridge_destination_universal_location: Box<VersionedInteriorLocation>,
@@ -333,7 +333,7 @@ pub mod pezpallet {
/// The states after this call: everything is either `Closed`, or purged from the
/// runtime storage.
#[pezpallet::call_index(1)]
#[pezpallet::weight(Weight::zero())] // TODO:(bridges-v2) - https://github.com/pezkuwichain/kurdistan-sdk/issues/87 - add benchmarks impl
#[pezpallet::weight(Weight::zero())] // TODO:(bridges-v2) - https://github.com/pezkuwichain/pezkuwi-sdk/issues/87 - add benchmarks impl
pub fn close_bridge(
origin: OriginFor<T>,
bridge_destination_universal_location: Box<VersionedInteriorLocation>,
@@ -343,7 +343,7 @@ pub mod pezpallet {
let locations =
Self::bridge_locations_from_origin(origin, bridge_destination_universal_location)?;
// TODO: https://github.com/pezkuwichain/kurdistan-sdk/issues/81 - may do refund here, if
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/81 - may do refund here, if
// bridge/lanes are already closed + for messages that are not pruned
// update bridge metadata - this also guarantees that the bridge is in the proper state
@@ -159,7 +159,7 @@ parameter_types! {
.build_or_panic();
}
// TODO [#78] may need to be updated after https://github.com/pezkuwichain/kurdistan-sdk/issues/88
// TODO [#78] may need to be updated after https://github.com/pezkuwichain/pezkuwi-sdk/issues/88
/// Maximal number of messages in single delivery transaction.
pub const MAX_MESSAGES_IN_DELIVERY_TRANSACTION: MessageNonce = 128;
@@ -31,7 +31,7 @@ pub trait Environment<C: Chain>: Send + Sync {
async fn header_id_by_hash(&self, hash: HashOf<C>) -> Result<HeaderIdOf<C>, Error>;
}
// TODO (https://github.com/pezkuwichain/kurdistan-sdk/issues/84): remove `Environment` trait
// TODO (https://github.com/pezkuwichain/pezkuwi-sdk/issues/84): remove `Environment` trait
// after test client is implemented
#[async_trait]
impl<C: Chain, T: crate::client::Client<C>> Environment<C> for T {
@@ -78,7 +78,7 @@ impl<C: Chain, E: Environment<C>> TransactionTracker<C, E> {
Self { environment, stall_timeout, transaction_hash, subscription }
}
// TODO (https://github.com/pezkuwichain/kurdistan-sdk/issues/84): remove me after
// TODO (https://github.com/pezkuwichain/pezkuwi-sdk/issues/84): remove me after
// test client is implemented
/// Converts self into tracker with different environment.
pub fn switch_environment<NewE: Environment<C>>(
@@ -236,7 +236,7 @@ async fn watch_transaction_status<
Some(TransactionStatusOf::<C>::InBlock(block_hash)) => {
// TODO: read matching system event (ExtrinsicSuccess or ExtrinsicFailed), log it
// here and use it later (on finality) for reporting invalid transaction
// https://github.com/pezkuwichain/kurdistan-sdk/issues/79
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/79
tracing::trace!(
target: "bridge",
node=%C::NAME,
@@ -92,7 +92,7 @@ macro_rules! declare_chain_runtime_version_params_cli_schema {
macro_rules! declare_chain_connection_params_cli_schema {
($chain:ident, $chain_prefix:ident) => {
pezbp_runtime::paste::item! {
// TODO: https://github.com/pezkuwichain/kurdistan-sdk/issues/86
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/86
// remove all obsolete arguments (separate URI components)
#[doc = $chain " connection params."]
@@ -163,7 +163,7 @@ impl<
//
// this may lead to multiple reconnects to the same node during the same call and it
// needs to be addressed in the future
// TODO: https://github.com/pezkuwichain/kurdistan-sdk/issues/82
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/82
if let Some(ref mut target_to_source_headers_relay) = self.target_to_source_headers_relay {
target_to_source_headers_relay.reconnect().await?;
}
@@ -189,7 +189,7 @@ impl<
//
// this may lead to multiple reconnects to the same node during the same call and it
// needs to be addressed in the future
// TODO: https://github.com/pezkuwichain/kurdistan-sdk/issues/82
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/82
if let Some(ref mut source_to_target_headers_relay) = self.source_to_target_headers_relay {
source_to_target_headers_relay.reconnect().await?;
}
@@ -1,7 +1,7 @@
# Motivation
Demonstrate that
[FastAggregateVerify](https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-04#section-3.3.4) is the most
expensive call in ethereum beacon light client, though in [#13031](https://github.com/pezkuwichain/kurdistan-sdk/issues/42)
expensive call in ethereum beacon light client, though in [#13031](https://github.com/pezkuwichain/pezkuwi-sdk/issues/42)
Parity team has wrapped some low level host functions for `bls-12381` but adding a high level host function specific
for it is super helpful.
+1 -1
View File
@@ -18,7 +18,7 @@ Prerequisites for running the tests locally:
`pezkuwi/api-cli` package. Use `yarn global add @pezkuwi/api-cli` to install it.
- build Bizinikiwi relay by running `cargo build -p bizinikiwi-relay --release` command in the
[`pezkuwichain/kurdistan-sdk`](https://github.com/pezkuwichain/kurdistan-sdk/tree/main/bridges) repository clone;
[`pezkuwichain/pezkuwi-sdk`](https://github.com/pezkuwichain/pezkuwi-sdk/tree/main/bridges) repository clone;
- copy the `bizinikiwi-relay` binary, built in the previous step, to `~/local_bridge_testing/bin/bizinikiwi-relay`;