function createAuction(
        uint256 _tulipId,
        uint256 _startingPrice,
        uint256 _endingPrice,
        uint256 _duration,
        address _transferFrom
    )external
    {
        
        require(_startingPrice == uint256(uint128(_startingPrice)));
        require(_endingPrice == uint256(uint128(_endingPrice)));
        require(_duration == uint256(uint64(_duration)));

        
        require(_duration >= 1 minutes);

        require(coreContract.ownerOf(_tulipId) == _transferFrom);

        
        
        coreContract.transferFrom(_transferFrom, this, _tulipId);

        _createAuction(_tulipId, _startingPrice, _endingPrice, _duration, _transferFrom);
    }