Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow transaction payment from proxy target account #348

Open
Tracked by #11115
xlc opened this issue Sep 9, 2020 · 5 comments
Open
Tracked by #11115

Allow transaction payment from proxy target account #348

xlc opened this issue Sep 9, 2020 · 5 comments
Labels
I5-enhancement An additional feature request. T1-FRAME This PR/Issue is related to core FRAME, the framework.

Comments

@xlc
Copy link
Contributor

xlc commented Sep 9, 2020

For example, I have main account A, which have a proxy with account B.
In order to invoke call from account A via B, I need to make sure account B have enough funds for transaction fees.

It will be better to have ability to let account A to pay the transaction fee, so account B does not need to have any funds.

This will make rotate signing account easy. Just add account C and remove B, without worry about transfer funds around.

In order to implement this, we need a SignedExtension to validate the proxy call to prevent it from been included into transaction pool / block if the proxy is invalid.

And customize transaction payment pallet so it is possible to pay transaction fee using a different account.

And adjust nonce / account ref code so that the nonce of account B get wiped when it is not a signing account for any other accounts & have no existential deposit.

@gavofyork
Copy link
Member

This would double the pre-payment storage i/o (which is the one thing that must be kept at an absolute minimum, since it's an open DoS vector), and that's assuming you have a new transaction extension to make it clear which account should be the one to pay and compare/increment nonce.

It would also only work for single-level proxying, which is of limited use. A proxy to a multisig to a proxy (three-levels of indirection deep) is a pretty useful use-case and this would quadruple the storage i/o.

@xlc
Copy link
Contributor Author

xlc commented May 29, 2021

Alternative way is allow account to approve another account to use it as the funding source of tx fee. This can also increase provider count for the spending account. So it will be just one more storage read to fetch funding source. If we bake this into system AccountData, there won't be any additional storage access.

@stale
Copy link

stale bot commented Jul 7, 2021

Hey, is anyone still working on this? Due to the inactivity this issue has been automatically marked as stale. It will be closed if no further activity occurs. Thank you for your contributions.

@siman
Copy link

siman commented Aug 5, 2022

This is a very needed feature. It will improve the UX of the dapps built on top of Substrate when dealing with dapp's session keys (proxy accounts).

@Polkadot-Forum
Copy link

This issue has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/proxy-pallet-on-steriods/292/3

@juangirini juangirini transferred this issue from paritytech/substrate Aug 24, 2023
@the-right-joyce the-right-joyce added I5-enhancement An additional feature request. T1-FRAME This PR/Issue is related to core FRAME, the framework. and removed J0-enhancement labels Aug 25, 2023
claravanstaden pushed a commit to Snowfork/polkadot-sdk that referenced this issue Dec 8, 2023
helin6 pushed a commit to boolnetwork/polkadot-sdk that referenced this issue Feb 5, 2024
* README: update release information

* Move badge to the end of line to make it nicer
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Mar 26, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Mar 27, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 10, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 10, 2024
jonathanudd pushed a commit to jonathanudd/polkadot-sdk that referenced this issue Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I5-enhancement An additional feature request. T1-FRAME This PR/Issue is related to core FRAME, the framework.
Projects
Status: Draft
Status: Backlog
Development

No branches or pull requests

8 participants