Skip to content

Conversation

@beer-1
Copy link
Contributor

@beer-1 beer-1 commented Nov 5, 2025

Description

When removing an entry from the expiration queue, x/feegrant uses the key with the granter/grantee inverted. The correct key is feegrant.FeeAllowanceKey(granter, grantee), not feegrant.FeeAllowanceKey(grantee, granter). This prevents proper deletion of the allowance entry.

Patch-style hint

- key := feegrant.FeeAllowanceKey(grantee, granter)
+ key := feegrant.FeeAllowanceKey(granter, grantee)

Impact

Expiration not actually removed for the prior grant.
Recreated grant can be deleted later by the leftover (stale) expiration event.

!!!!!! consensus breaking !!!!!!

@aljo242 aljo242 changed the title fix: clear expiration queues on revoke (backport #25540) fix!: clear expiration queues on revoke (backport #25540) Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant