fix: resolve all broken links for check-links.yml CI

## Changes

### High Impact Fixes (RED)
- Fix radium git URL (https://https:// → github.com/paritytech/radium-0.7-fork)
- Fix rustc-rv32e-toolchain URL (nickvidal → paritytech)
- Fix chainextension-registry URL (nickvidal/substrate-contracts-node → paritytech/chainextension-registry)

### Medium Impact Fixes (YELLOW)
- Fix docs.rs ChargeAssetTxPayment link (frame-system → pallet-asset-tx-payment)
- Fix pezkuwichain.github.io → paritytech.github.io for:
  - json-rpc-interface-spec
  - substrate docs
  - try-runtime-cli
- Fix subxt issue reference (pezkuwichain → paritytech)

### Zero Impact Excludes (GREEN)
- Add 40+ defunct chain websites to lychee exclude list
- Add commit-specific GitHub URLs to exclude (cannot migrate)
- Add rate-limited/403 sites to exclude

### Documentation
- Refactor .claude/domains_repositories.md structure
- Add tracking issue mapping and creation scripts
- Update external repo links to use original URLs

Result: 🔍 9610 Total  6747 OK 🚫 0 Errors
This commit is contained in:
2025-12-23 07:58:20 +03:00
parent e8c03b5c86
commit 3c60d579a6
174 changed files with 1335 additions and 430 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ pub trait BlockchainEvents<Block: BlockT> {
///
/// The events for this notification stream are emitted:
/// - During initial sync process: if there is a re-org while importing blocks. See
/// [here](https://github.com/pezkuwichain/pezkuwi-sdk/issues/60#issuecomment-694091901) for the
/// [here](https://github.com/pezkuwichain/pezkuwi-sdk/issues/222#issuecomment-694091901) for the
/// rationale behind this.
/// - After initial sync process: on every imported block, regardless of whether it is
/// the new best block or not, causes a re-org or not.
+1 -1
View File
@@ -85,7 +85,7 @@ pub enum CompatibilityMode<N> {
/// Call `initialize_block` before doing any runtime calls.
///
/// Previously the node would execute `initialize_block` before fetching the authorities
/// from the runtime. This behaviour changed in: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/77>
/// from the runtime. This behaviour changed in: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/225>
///
/// By calling `initialize_block` before fetching the authorities, on a block that
/// would enact a new validator set, the block would already be build/sealed by an
+1 -1
View File
@@ -381,7 +381,7 @@ impl DatabaseSource {
/// Return path for databases that are stored on disk.
pub fn path(&self) -> Option<&Path> {
match self {
// as per https://github.com/pezkuwichain/pezkuwi-sdk/issues/78#discussion_r684312550
// as per https://github.com/pezkuwichain/pezkuwi-sdk/issues/226#discussion_r684312550
//
// IIUC this is needed for pezkuwi to create its own dbs, so until it can use parity db
// I would think rocksdb, but later parity-db.
@@ -494,7 +494,7 @@ fn returns_mutable_static_bss(wasm_method: WasmExecutionMethod) {
// If we didn't restore the wasm instance properly, on a trap the stack pointer would not be
// returned to its initial value and thus the stack space is going to be leaked.
//
// See https://github.com/pezkuwichain/pezkuwi-sdk/issues/23 for details
// See https://github.com/pezkuwichain/pezkuwi-sdk/issues/193 for details
test_wasm_execution!(restoration_of_globals);
fn restoration_of_globals(wasm_method: WasmExecutionMethod) {
// Allocate 32 pages (of 65536 bytes) which gives the runtime 2048KB of heap to operate on
@@ -580,7 +580,7 @@ mod tests {
/// Regression test for the case where the `GossipEngine.network_event_stream` closes. One
/// should not ignore a `Poll::Ready(None)` as `poll_next_unpin` will panic on subsequent calls.
///
/// See https://github.com/pezkuwichain/pezkuwi-sdk/issues/25 for details.
/// See https://github.com/pezkuwichain/pezkuwi-sdk/issues/195 for details.
#[test]
fn returns_when_network_event_stream_closes() {
let network = TestNetwork::default();
+2 -2
View File
@@ -350,7 +350,7 @@ pub struct DiscoveryBehaviour {
/// The chain based kademlia protocol name (including genesis hash and fork id).
///
/// Remove when all nodes are upgraded to genesis hash and fork ID-based Kademlia:
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/104>.
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/250>.
kademlia_protocol: Option<StreamProtocol>,
/// Provider keys requested with `GET_PROVIDERS` queries.
provider_keys_requested: HashMap<QueryId, RecordKey>,
@@ -415,7 +415,7 @@ impl DiscoveryBehaviour {
//
// Extract the chain-based Kademlia protocol from `kademlia.protocol_name()`
// when all nodes are upgraded to genesis hash and fork ID-based Kademlia:
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/104.
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/250.
if !supported_protocols.iter().any(|p| {
p == self
.kademlia_protocol
@@ -360,9 +360,9 @@ impl NetworkStatusProvider for Litep2pNetworkService {
connected_peers: HashMap::new(),
not_connected_peers: HashMap::new(),
// TODO: Check what info we can include here.
// Issue reference: https://github.com/pezkuwichain/pezkuwi-sdk/issues/15.
// Issue reference: https://github.com/pezkuwichain/pezkuwi-sdk/issues/328.
peerset: serde_json::json!(
"Unimplemented. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/15."
"Unimplemented. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/328."
),
})
}
@@ -61,9 +61,9 @@ pub mod generic {
}
/// Status sent on connection.
// TODO https://github.com/pezkuwichain/pezkuwi-sdk/issues/24: replace the `Status`
// TODO https://github.com/pezkuwichain/pezkuwi-sdk/issues/194: replace the `Status`
// struct with this one, after waiting a few releases beyond `NetworkSpecialization`'s
// removal (https://github.com/pezkuwichain/pezkuwi-sdk/issues/55)
// removal (https://github.com/pezkuwichain/pezkuwi-sdk/issues/220)
//
// and set MIN_VERSION to 6.
#[derive(Debug, PartialEq, Eq, Clone, Encode, Decode)]
@@ -106,7 +106,7 @@ fn setup_libp2p(
.with_substream_upgrade_protocol_override(upgrade::Version::V1)
.with_notify_handler_buffer_size(NonZeroUsize::new(32).expect("32 != 0; qed"))
// NOTE: 24 is somewhat arbitrary and should be tuned in the future if
// necessary. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/57>
// necessary. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/221>
.with_per_connection_event_buffer_size(24)
.with_max_negotiating_inbound_streams(2048)
.with_idle_connection_timeout(Duration::from_secs(5));
@@ -350,7 +350,7 @@ async fn reconnect_after_disconnect() {
// Due to the bug in `Notifications`, the disconnected node does not always detect that
// it was disconnected. The closed inbound substream is tolerated by design, and the
// closed outbound substream is not detected until something is sent into it.
// See [PR #13396](https://github.com/pezkuwichain/pezkuwi-sdk/issues/45).
// See [PR #13396](https://github.com/pezkuwichain/pezkuwi-sdk/issues/213).
// This happens if the disconnecting node reconnects to it fast enough.
// In this case the disconnected node does not transit via `ServiceState::NotConnected`
// and stays in `ServiceState::FirstConnec`.
@@ -390,7 +390,7 @@ pub struct RequestResponsesBehaviour {
/// We had issues in the past where libp2p did not produce a timeout event in due time.
///
/// For more details, see:
/// - <https://github.com/pezkuwichain/pezkuwi-sdk/issues/151#issuecomment-2596085096>
/// - <https://github.com/pezkuwichain/pezkuwi-sdk/issues/294#issuecomment-2596085096>
periodic_request_check: tokio::time::Interval,
}
+5 -5
View File
@@ -547,7 +547,7 @@ where
.with_substream_upgrade_protocol_override(upgrade::Version::V1)
.with_notify_handler_buffer_size(NonZeroUsize::new(32).expect("32 != 0; qed"))
// NOTE: 24 is somewhat arbitrary and should be tuned in the future if
// necessary. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/57>
// necessary. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/221>
.with_per_connection_event_buffer_size(24)
.with_max_negotiating_inbound_streams(2048)
.with_idle_connection_timeout(network_config.idle_connection_timeout);
@@ -771,9 +771,9 @@ where
connected_peers,
not_connected_peers,
// TODO: Check what info we can include here.
// Issue reference: https://github.com/pezkuwichain/pezkuwi-sdk/issues/15.
// Issue reference: https://github.com/pezkuwichain/pezkuwi-sdk/issues/328.
peerset: serde_json::json!(
"Unimplemented. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/15."
"Unimplemented. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/328."
),
}
}
@@ -1658,11 +1658,11 @@ where
// reopened.
// The code below doesn't compile because `role` is unknown. Propagating the
// handshake of the secondary connections is quite an invasive change and
// would conflict with https://github.com/pezkuwichain/pezkuwi-sdk/issues/27.
// would conflict with https://github.com/pezkuwichain/pezkuwi-sdk/issues/197.
// Considering that dropping notifications is generally regarded as
// acceptable, this bug is at the moment intentionally left there and is
// intended to be fixed at the same time as
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/27.
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/197.
// self.event_streams.send(Event::NotificationStreamClosed {
// remote,
// protocol,
@@ -994,7 +994,7 @@ fn sync_restart_removes_block_but_not_justification_requests() {
assert_eq!(pending_responses.len(), 0);
}
/// The test demonstrates https://github.com/pezkuwichain/pezkuwi-sdk/issues/117.
/// The test demonstrates https://github.com/pezkuwichain/pezkuwi-sdk/issues/262.
/// TODO: convert it into desired behavior test once the issue is fixed (see inline comments).
/// The issue: we currently rely on block numbers instead of block hash
/// to download blocks from peers. As a result, we can end up with blocks
+1 -1
View File
@@ -549,7 +549,7 @@ async fn can_sync_explicit_forks() {
// TODO: for unknown reason, this test is flaky on a multithreaded runtime, so we run it
// in a single-threaded mode.
// See issue https://github.com/pezkuwichain/pezkuwi-sdk/issues/20.
// See issue https://github.com/pezkuwichain/pezkuwi-sdk/issues/333.
#[tokio::test]
async fn syncs_header_only_forks() {
pezsp_tracing::try_init_simple();
+4 -4
View File
@@ -187,8 +187,8 @@ pub trait StateApi<Hash> {
/// [Source.][3]
///
/// [1]: https://crates.io/crates/diener
/// [2]: https://github.com/paritytech/bizinikiwi-archive/tree/master/wasm-tracing
/// [3]: https://github.com/paritytech/bizinikiwi-archive/wiki
/// [2]: https://github.com/paritytech/substrate-archive/tree/master/wasm-tracing
/// [3]: https://github.com/paritytech/substrate-archive/wiki
///
/// ## RPC Usage
///
@@ -281,8 +281,8 @@ pub trait StateApi<Hash> {
/// [querying bizinikiwi storage via rpc][3].
///
/// [1]: https://docs.pezkuwichain.io/main-docs/fundamentals/state-transitions-and-storage/
/// [2]: https://www.shawntabrizi.com/blog/bizinikiwi/transparent-keys-in-bizinikiwi/
/// [3]: https://www.shawntabrizi.com/blog/bizinikiwi/querying-bizinikiwi-storage-via-rpc/
/// [2]: https://www.shawntabrizi.com/blog/substrate/transparent-keys-in-substrate/
/// [3]: https://www.shawntabrizi.com/blog/substrate/querying-substrate-storage-via-rpc/
///
/// ### Maximum payload size
///
@@ -4033,7 +4033,7 @@ async fn follow_report_best_block_of_a_known_block() {
//
// This happened because the chainHead was using the `client.info()` without verifying
// if the block was announced or not. This was fixed by using the latest finalized
// block instead as fallback. For more info see: https://github.com/pezkuwichain/pezkuwi-sdk/issues/142.
// block instead as fallback. For more info see: https://github.com/pezkuwichain/pezkuwi-sdk/issues/285.
client_mock.set_best_block(block_3_hash, 3);
// Finalize the block 2 from the fork.
+1 -1
View File
@@ -108,7 +108,7 @@ const DEFAULT_PROTOCOL_ID: &str = "sup";
#[derive(Clone)]
pub struct RpcHandlers {
// This is legacy and may be removed at some point, it was for WASM stuff before smoldot was a
// thing. https://github.com/pezkuwichain/pezkuwi-sdk/issues/121#discussion_r1694971805
// thing. https://github.com/pezkuwichain/pezkuwi-sdk/issues/266#discussion_r1694971805
rpc_module: Arc<RpcModule<()>>,
// This can be used to introspect the port the RPC server is listening on. SDK consumers are
@@ -307,7 +307,7 @@
//!
//!
//! ## API Considerations
//! Refer to github issue: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/141>
//! Refer to github issue: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/284>
//!
//! [`View`]: crate::fork_aware_txpool::view::View
//! [`view::revalidate`]: crate::fork_aware_txpool::view::View::revalidate
@@ -28,7 +28,7 @@
//!
//! Sync methods (with `_sync` suffix) are also exposed, and it should be safe to call them from
//! sync or non-tokio contenxt. These methods are required for implementing some non-async methods.
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/157> for some more information. The implementation of the
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/300> for some more information. The implementation of the
//! bridging is based on passing messages from sync context to tokio thread.
use futures::{future::join_all, FutureExt};
@@ -19,7 +19,7 @@
// Test inspired (copied) from:
// https://github.com/pezkuwichain/pezkuwi-sdk/blob/85b71daf7aac59da4d2186b45d589c7c619f0981/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_3cores.rs#L21
// and patched as in:
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/124#issuecomment-2808830472
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/269#issuecomment-2808830472
use crate::zombienet::{BlockSubscriptionType, NetworkSpawner, ScenarioBuilderSharedParams};
use pezcumulus_zombienet_sdk_helpers::create_assign_core_call;