Skip to main content

IFEYFactory

Git Source

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);