diff --git a/common/build.gradle b/common/build.gradle index 7f53c8f..1fd35ec 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -8,7 +8,7 @@ android { buildConfigField "String", "PRIVACY_URL", "\"https://pezkuwichain.io/privacy.html\"" buildConfigField "String", "TERMS_URL", "\"https://pezkuwichain.io/terms.html\"" buildConfigField "String", "GITHUB_URL", "\"https://github.com/pezkuwichain\"" - buildConfigField "String", "TELEGRAM_URL", "\"https://t.me/pezkuwichain\"" + buildConfigField "String", "TELEGRAM_URL", "\"https://t.me/pezkuwichainBot\"" buildConfigField "String", "TWITTER_URL", "\"https://twitter.com/pezkuwichain\"" buildConfigField "String", "RATE_URL", "\"market://details?id=${rootProject.applicationId}.${releaseApplicationSuffix}\"" buildConfigField "String", "EMAIL", "\"support@pezkuwichain.io\"" diff --git a/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/alerts/NominationPoolsAlertsInteractor.kt b/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/alerts/NominationPoolsAlertsInteractor.kt index 7c7e07d..bc796e0 100644 --- a/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/alerts/NominationPoolsAlertsInteractor.kt +++ b/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/alerts/NominationPoolsAlertsInteractor.kt @@ -49,11 +49,13 @@ class RealNominationPoolsAlertsInteractor( return flowOfAll { val poolId = poolMember.poolId val poolStash = poolAccountDerivation.bondedAccountOf(poolId, chain.id) + // Staking exposures live on the relay chain, not on parachains like Asset Hub + val exposureChainId = chain.parentId ?: chain.id combine( nominationPoolsSharedComputation.participatingPoolNominationsFlow(poolStash, poolId, chain.id, shareComputationScope), nominationPoolsSharedComputation.unbondingPoolsFlow(poolId, chain.id, shareComputationScope), - stakingSharedComputation.electedExposuresWithActiveEraFlow(chain.id, shareComputationScope), + stakingSharedComputation.electedExposuresWithActiveEraFlow(exposureChainId, shareComputationScope), ) { poolNominations, unbondingPools, (eraStakers, activeEra) -> val alertsContext = AlertsResolutionContext( eraStakers = eraStakers, diff --git a/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/stakeSummary/NominationPoolStakeSummaryInteractor.kt b/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/stakeSummary/NominationPoolStakeSummaryInteractor.kt index e5a3f73..e3398b0 100644 --- a/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/stakeSummary/NominationPoolStakeSummaryInteractor.kt +++ b/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/stakeSummary/NominationPoolStakeSummaryInteractor.kt @@ -47,13 +47,16 @@ class RealNominationPoolStakeSummaryInteractor( stakingOption: StakingOption, sharedComputationScope: CoroutineScope, ): Flow> = flowOfAll { - val chainId = stakingOption.assetWithChain.chain.id + val chain = stakingOption.assetWithChain.chain + val chainId = chain.id + // Staking exposures live on the relay chain, not on parachains like Asset Hub + val exposureChainId = chain.parentId ?: chainId val poolStash = poolAccountDerivation.bondedAccountOf(poolMember.poolId, chainId) combineTransform( nominationPoolSharedComputation.participatingBondedPoolStateFlow(poolStash, poolMember.poolId, chainId, sharedComputationScope), nominationPoolSharedComputation.participatingPoolNominationsFlow(poolStash, poolMember.poolId, chainId, sharedComputationScope), - stakingSharedComputation.electedExposuresWithActiveEraFlow(chainId, sharedComputationScope) + stakingSharedComputation.electedExposuresWithActiveEraFlow(exposureChainId, sharedComputationScope) ) { bondedPoolState, poolNominations, (eraStakers, activeEra) -> val activeStaked = bondedPoolState.amountOf(poolMember.points) diff --git a/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/userRewards/NomnationPoolsUserRewardsInteractor.kt b/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/userRewards/NomnationPoolsUserRewardsInteractor.kt index 282e5b0..880f6e6 100644 --- a/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/userRewards/NomnationPoolsUserRewardsInteractor.kt +++ b/feature-staking-impl/src/main/java/io/novafoundation/nova/feature_staking_impl/domain/nominationPools/main/userRewards/NomnationPoolsUserRewardsInteractor.kt @@ -52,6 +52,9 @@ class RealNominationPoolsUserRewardsInteractor( private fun pendingRewardsFlow(accountId: AccountId, chainId: ChainId): Flow { return flowOf { repository.getPendingRewards(accountId, chainId) } - .catch { Log.e("NominationPoolsUserRewardsInteractor", "Failed to fetch pending rewards", it) } + .catch { + Log.e("NominationPoolsUserRewardsInteractor", "Failed to fetch pending rewards", it) + emit(Balance.ZERO) + } } }