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 422f112970
commit 5a184fd7dc
168 changed files with 743 additions and 264 deletions
+1 -1
View File
@@ -307,7 +307,7 @@ pub struct RunCmd {
/// building blocks that do not fit in the max_pov_size. It is a percentage of the max_pov_size
/// configuration of the relay-chain.
///
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/23> is fixed.
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/193> is fixed.
#[arg(long)]
pub experimental_max_pov_percentage: Option<u32>,
@@ -224,7 +224,7 @@ where
// produce multiple blocks per slot which very likely would fail on chain. Thus, we have
// this "hack" to only produce one block per slot per relay chain fork.
//
// With https://github.com/pezkuwichain/pezkuwi-sdk/issues/127 this implementation will be
// With https://github.com/pezkuwichain/pezkuwi-sdk/issues/272 this implementation will be
// obsolete and also the underlying issue will be fixed.
if last_processed_slot >= *claim.slot()
&& last_relay_chain_block < *relay_parent_header.number()
@@ -102,7 +102,7 @@ pub struct Params<BI, CIDP, Client, Backend, RClient, CHP, Proposer, CS> {
/// Whether we should reinitialize the collator config (i.e. we are transitioning to aura).
pub reinitialize: bool,
/// The maximum percentage of the maximum PoV size that the collator can use.
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/23> is fixed.
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/193> is fixed.
pub max_pov_percentage: Option<u32>,
}
@@ -429,7 +429,7 @@ where
} else {
// Set the block limit to 85% of the maximum PoV size.
//
// Once https://github.com/pezkuwichain/pezkuwi-sdk/issues/23 issue is
// Once https://github.com/pezkuwichain/pezkuwi-sdk/issues/193 issue is
// fixed, the reservation should be removed.
validation_data.max_pov_size * 85 / 100
} as usize;
@@ -108,7 +108,7 @@ pub struct BuilderTaskParams<
/// wait for relay chain notifications because we woke up too early).
pub slot_offset: Duration,
/// The maximum percentage of the maximum PoV size that the collator can use.
/// It will be removed once https://github.com/pezkuwichain/pezkuwi-sdk/issues/23 is fixed.
/// It will be removed once https://github.com/pezkuwichain/pezkuwi-sdk/issues/193 is fixed.
pub max_pov_percentage: Option<u32>,
}
@@ -399,7 +399,7 @@ where
} else {
// Set the block limit to 85% of the maximum PoV size.
//
// Once https://github.com/pezkuwichain/pezkuwi-sdk/issues/23 issue is
// Once https://github.com/pezkuwichain/pezkuwi-sdk/issues/193 issue is
// fixed, this should be removed.
validation_data.max_pov_size * 85 / 100
} as usize;
@@ -147,7 +147,7 @@ pub struct Params<Block, BI, CIDP, Client, Backend, RClient, CHP, Proposer, CS,
/// When set, the collator will export every produced `POV` to this folder.
pub export_pov: Option<PathBuf>,
/// The maximum percentage of the maximum PoV size that the collator can use.
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/23> is fixed.
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/193> is fixed.
pub max_pov_percentage: Option<u32>,
}
@@ -264,7 +264,7 @@ fn slot_now(slot_duration: SlotDuration) -> Slot {
/// The others are generated explicitly internally.
///
/// This should only be used for runtimes where the runtime does not check all inherents and
/// seals in `execute_block` (see <https://github.com/pezkuwichain/pezkuwi-sdk/issues/91>)
/// seals in `execute_block` (see <https://github.com/pezkuwichain/pezkuwi-sdk/issues/238>)
pub fn fully_verifying_import_queue<P, Client, Block: BlockT, I, CIDP>(
client: Arc<Client>,
block_import: I,
@@ -31,7 +31,7 @@
//! At the time of writing, the inherent and consensus checks in most Pezcumulus runtimes
//! are only performed during teyrchain validation, not full node block execution.
//!
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/91> for details.
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/238> for details.
use pezsp_consensus::error::Error as ConsensusError;
use pezsp_runtime::traits::Block as BlockT;
@@ -375,7 +375,7 @@ async fn handle_new_block_imported<Block, P>(
{
// HACK
//
// Remove after https://github.com/pezkuwichain/pezkuwi-sdk/issues/76 or similar is merged
// Remove after https://github.com/pezkuwichain/pezkuwi-sdk/issues/224 or similar is merged
if notification.origin != BlockOrigin::Own {
announce_block(notification.hash, None);
}
+2 -2
View File
@@ -119,8 +119,8 @@ pub enum Subcommand {
/// from a single binary, which can be used as a teyrchain node tool
/// For a detailed usage guide please check out the standalone tool's crates.io or docs.rs
/// pages:
/// - <https://crates.io/crates/pezstaging-chain-spec-builder>
/// - <https://docs.rs/pezstaging-chain-spec-builder/latest/pezstaging_chain_spec_builder/>
/// - <https://crates.io/crates/staging-chain-spec-builder>
/// - <https://docs.rs/staging-chain-spec-builder/latest/staging_chain_spec_builder/>
ChainSpecBuilder(ChainSpecBuilder),
/// Remove the whole chain.
@@ -121,7 +121,7 @@ pub struct NodeExtraArgs {
pub export_pov: Option<PathBuf>,
/// The maximum percentage of the maximum PoV size that the collator can use.
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/23> is fixed.
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/193> is fixed.
pub max_pov_percentage: Option<u32>,
/// If true then the statement store will be enabled.
@@ -113,7 +113,7 @@ impl RuntimeResolver for DefaultRuntimeResolver {
None => {
log::warn!(
r#"⚠️ There isn't a runtime type named `System`, corresponding to the `pezframe-system`
pezpallet (https://docs.rs/pezframe-system/latest/pezframe_system/). Please check Omni Node docs for runtime conventions:
pezpallet (https://docs.rs/frame-system/latest/frame_system/). Please check Omni Node docs for runtime conventions:
https://docs.pezkuwichain.io/sdk/master/polkadot_sdk_docs/reference_docs/omni_node/index.html#runtime-conventions.
Note: We'll assume a block number size of `u32`."#
);
@@ -123,7 +123,7 @@ impl RuntimeResolver for DefaultRuntimeResolver {
if !metadata_inspector.pezpallet_exists(DEFAULT_TEYRCHAIN_SYSTEM_PALLET_NAME) {
log::warn!(
r#"⚠️ The teyrchain system pezpallet (https://docs.rs/crate/pezcumulus-pezpallet-parachain-system/latest) is
r#"⚠️ The teyrchain system pezpallet (https://docs.rs/crate/cumulus-pallet-parachain-system/latest) is
missing from the runtimes metadata. Please check Omni Node docs for runtime conventions:
https://docs.pezkuwichain.io/sdk/master/polkadot_sdk_docs/reference_docs/omni_node/index.html#runtime-conventions."#
);
@@ -77,7 +77,7 @@
//! To initiate rewards, an ED needs to be transferred to the pot address.
//!
//! Note: Eventually the Pot distribution may be modified as discussed in [this
//! issue](https://github.com/pezkuwichain/pezkuwi-sdk/issues/187#issuecomment-810481073).
//! issue](https://github.com/pezkuwichain/pezkuwi-sdk/issues/330#issuecomment-810481073).
#![cfg_attr(not(feature = "std"), no_std)]
@@ -22,7 +22,7 @@ use alloc::vec::Vec;
use log;
use pezframe_support::traits::{OnRuntimeUpgrade, UncheckedOnRuntimeUpgrade};
/// Migrate to v2. Should have been part of <https://github.com/pezkuwichain/pezkuwi-sdk/issues/104>.
/// Migrate to v2. Should have been part of <https://github.com/pezkuwichain/pezkuwi-sdk/issues/250>.
pub mod v2 {
use super::*;
use pezframe_support::{
+1 -1
View File
@@ -42,7 +42,7 @@ pub type MaxDmpMessageLenOf<T> =
#[pezframe_support::pezpallet]
#[deprecated(
note = "`pezcumulus-pezpallet-dmp-queue` will be removed after November 2024. It can be removed once its lazy migration completed. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/101>."
note = "`pezcumulus-pezpallet-dmp-queue` will be removed after November 2024. It can be removed once its lazy migration completed. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/247>."
)]
pub mod pezpallet {
use super::*;
+2 -2
View File
@@ -366,8 +366,8 @@ pub fn extract_relay_parent(digest: &Digest) -> Option<relay_chain::Hash> {
/// Utilities for handling the relay-parent storage root as a digest item.
///
/// This is not intended to be part of the public API, as it is a workaround for
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/92> via
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/169>.
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/239> via
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/312>.
///
/// Runtimes using the teyrchain-system pezpallet are expected to produce this digest item,
/// but will stop as soon as they are able to provide the relay-parent hash directly.
@@ -1082,7 +1082,7 @@ fn reserve_transfer_multiple_assets_from_asset_hub_to_para() {
/// Reserve Transfers of a random asset and native asset from Teyrchain to Asset Hub should work
/// Receiver is empty account to show deposit works as long as transfer includes enough HEZ for ED.
/// Once we have https://github.com/pezkuwichain/pezkuwi-sdk/issues/140,
/// Once we have https://github.com/pezkuwichain/pezkuwi-sdk/issues/283,
/// we should do equivalent test with USDT instead of HEZ.
#[test]
fn reserve_transfer_multiple_assets_from_para_to_asset_hub() {
@@ -1421,7 +1421,7 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() {
<ForeignAssets as Inspect<_>>::balance(usdt_from_asset_hub, &receiver)
});
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/160): When we allow payment with different assets locally, this should be the same, since
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/303): When we allow payment with different assets locally, this should be the same, since
// they aren't used for fees.
assert!(sender_after_native_balance < sender_initial_native_balance);
// Sender account's balance decreases.
@@ -1595,7 +1595,7 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() {
let fee_asset_id: AssetId = usdt_from_asset_hub.clone().into();
// Give the sender enough Relay tokens to pay for local delivery fees.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/160): When we support local delivery fee payment in other assets, we don't need this.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/303): When we support local delivery fee payment in other assets, we don't need this.
PenpalA::mint_foreign_asset(
<PenpalA as Chain>::RuntimeOrigin::signed(PenpalAssetOwner::get()),
RelayLocation::get(),
@@ -1017,7 +1017,7 @@ fn bidirectional_transfer_multiple_assets_between_penpal_and_asset_hub() {
let mut assets = all_assets.clone();
let fee_asset_index = assets.iter().position(|a| a.id == t.args.fee_asset_id).unwrap();
let mut fees = assets.remove(fee_asset_index);
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/147): dry-run to get exact fees.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/290): dry-run to get exact fees.
// For now just use half the fees locally, half on dest
if let Fungible(fees_amount) = fees.fun {
fees.fun = Fungible(fees_amount / 2);
@@ -1056,7 +1056,7 @@ fn bidirectional_transfer_multiple_assets_between_penpal_and_asset_hub() {
let mut assets = all_assets.clone();
let fee_asset_index = assets.iter().position(|a| a.id == t.args.fee_asset_id).unwrap();
let mut fees = assets.remove(fee_asset_index);
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/147): dry-run to get exact fees.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/290): dry-run to get exact fees.
// For now just use half the fees locally, half on dest
if let Fungible(fees_amount) = fees.fun {
fees.fun = Fungible(fees_amount / 2);
@@ -1054,7 +1054,7 @@ fn reserve_transfer_multiple_assets_from_asset_hub_to_para() {
/// Reserve Transfers of a random asset and native asset from Teyrchain to Asset Hub should work
/// Receiver is empty account to show deposit works as long as transfer includes enough HEZ for ED.
/// Once we have https://github.com/pezkuwichain/pezkuwi-sdk/issues/140,
/// Once we have https://github.com/pezkuwichain/pezkuwi-sdk/issues/283,
/// we should do equivalent test with USDT instead of HEZ.
#[test]
fn reserve_transfer_multiple_assets_from_para_to_asset_hub() {
@@ -1323,7 +1323,7 @@ fn reserve_transfer_usdt_from_asset_hub_to_para() {
});
let receiver_after_balance = foreign_balance_on!(PenpalA, usdt_from_asset_hub, &receiver);
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/160): When we allow payment with different assets locally, this should be the same, since
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/303): When we allow payment with different assets locally, this should be the same, since
// they aren't used for fees.
assert!(sender_after_native_balance < sender_initial_native_balance);
// Sender account's balance decreases.
@@ -1399,7 +1399,7 @@ fn reserve_transfer_usdt_from_para_to_para_through_asset_hub() {
let fee_asset_id: AssetId = usdt_from_asset_hub.clone().into();
// Give the sender enough Relay tokens to pay for local delivery fees.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/160): When we support local delivery fee payment in other assets, we don't need this.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/303): When we support local delivery fee payment in other assets, we don't need this.
PenpalA::mint_foreign_asset(
<PenpalA as Chain>::RuntimeOrigin::signed(PenpalAssetOwner::get()),
RelayLocation::get(),
@@ -32,7 +32,7 @@ fn transfer_and_transact_in_same_xcm(
let Fungible(total_usdt) = usdt.fun else { unreachable!() };
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/147): dry-run to get local fees, for now use hardcoded value.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/290): dry-run to get local fees, for now use hardcoded value.
let local_fees_amount = 80_000_000_000; // current exact value 69_200_786_622
let ah_fees_amount = 90_000_000_000; // current exact value 79_948_099_299
let usdt_to_ah_then_onward_amount = total_usdt - local_fees_amount - ah_fees_amount;
@@ -24,7 +24,7 @@ const ETHEREUM_BOB: [u8; 20] = hex_literal::hex!("11b0b11000011b0b11000011b0b110
///
/// This particular test is not testing snowbridge, but only Bridge Hub, so the tested XCM flow from
/// Ethereum starts from Bridge Hub.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/149): Once Snowbridge supports Transact, start the flow from Ethereum and test completely e2e.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/292): Once Snowbridge supports Transact, start the flow from Ethereum and test completely e2e.
fn transfer_and_transact_in_same_xcm(
sender: Location,
weth: Asset,
@@ -40,7 +40,7 @@ fn transfer_and_transact_in_same_xcm(
.into();
let asset_hub_location = BridgeHubZagros::sibling_location_of(AssetHubZagros::para_id());
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/147): dry-run to get local fees, for now use hardcoded value.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/290): dry-run to get local fees, for now use hardcoded value.
let ah_fees_amount = 90_000_000_000u128; // current exact value 79_948_099_299
let fees_for_ah: Asset = (weth.id.clone(), ah_fees_amount).into();
@@ -85,7 +85,7 @@ fn transfer_and_transact_in_same_xcm(
///
/// This particular test is not testing snowbridge, but only Bridge Hub, so the tested XCM flow from
/// Ethereum starts from Bridge Hub.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/149): Once Snowbridge supports Transact, start the flow from Ethereum and test completely e2e.
// TODO(https://github.com/pezkuwichain/pezkuwi-sdk/issues/292): Once Snowbridge supports Transact, start the flow from Ethereum and test completely e2e.
#[test]
fn transact_from_ethereum_to_penpalb_through_asset_hub() {
// Snowbridge doesn't support transact yet, we are emulating it by sending one from Bridge Hub
@@ -1437,7 +1437,7 @@ parameter_types! {
/// Migration to initialize storage versions for pallets added after genesis.
///
/// This is now done automatically (see <https://github.com/pezkuwichain/pezkuwi-sdk/issues/102>),
/// This is now done automatically (see <https://github.com/pezkuwichain/pezkuwi-sdk/issues/248>),
/// but some pallets had made it in and had storage set in them for this teyrchain before it was
/// merged.
pub struct InitStorageVersions;
@@ -1504,7 +1504,7 @@ pub type Migrations = (
);
/// Asset Hub Zagros has some undecodable storage, delete it.
/// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/120> for more info.
/// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/265> for more info.
///
/// First we remove the bad Hold, then the bad NFT collection.
pub struct DeleteUndecodableStorage;
@@ -1577,7 +1577,7 @@ impl pezframe_support::traits::OnRuntimeUpgrade for DeleteUndecodableStorage {
/// Migration to initialize storage versions for pallets added after genesis.
///
/// Ideally this would be done automatically (see
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/102>), but it probably won't be ready for some
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/248>), but it probably won't be ready for some
/// time and it's beneficial to get try-runtime-cli on-runtime-upgrade checks into the CI, so we're
/// doing it manually.
pub struct InitStorageVersions;
@@ -26,7 +26,7 @@
/// For new assets, the reserve location(s) and teleport status need to be explicitly configured by
/// the asset's `Owner`.
///
/// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/129> for more info.
/// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/274> for more info.
pub mod foreign_assets_reserves {
use crate::*;
use codec::{Decode, Encode, MaxEncodedLen};
@@ -208,7 +208,7 @@ parameter_types! {
/// Migration to initialize storage versions for pallets added after genesis.
///
/// Ideally this would be done automatically (see
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/102>), but it probably won't be ready for some
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/248>), but it probably won't be ready for some
/// time and it's beneficial to get try-runtime-cli on-runtime-upgrade checks into the CI, so we're
/// doing it manually.
pub struct InitStorageVersions;
@@ -196,7 +196,7 @@ parameter_types! {
/// Migration to initialize storage versions for pallets added after genesis.
///
/// Ideally this would be done automatically (see
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/102>), but it probably won't be ready for some
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/248>), but it probably won't be ready for some
/// time and it's beneficial to get try-runtime-cli on-runtime-upgrade checks into the CI, so we're
/// doing it manually.
pub struct InitStorageVersions;
@@ -175,7 +175,7 @@ parameter_types! {
.build_or_panic();
pub const SS58Prefix: u8 = 42;
// We assume the whole teyrchain state fits into the trie cache
// Numbers are from <https://github.com/pezkuwichain/pezkuwi-sdk/issues/127>
// Numbers are from <https://github.com/pezkuwichain/pezkuwi-sdk/issues/272>
pub const InMemoryDbWeight: RuntimeDbWeight = RuntimeDbWeight {
read: 9_000 * constants::WEIGHT_REF_TIME_PER_NANOS,
write: 28_000 * constants::WEIGHT_REF_TIME_PER_NANOS,
@@ -357,7 +357,7 @@ pub async fn submit_extrinsic_and_wait_for_finalization_success<S: Signer<Pezkuw
.await?;
// Below we use the low level API to replicate the `wait_for_in_block` behaviour
// which was removed in subxt 0.33.0. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/189.
// which was removed in subxt 0.33.0. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/332.
while let Some(status) = tx.next().await {
let status = status?;
match &status {