This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This refunds weight and the weight bases fee back to the sender of an extrinsic after the dispatch.
It looks like @athei signed our Contributor License Agreement. 👍 Many thanks, Parity Technologies CLA Bot |
gavofyork
reviewed
Apr 11, 2020
gavofyork
reviewed
Apr 11, 2020
Err(_) => return Err(InvalidTransaction::Payment.into()), | ||
} | ||
} | ||
// We do not recreate the account using the refund. The up front payment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
gavofyork
approved these changes
Apr 11, 2020
kianenigma
reviewed
Apr 12, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some tests in a follow up, if any would be great 👍
You are right. I thought it was covered by the existing tests but no one is refunding anything right now. I will add some tests which test the refund. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related PRs
#5032 predecessor and replaced by this PR
#5458 Groundwork that allows dispatchables to return the actual weight consumed
#5540 Groundwork that allows
SignedExtension
to access the actual weightOverview
This changes the
CheckWeight
andChargeTransactionPayment
signed extensions to refund portions of the annotated a priori maximum weight in theirpost_dispatch
method. ADispatchable
has the ability (since #5458) to return the a posteriori weight that is lower than the annotated max weight. Here we make use of that information in order to do the actual refund.Motivation
We want dispatchables to be able to refund portions it their static a priori weight maximum. The reason for that is that there are dispatchables where the average weight consumed differs from the maximum. Without a refund we are charging too much weight in some cases. An example is
Currency::transfer
which is heavier when it needs to create the target account. The average case might be that the account already exists where we are then overcharging.