# Enabling Locks on `pallet-assets`
---
## Why?
- <!-- .element: class="fragment" data-fragment-index="0" -->
Voting with assets: `Vote::AssetBalance(AssetId, AssetBalance)`
- <!-- .element: class="fragment" data-fragment-index="1" -->
Staking with an asset
- <!-- .element: class="fragment" data-fragment-index="2" -->
many others…
---
## The Problem
No currently built-in solution in `polkadot-sdk`.
---
## Solution
:rocket:
---
## How?
----
### A: Implement `pallet-assets-freezer`
A pallet that implements both `fungibles::freezes::Mutate` (a.k.a. `MutateFreeze`) and `FrozenBalances` (required by `T::Freezer`).
Goal: integrate with current structure of `pallet-assets`.
----
### B: Implement `MutateFreeze` on `pallet-assets`
Goal: override `FrozenBalances`.
---
## Follow the discussion
[polkadot-sdk#3342](https://github.com/paritytech/polkadot-sdk/issues/3342)
---
## Questions?
{"title":"Enabling Locks on `pallet-assets`","description":"","contributors":"[{\"id\":\"d769b4e1-984e-40d5-9e45-b5dc22ff3d3c\",\"add\":1717,\"del\":731}]","slideOptions":"{}"}