-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Anonymous proxy spawner should always be able to kill it, regardless of permissions. #9794
Comments
and what does killing an anonymous proxy entail? transferring its full balance to the owner? This sounds like a UI issue to me. Also your second option may not be preferable to some people. For example, I want an account which i can guarantee no one can transfer balances from. So i would make an anonymous proxy with non-transfer setting. Forcing a user to use Should we also somehow prevent users from sending their tokens to the wrong address? |
No you don't. The token will stuck there and no way out. |
I don't think there's a UI issue here. The Polkadot-JS UI doesn't give you the option to create anonymous proxies like it does with normal proxies. You need to do it through the extrinsics page. The only UI involved there is that you issue the extrinsic using a GUI instead of doing it through a CLI or programmatically. And since the runtime doesn't prevent you from creating a proxy with a non-Any type, the extrinsics GUI doesn't either. When the runtime allows for a situation that:
is it user mistake if they find themselves in that situation or an oversight on our part? IMHO it's the second. Anonymous proxies are tricky and dangerous (and quite complex) but they don't have to be. If we can implement them in a way that can't lead to accidental lock of funds, without compromising on security, shouldn't we do it? From the proposed solutions I agree with @lamafab that the first solution is preferred, but only because the second doesn't solve the issue for the currently locked funds. My ideal solution would be a combination of that and what @shawntabrizi proposed (although I believe he was joking):
Reasoning: I'm excluding spawners of type If what I propose can be exploited in some way, please correct me. |
I genuinely do not see any practical use case for this as long as you cannot withdraw any funds. All activities, especially governance and staking, will require (a lot of) funds; why would you ever create an anonymous proxy with non- So, if someone wants to create a
There could be a safe option of What do you think? |
Hello, I was about to kill an anonymous proxy which i have created before and see the error "Txn version not supported". |
(@shawntabrizi , @bkchr told me to ping you)
Currently, a spawner of an anonymous proxy cannot kill the anonymous proxy unless it was created with
Any
permissions. If a spawner uses non-Any
permissions, then this results in having your basic deposit locked forever, with no way of unlocking it.Relevant code:
@rphmeier argued that the Runtime should not prevent you from doing mistakes and that it's mostly a UI issue. I do think it's reasonable to assume that when you create an anonymous proxy - and the Runtime allows you to specify a permission type - it should be able to be killed, regardless of the chosen option. The Runtime could handle it with one of those two options:
Any
permissions and cannot specify any other permissions. Only when adding new proxies can the permission type be chosen.If the second options is to be implemented (or even if it's a UI issue), this will not allow currently locked-out users from unlocking the basic deposit. We have such support cases at the moment.
The text was updated successfully, but these errors were encountered: