diff --git a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/bitcoinNative/BitcoinNativeAssetBalance.kt b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/bitcoinNative/BitcoinNativeAssetBalance.kt index 508e2968..c0247eaf 100644 --- a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/bitcoinNative/BitcoinNativeAssetBalance.kt +++ b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/bitcoinNative/BitcoinNativeAssetBalance.kt @@ -59,8 +59,9 @@ class BitcoinNativeAssetBalance( chainAsset: Chain.Asset, accountId: AccountId, ): Flow { - // Not on the critical sync path (mirrors TronNativeAssetBalance/EvmNativeAssetBalance) - out of scope for Phase 4. - TODO("Not yet implemented") + // Only ever invoked from RealCrossChainTransactor (XCM arrival detection), which is Substrate-only - + // Bitcoin can never be an XCM cross-chain destination, so this is intentionally never reachable. + throw UnsupportedOperationException("Bitcoin does not support XCM-style balance update points") } override suspend fun startSyncingBalance( diff --git a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/evmNative/EvmNativeAssetBalance.kt b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/evmNative/EvmNativeAssetBalance.kt index 2b117b6f..cf8a9e8e 100644 --- a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/evmNative/EvmNativeAssetBalance.kt +++ b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/evmNative/EvmNativeAssetBalance.kt @@ -63,7 +63,10 @@ class EvmNativeAssetBalance( chainAsset: Chain.Asset, accountId: AccountId, ): Flow { - TODO("Not yet implemented") + // Only ever invoked from RealCrossChainTransactor (XCM arrival detection), which is Substrate-only - + // an EVM chain's native asset can never be an XCM cross-chain destination, so this is intentionally + // never reachable. + throw UnsupportedOperationException("EVM native assets do not support XCM-style balance update points") } override suspend fun startSyncingBalance( diff --git a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/trc20/Trc20AssetBalance.kt b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/trc20/Trc20AssetBalance.kt index 2826a3d1..e4a1737b 100644 --- a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/trc20/Trc20AssetBalance.kt +++ b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/trc20/Trc20AssetBalance.kt @@ -62,8 +62,9 @@ class Trc20AssetBalance( chainAsset: Chain.Asset, accountId: AccountId, ): Flow { - // Not on the critical sync path (mirrors EvmNativeAssetBalance) - out of scope for Phase 1 read-only support. - TODO("Not yet implemented") + // Only ever invoked from RealCrossChainTransactor (XCM arrival detection), which is Substrate-only - + // Tron/TRC20 can never be an XCM cross-chain destination, so this is intentionally never reachable. + throw UnsupportedOperationException("TRC20 does not support XCM-style balance update points") } override suspend fun startSyncingBalance( diff --git a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/tronNative/TronNativeAssetBalance.kt b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/tronNative/TronNativeAssetBalance.kt index d65c3a6f..fd49f092 100644 --- a/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/tronNative/TronNativeAssetBalance.kt +++ b/feature-wallet-impl/src/main/java/io/novafoundation/nova/feature_wallet_impl/data/network/blockchain/assets/balances/tronNative/TronNativeAssetBalance.kt @@ -59,9 +59,9 @@ class TronNativeAssetBalance( chainAsset: Chain.Asset, accountId: AccountId, ): Flow { - // Not on the critical sync path (mirrors EvmNativeAssetBalance, which also leaves this unimplemented) - - // out of scope for Phase 1 read-only support. - TODO("Not yet implemented") + // Only ever invoked from RealCrossChainTransactor (XCM arrival detection), which is Substrate-only - + // Tron can never be an XCM cross-chain destination, so this is intentionally never reachable. + throw UnsupportedOperationException("Tron does not support XCM-style balance update points") } override suspend fun startSyncingBalance(