1

When we query the system.account storage function we get back a list of accounts, are proxy accounts part of this list and if yes, is there a way to identify them?

1 Answer 1

1

In general, proxy accounts are normal accounts which were delegated certain functionality from the proxied account (staking, non transfer, etc) so indeed, they can be accessed by the system.account storage function.

If you are asking about accounts created by a CreatePure call of the proxy pallet, the answer is the same. Once created by that call, the address looks exactly the same as a "normal" account, both in SS58 format and as a byte array. The only difference is that there is no key pair that can access it.

If you want to get into the details, pure_account is the function that calculates the address of a pure account. This function is called internally by the CreatePure call. As you can see in the code, it uses the sender account Id, the block height, the extrinsic index, the proxy type and the index chosen by the sender as source of entropy to calculate the new address.

If what you want is to filter proxied accounts, you will need to query the proxies storage entry of the proxy pallet. There you will find a map of the account which has delegated to the accounts which are being delegated to, together with the amount held on deposit.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.