balancer / balancer-core

Balancer on the EVM
GNU General Public License v3.0
333 stars 168 forks source link

Assets will be lost in case of token's migration #196

Closed montyly closed 4 years ago

montyly commented 4 years ago

Severity: High Difficulty: High

Description

Once the pool is finalized, no token can be added or removed. If a token is migrated to a new address, the pool will not follow this migration.

In this situation, the pool's value will not stay stable, and all the liquidators are likely to withdraw their deposits as soon as possible, leading the slowest liquidators to lose their deposits.

Recommendation

Adding a mechanism to handle token's migration will increase significantly the code complexity, and potentially remove the trust in the system.

Balancer should study what solutions could be implemented, and properly document what happens in the case of migration. If no on-chain mechanism is present to follow a token's migration, the documentation should highlight off-chain strategies. For example, if the pool's value is significant, it might be possible to contact the token's owner to ask for a migration to a new pool (if all the assets can be migrated).

mikemcdonald commented 4 years ago

Won't fix - any token upgrade mechanism greatly increases centralization and control of contracts. Adds additional complexity. Added to docs at - https://docs.balancer.finance/-LtRAKuhb1ZIm1X-H-IS/protocol/limitations

mikemcdonald commented 4 years ago

https://docs.balancer.finance/protocol/limitations