function inflate() public onlyRole("InflationOperator") returns (uint256)  {
        uint256 currentTime = block.timestamp;
        uint256 currentDayStart = currentTime / 1 days;
        uint256 inflationAmount;
        require(lastInflationDayStart != currentDayStart);
        lastInflationDayStart = currentDayStart;
        uint256 createDurationYears = (currentTime - deployTime) / 1 years;
        if (createDurationYears < 1) {
            inflationAmount = initialAmount / 10 / 365;
        } else if (createDurationYears >= 20) {
            inflationAmount = 0;
        } else {
            inflationAmount = initialAmount * (100 - (5 * createDurationYears)) / 365 / 1000;
        }
        incentivesPool = incentivesPool.add(inflationAmount);
        totalSupply = totalSupply.add(inflationAmount);
        emit Inflate(incentivesPool);
        return incentivesPool;
    }