# Governance

### Supported Assets

Non-standard ERC20 implementation are not compatible with Continuous ESD. Governance must verify the following properties of any ERC20 tokens before interacting with them.

* Must not have any transfer fees (especially if swapping through the `Reserve`).
* Needs to have a `decimals()`getter (especially when used with `Oracle`).
* Should generally not have any malicious custom code.

### Swapping Constraints

Orders set by governance may be front-run in their amounts. Keep in mind that order amounts may change in between the time a proposal is proposed and committed which may result in a larger than intended amount being added to the current outstanding order.

We recommend either:

1. Only updating the `price` attribute of the order as need until `amount` is zero.
2. Creating a separate initial proposal to zero out the order `amount` before updating to the new `amount`.

