polkadot-js / apps

Basic Polkadot/Substrate UI for interacting with a Polkadot and Substrate node. This is the main user-facing application, allowing access to all features available on Substrate chains.
https://dotapps.io
Apache License 2.0
1.74k stars 1.53k forks source link

Unable to Sign Transactions with Nested Proxy Accounts #10615

Open asiniscalchi opened 3 months ago

asiniscalchi commented 3 months ago

When trying to send tokens from a nested proxy account (proxy_1 controlled by proxy_0), the application displays an error: "Cannot sign with a locked key pair." The expected behavior is that Polkadot.js should be able to sign transactions with nested proxy accounts without any issues.

This issue prevents the use of nested proxy accounts for transactions, limiting the flexibility and security provided by hierarchical account structures. Fixing this bug would allow users to fully utilize nested proxy accounts.

Screenshot from 2024-05-24 09-09-02 Screenshot from 2024-05-24 09-07-08

Thank you for your attention to this issue.

asiniscalchi commented 1 month ago

It seems that it may be a polkadot.js limitation: https://substrate.stackexchange.com/questions/11509/issue-with-transactions-from-pure-proxy-owned-by-another-pure-proxy-in-polkadot/11513

ccubu commented 1 month ago

As a workaround for the scenario you described you can use the Extrinsics page to build the extrinsic manually and send it.

You just have to send from Alice the proxy.proxy method with the real parameter being proxy_0 and the call should be another proxy.proxy call with the real parameter being proxy_1 and the final call you want to execute.

In this screenshot you can see an example of how that would look.

image