Skip to content
Snippets Groups Projects
  • Özgün Özerk's avatar
    relax `XcmFeeToAccount` trait bound on `AccountId` (#4959) · f8f70b37
    Özgün Özerk authored
    Fixes #4960 
    
    Configuring `FeeManager` enforces the boundary `Into<[u8; 32]>` for the
    `AccountId` type.
    
    Here is how it works currently: 
    
    Configuration:
    ```rust
        type FeeManager = XcmFeeManagerFromComponents<
            IsChildSystemParachain<primitives::Id>,
            XcmFeeToAccount<Self::AssetTransactor, AccountId, TreasuryAccount>,
        >;
    ```
    
    `XcmToFeeAccount` struct:
    ```rust
    /// A `HandleFee` implementation that simply deposits the fees into a specific on-chain
    /// `ReceiverAccount`.
    ///
    /// It reuses the `AssetTransactor` configured on the XCM executor to deposit fee assets. If
    /// the `AssetTransactor` returns an error while calling `deposit_asset`, then a warning will be
    /// logged and the fee burned.
    pub struct XcmFeeToAccount<AssetTransactor, AccountId, ReceiverAccount>(
    	PhantomData<(AssetTransactor, AccountId, ReceiverAccount)>,
    );
    
    impl<
    		AssetTransactor: TransactAsset,
    		AccountId: Clone + Into<[u8; 32]>,
    		ReceiverAccount: Get<Acco...
    Unverified
    f8f70b37
Code owners
Assign users and groups as approvers for specific file changes. Learn more.