IFEYFactory
Author: Struct Finance
The interface for the Product factory contract
Functions
createProduct
function createProduct(
DataTypes.TrancheConfig memory _configTrancheSr,
DataTypes.TrancheConfig memory _configTrancheJr,
DataTypes.ProductConfigUserInput memory _productConfigUserInput,
DataTypes.Tranche _tranche,
uint256 _initialDepositAmount
) external payable;
isMintActive
function isMintActive(uint256 _spTokenId) external view returns (bool);
isTransferEnabled
function isTransferEnabled(uint256 _spTokenId, address _user) external view returns (bool);
Events
ProductCreated
Emitted when the product is deployed
event ProductCreated(
address indexed productAddress,
uint256 fixedRate,
uint256 startTimeDeposit,
uint256 startTimeTranche,
uint256 endTimeTranche
);
TrancheCreated
Emitted when the tranche is created
event TrancheCreated(
address indexed productAddress, DataTypes.Tranche trancheType, address indexed tokenAddress, uint256 capacity
);
TokenStatusUpdated
Emitted when a token's status gets updated
event TokenStatusUpdated(address indexed token, uint256 status);
PoolStatusUpdated
Emitted when a LP is whitelised
event PoolStatusUpdated(address indexed lpAddress, uint256 status, address indexed tokenA, address indexed tokenB);
FEYProductImplementationUpdated
Emitted when the FEYProduct implementaion is updated
event FEYProductImplementationUpdated(address indexed oldImplementation, address indexed newImplementation);
StructPriceOracleUpdated
The following events are emitted when respective setter methods are invoked
event StructPriceOracleUpdated(address indexed structPriceOracle);
TrancheDurationMinUpdated
event TrancheDurationMinUpdated(uint256 minTrancheDuration);
TrancheDurationMaxUpdated
event TrancheDurationMaxUpdated(uint256 maxTrancheDuration);
LeverageThresholdMinUpdated
event LeverageThresholdMinUpdated(uint256 levThresholdMin);
LeverageThresholdMaxUpdated
event LeverageThresholdMaxUpdated(uint256 levThresholdMax);
TrancheCapacityUpdated
event TrancheCapacityUpdated(uint256 defaultTrancheCapUSD);
PerformanceFeeUpdated
event PerformanceFeeUpdated(uint256 performanceFee);
ManagementFeeUpdated
event ManagementFeeUpdated(uint256 managementFee);
MinimumInitialDepositValueUpdated
event MinimumInitialDepositValueUpdated(uint256 newValue);
MaxFixedRateUpdated
event MaxFixedRateUpdated(uint256 _fixedRateMax);
FactoryGACInitialized
event FactoryGACInitialized(address indexed gac);
YieldSourceAdded
Emitted when Yieldsource address is added for a LP token
event YieldSourceAdded(address indexed lpToken, address indexed yieldSource);