feat(kusama-asset-hub): Add ability to force to use ChargeAssetTxPayment
          #4541
        
          
      
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
This pull request refactors how fee asset IDs are handled in the Polkadot signing flow, introducing a new
FeeAssetIdenum to distinguish between native and asset-based transaction fees. It also adds support for using theChargeAssetTxPaymentextension when paying transaction tips with the native chain token, based on a new proto field. These changes improve code clarity and flexibility for fee payments.Fee asset handling improvements
FeeAssetIdenum to represent either a native token or a specific asset for transaction fees, replacing the previous usage of a rawu32type. This change affects both the context struct and related functions.fee_asset_id_from_twfunction to return aFeeAssetIdinstead of au32, and added logic to support charging native fees as assets when the new proto field is set.Transaction payment extension logic
PolkadotEntryto useChargeAssetTxPaymentwith the correct asset ID type, utilizing the newas_u32()method ofFeeAssetId.Protocol buffer changes
charge_native_as_asset_tx_paymentboolean field to theSigningInputproto message to control whether native token tips are paid using the asset extension.