fix: Add safety improvements for swap and XCM functionality

- Add independent chain warm-up with error handling
- Add fallback fee estimation when dry run fails
- Handle empty forwarded XCMs in dry run gracefully
- Support both legacy and new XCM config destination formats
- Use xcmPalletNameOrNull for safer pallet detection
- Add Teyrchain junction support for legacy cross-chain config
- Recover from dry run failures in cross-chain transfers
- Add Pezkuwi Asset Hub to swap warm-up chains
This commit is contained in:
2026-02-09 03:03:06 +03:00
parent 0457819ba4
commit 8c74b537d0
9 changed files with 149 additions and 39 deletions
@@ -12,6 +12,6 @@ interface DryRunEffects {
fun DryRunEffects.senderXcmVersion(): XcmVersion {
// For referencing destination, dry run uses sender's xcm version
val (destination) = forwardedXcms.first()
return destination.version
val firstForwarded = forwardedXcms.firstOrNull()
return firstForwarded?.first?.version ?: XcmVersion.GLOBAL_DEFAULT
}