Figuring out the first Polkadot Treasury spend in USDT

In order to allow people to submit USD-denominated Treasury proposals, we need to figure out the right extrinsic parameterization for the new version of the treasury.spend extrinsic.

I consider a scenario where the Treasury holds USDT on AssetHub and pays it out to a user account on AssetHub.

What I currently have is the following call data 0x130503000300a10f0432050b00ac4a5812120000000700e40b540203000200a10f0100000000000000000000000000000000000000000000000000000000000000000000

to be executed via governance on Polkadot (quick link to the extrinsics screen).

Two questions are still unsolved for me:


assetKind consists of location and assetId. My first attempt was to give the full multilocation of the asset in location, but that leaves the question of what assetId is supposed to represent. One other way to think about it is that maybe location refers to the parachain only and assetId will refer to the actual asset?


Is the multilocation of the beneficiary given from the perspective of the relay chain?

Here in the PR you can find an explanation and examples for those parameters - Treasury spends various asset kinds by muharem · Pull Request #1333 · paritytech/polkadot-sdk · GitHub

In short:
assetKind.location - location of a Parachain, for now it’s AssetHub
assetKind.assetId - location of an asset, in the context of assetKind.location.
beneficiary - location of an asset, in the context of assetKind.location.

We also preparing now a guideline for new spend call, we should be able to share it next week.

1 Like

I am currently finalizing the document, awaiting review. It should be ready at the beginning of the week.

Here is the post - Multi Asset Treasury and Milestone-Based Spends