function createPuppySaleAuction(
        uint256 _puppyId,
        uint256 _startingPrice,
        uint256 _endingPrice,
        uint256 _duration
    )
        external
        whenNotPaused
    {
        
        
        
        require(_owns(msg.sender, _puppyId));
        
        
        
        require(!isPregnant(_puppyId));
        _approve(_puppyId, saleAuction);
        
        
        saleAuction.createAuction(
            _puppyId,
            _startingPrice,
            _endingPrice,
            _duration,
            msg.sender
        );
    }