-
Notifications
You must be signed in to change notification settings - Fork 710
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
[Assets] Implement pallet-assets-holder
#4530
base: master
Are you sure you want to change the base?
Conversation
…nce based on whether there's held assets or not
c627c51
to
89ea43a
Compare
…th the tokens' _balance components_ model. On the most recent documentation about tokens (both _fungible_ and _fungibles_ (sets)), the model for calculating the different balance components is explained. The prior implementation of `pallet-assets` featured a weird definition of how to handle them that was not in line with the expected (see <https://paritytech.github.io/polkadot-sdk/master/frame_support/traits/tokens/fungible/index.html#holds-and-freezes>) definition of tokens. This commit changes this implementation for methods `reducible_balance` and `can_decrease` to introduce the calculation of `spendable` balance, and the consequences derived of decreasing a balance that may include both `frozen` and `held` balances.
… working together
@joepetrowski @muharem can you please take a look at this and if we need this? |
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.
@pandres95 I do not really understand the plan. I see only first step in the issue. also are you sure we need this new trait? can we do the same with fungibles traits? I see that we have a similar FrozenBalance
trait, but it probably was introduced before the fungibles was. can we bring the hold implementation with a single PR? it would make it more clear and we get it faster. this PR wont bring anything useful, only breaking changes.
Sure! Can complete the second step in the same PR. The reason behind this trait is that in some prior meeting Gav advised against exhaustively modifying some core pallets like |
@pandres95 yes, it should be done as an extension. there is also a |
HeldBalance
pallet-assets-holder
@muharem the pallet implementation is done and ready to review |
…alance on hold, but frozen value is zero, as the account would need to exist
… to reflect the changes in the balance model, so a first reader can understand the differences between _free_ balance, _reducible_ balance and balance _on hold_.
Looks good, some last changes |
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.
Change this (thanks @ggwpez)
…wpez for the suggestion)
…rency::unreserve` that are followed by a potential failure of `dead_account`. This would prevent cases where `refund` is called externally by another pallet, and not as a part of a direct extrinsic call within the pallet.
…illustrate the changes.
@gui1117 AFAIK, I've already addressed the changes you requested on your review. Let me know if there's something additional you need from my end. 😁 |
… any deposit / remove `with_storage_layer`.
7105fc3
to
4f50052
Compare
# Conflicts: # Cargo.lock
3d79a10
to
17e4b16
Compare
…ges from `master`.
Closes #4315