From 0cf860f5d79c6878fb29670d4577fe186f81dbea Mon Sep 17 00:00:00 2001 From: Tarik Gul <47201679+TarikGul@users.noreply.github.com> Date: Mon, 25 Mar 2024 13:01:16 -0400 Subject: [PATCH] Fix apps-routing for staking (Westend) (#10394) * Fix apps-routing for staking (Westend) * comment --- packages/apps-routing/src/staking.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/apps-routing/src/staking.ts b/packages/apps-routing/src/staking.ts index 5c9301edae46..dd9169d2f8a8 100644 --- a/packages/apps-routing/src/staking.ts +++ b/packages/apps-routing/src/staking.ts @@ -45,15 +45,25 @@ function needsApiCheck (api: ApiPromise): boolean { return false; } + // For compatibility - `api.query.staking.ledger` returns `legacyClaimedRewards` instead of `claimedRewards` as of v1.4 try { const v = api.registry.createType( unwrapStorageType(api.registry, api.query.staking.ledger.creator.meta.type), { claimedRewards: [1, 2, 3] } ); - assert((v as unknown as { claimedRewards: Vec }).claimedRewards.eq([1, 2, 3]), 'Needs a claimedRewards array'); + if ((v as unknown as { claimedRewards: Vec }).claimedRewards) { + assert((v as unknown as { claimedRewards: Vec }).claimedRewards.eq([1, 2, 3]), 'Needs a claimedRewards array'); + } else { + const v = api.registry.createType( + unwrapStorageType(api.registry, api.query.staking.ledger.creator.meta.type), + { legacyClaimedRewards: [1, 2, 3] } + ); + + assert(v.legacyClaimedRewards.eq([1, 2, 3]), 'Needs a legacyClaimedRewards array'); + } } catch { - console.warn('No known claimedRewards inside staking ledger, disabling staking route'); + console.warn('No known legacyClaimedRewards or claimedRewards inside staking ledger, disabling staking route'); return false; }