Skip to content

Make Any Proxies Copyable from a Configured Source #3288

Open
@joepetrowski

Description

@joepetrowski

It should be possible to recreate pure proxy relationships on remote chains (given a few conditions). The problem is that while "normal" proxied accounts can be set up on each chain, a pure proxy relationship cannot be recreated.

There has been some debate on multi-chain proxies, namely around the scope of permissions that a proxy has. For example, declaring a NonTransfer proxy on the Relay Chain means something, but a NonTransfer proxy on Asset Hub has additional functionality available, that the original setter may not have intended to grant to the proxy holder.

I'd like to propose that an Any proxy on a system chain really means Anything within the Polkadot system. That is, an Any proxy on one system chain (para or relay) should be able to create the same proxy-proxied pair on another chain in the system. Other parachains could obviously opt-in to recognize this if they wanted to, or ignore it if they don't.

Potential Solutions

This is relatively simple but there are tradeoffs. It will need to use XCM (I think) but there is no specific instruction for it (although we have discussed SetAgent).

The first idea that comes to mind is an extension pallet with a handler that will call Transact on a destination chain. Of course the pallet can know the call encoding of its own calls, but it would need to know the pallet index on the destination chain. That means either an agreed "this pallet is always at index x" or a table chain => index. The latter would mean needing governance to upgrade the source chains to support new chains that want to opt in to this feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    T2-palletsThis PR/Issue is related to a particular pallet.T6-XCMThis PR/Issue is related to XCM.

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions