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

Block 18,210,366 dusted 1,257 reserved DOT #583

Open
ggwpez opened this issue Feb 7, 2025 · 2 comments
Open

Block 18,210,366 dusted 1,257 reserved DOT #583

ggwpez opened this issue Feb 7, 2025 · 2 comments

Comments

@ggwpez
Copy link
Member

ggwpez commented Feb 7, 2025

Extrinsic 18210366-2 reaped account 12EX.. with 1257.831 Dot (12,578,310,000,000 planks) in reserve.
You can re-execute the block with npx @acala-network/chopsticks@latest run-block -c polkadot --html --open -b 18210366.

See how account 15oM.. was endowed while 12EX.. was reaped. Only 5 DOT of free balance carried over and no reserve. The 638 mDot got dusted rightfully since they did not use transfer_all:

Image

I only fund this through some accounting inconsistency in the crowd loan state. The cause is assumed to be the currency->fungible migration. We could fix this with the Asset Hub migration.

Proposed Fix

There are more accounts of this kind, and in light of the asset hub migration they are causing issues in our accounting. It would be preferable to fix them in advance.

First, we need to identify all accounts that are affected by this. This requires to analyze the history by either querying an archive node or indexing all transactions. Specifically, you need to analyze all transfer transactions and query the reserves before and after. An accounts it faulty if it does not have a reserve anymore after the transfer but had one prior to it.
All such accounts should be written into a CSV for manual inspection with their respective missing amount and block.

As second step, we can either create a migration or a pallet. The migration would be a one-off thing and immediately fix the accounts, whereas the pallet would still need to be triggered by either the fellowship or a root referendum.
The fix would be to mint and reserve that amount on the account.

@kianenigma
Copy link
Contributor

As second step, we can either create a migration or a pallet. The migration would be a one-off thing and immediately fix the accounts, whereas the pallet would still need to be triggered by either the fellowship or a root referendum.

What is the exact fix? to refund the mistakenly dusted deposit?

@ggwpez
Copy link
Member Author

ggwpez commented Feb 21, 2025

What is the exact fix? to refund the mistakenly dusted deposit?

Yes. Added it to the issue now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants