A Strategy is a modular contract that is purpose-built for deploying Collateral and Community Treasury funds, receiving multiple types of tokens, and reporting balances of each type of token it holds. These are one-time transactions, not ongoing processes, that can perform atomic actions on the Community Treasury and Collateral, usually involving one or more interactions with external staking and farming contracts. Strategies could entail like-kind trades that may be desirable in connection with a change of Collateral, staking assets, hedging, and many other asset allocation schemes. Strategy can be purpose-built to work with any external contracts and interact with multiple token types at any given time.
Strategies must have functions to move funds around.
Strategies don’t rely on whitelisted tokens.
Strategies can interact with multiple token types, but can only be assigned to one known token*.
Strategies automatically execute allocations of the assets allocated to them (by the Controller or oneToken Governance) from the oneToken Vault.
*A known token is one that has been registered to the oneToken Vault. This process includes configuration of the Oracles.
Similar to the other modular components in the ICHI and oneToken system, Strategies will be admitted via the ICHI Governance and selected by oneToken Governance. oneTokens assign 0-1 strategies per known token which can help a UI value tokens in the Vault. While a Strategy can interact with multiple tokens, the logic is specified to a single known token within the Vault.