Local Pluralities Get Free Xcm Execution#125
Conversation
| let treasury_acc: AccountIdOf<T> = TreasuryAccount::get(); | ||
|
|
||
| <pallet_balances::Pallet<T>>::resolve_creating(&pallet_acc, amount); | ||
| let root_location: MultiLocation = Here.into(); |
There was a problem hiding this comment.
there are few options,
- (current) resolve funds into root account temporarily and teleport on behalf of the root
- calculated an expected fee for the execution and delivery and keep that amount within the account to pay the fee
- keep as it is, and grant free execution to the pallet's account id. where an account id has to be whitelisted as a location
X1(AccountId32(some_bytes_of_pallet_account_id))
I think the current is the most optimal
|
@NachoPal is running e2e with this branch, lets wait for results |
|
New waived Origins works. However, it is failing with |
|
Working now after the latest changes |
Co-authored-by: joe petrowski <[email protected]>
|
@muharem could you please add some changelog entry? |
added info about new location to account id mapping, the waived locations type changes are basically setup for the new fee manager, we have a changelog regarding it in |
|
/merge |
|
Enabled Available commands
For more information see the documentation |
Local Root and Pluralities Get Free Xcm Execution
After running e2e tests, we discovered that xcm programs sent from local pluralities such as Relay Chain Staking Admin or Collectives Fellowship were failing due to insufficient balance to cover execution/delivery fees. This PR addresses this issue by granting them a free execution.
Additionally, we encountered similar failures when attempting to teleport slashed assets from Collectives to the Relay Chain Treasury. In this PR, we resolve this problem by teleporting those assets on behalf of the Collectives root location, allowing for a free delivery.