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
@@ -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,