๐ญIncentive Factory
Migaloo's incentive factory contract is used to create incentive flows associated with LP tokens. Incentive contracts allow permissioned users to create an incentive contract associated with an LP token. Once an incentive contract is created for an LP token, it is stored in state, allowing the incentive factory to act as an incentive registry, which can be queried for reference. Note that the incentive factory is permissioned, meaning the messages can only be executed by the owner of the contract.
Instantiate
Instantiates an instance of the incentive factory contract
Key | Type | Description |
---|---|---|
| String | The address of the fee collector to send flow creation fees to |
| String | Fee distributor contract address |
| Asset | The fee that must be paid to create a flow |
| u64 | The maximum amount of flows that can exist for a single LP token at a single time |
| u64 | The code ID of the incentive contract |
| u64 | New flows are allowed to start up to |
| u64 | The minimum amount of seconds that a user must bond their tokens for |
| u64 | The maximum amount of seconds that a user must bond their tokens for |
ExecuteMsg
Create Incentive
Creates a new incentive contract tied to the lp_asset
specified.
Key | Type | Description |
---|---|---|
| AssetInfo | Information about the LP asset |
Update Config
Updates the configuration of the contract.
Key | Type | Description |
---|---|---|
| Option<String> | The owner of the contract. If unspecified, the owner address will not change. |
| Option<String> | The new fee collector address to send flow creation fees to. If unspecified, the fee collector address will not change. |
| Option<String> | The new fee distributor address to get epochs from. If unspecified, the fee distributor address will not change. |
| Option<Asset> | The new fee that must be paid to create a flow. If unspecified, the flow fee will not change. |
| Option<u64> | The maximum amount of concurrent flows that can exist for a single LP token at a single time. If unspecified, the max concurrent flows will not change. |
| Option<u64> | The new code ID of the incentive contract. If unspecified, the incentive contract id will not change. |
| Option<u64> | The new maximum start time buffer for a new flow (in seconds). If unspecified, the flow start buffer will not change. |
| Option<u64> | The minimum amount of seconds that a user must bond their tokens for. If unspecified, the |
| Option<u64> | The maximum amount of seconds that a user must bond their tokens for. If unspecified, the |
Migrate Incentives
Migrates incentive contracts to the given code id. If incentive_address
is provided, the message migrates only that given incentive contract. Otherwise, it migrates all the incentives created by the factory.
Key | Type | Description |
---|---|---|
| Option<String> | The address of the incentive contract |
| u64 | The new code ID to migrate the incentive contract to. If unspecified, will default to the incentive factory's configured incentive code ID. |
QueryMsg
Config
Retrieves the config of the incentive factory.
Incentive
Retrieves a specific incentive address for the given lp_asset.
Key | Type | Description |
---|---|---|
| AssetInfo | Information about the LP asset |
Incentives
Retrieves a list of incentive contracts. Allows pagination.
Key | Type | Description |
---|---|---|
| Option<AssetInfo> | An optional parameter specifying what incentive contract to start searching after. |
| Option<u32> | The amount of incentive contracts to return. If unspecified, will default to a value specified by the contract. |
Last updated