OLM Factories
Factory contracts for easy deployment of OLM contracts
Factory contracts for easy deployment of OLM contracts
The OLM Factory contracts allows anyone to deploy newcontracts without compiling and deploying them manually. When deployed, the owner of the OLM is set to the caller.
There are two factories for the two OLM implementations: Manual Strike () and Oracle Strike ().
Manual Strike: Owners must manually update the strike price to change it over time.
Oracle Strike: Strike price is automatically updated based on an oracle and discount. A minimum strike price can be set on the Oracle Strike version to prevent it from going too low.
Setting up an OLM requires three steps.
Deploy an OLM contract from a factory.
Fund the OLM contract with payoutTokens
to pay rewards with (via a simple ERC20 transfer). Owners must monitor the balance of payoutTokens
in the contract to ensure that users can claim their rewards.
the OLM contract, including inputting the remaining options and staking parameters.
Step one of this process is accomplished by interacting with one of these factory contracts.
Factory for deploying Manual Strike OLM contracts
Option Teller to be used by OLM contracts
Deploy a new Manual Strike OLM contract with the caller as the owner
Parameters
stakedToken_
ERC20
ERC20 token that will be staked to earn rewards
payoutToken_
ERC20
ERC20 token that stakers will receive call options for
Returns
molm
ManualStrikeOLM
Address of the new OLM contract
Factory for deploying Oracle Strike OLM contracts
Option Teller to be used by OLM contracts
Deploy a new Oracle Strike OLM contract with the caller as the owner
Parameters
stakedToken_
ERC20
ERC20 token that will be staked to earn rewards
payoutToken_
ERC20
ERC20 token that stakers will receive call options for
Returns
oolm
OracleStrikeOLM
Address of the new OLM contract