-
Notifications
You must be signed in to change notification settings - Fork 747
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
TransferAllowDeath possibly fails on transaction validation when the balance is around ExistentialDeposit #4843
Comments
The problem is that the |
@bkchr
Could you tell me approximately how much time/minor versions does it usually take for this kind of enhancements? |
I personally have some ideas on how this could be solved, but right now nothing where I would say that is what we should implement. Thus, I generally can not give you any estimation. Or do you want to work on this? |
Since I don't have really deep understanding of the architecture, that would be nice to hear the ideas of how it could be solved from you. |
I think one solution could be that we increment the providers in the transaction payment extension before we do any fee withdrawal and then decrease the providers in |
Thank you for the explanation, I'll check around this implementation part and maybe discuss some alternatives if they seems reasonable |
Okay! Maybe best to start with a test and see how that does. |
Locking could also work, but its fairly similar. Passing it in through a signed extension is probably a bit too much of a breaking change and would be annoying to propagate into the runtime. |
Is there an existing issue?
Experiencing problems? Have you tried our Stack Exchange first?
Description of bug
During the transaction validation
withdraw_fee
method is called at some point. Not sure which implementation is used for DOT, so will leave both of them (Currency and Fungible Adapters)In both cases
KeepAlive
orPreserve
is passed, so is it correct to think that the transaction will be reverted on the validation stage without entering the real transfer execution withAllowDeath
specified?polkadot-sdk/substrate/frame/transaction-payment/src/payment.rs
Lines 101 to 107 in 6c85760
polkadot-sdk/substrate/frame/transaction-payment/src/payment.rs
Lines 199 to 202 in 6c85760
Steps to reproduce
E.g. Balance: 1.001, Amount: 0.99, Fee: 0.011
Invalid Transaction: Inability to pay some fees (e.g. account balance too low)
The text was updated successfully, but these errors were encountered: