The CW20 Exchange ADO is used to sell CW20 tokens for other assets. The token to be sold is specified at instantiation, and then sales can be started on the token by the contract owner by sending them to this ADO. Each sale has an "asset" to purchase the tokens with. This asset can be:
Users can then purchase the CW20 token being sold by sending the required asset to the contract.
Multiple sales can take place at the same time but no two sales can have the same purchasing asset.