This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Configuration object for API settings. | |
* Contains key constants used throughout the extraction process. | |
*/ | |
const API_CONFIG = { | |
key: "...", // Your Firecrawl API key | |
baseUrl: 'https://api.firecrawl.dev/v1', // Base URL for Firecrawl API endpoints | |
timeout: 30, // Timeout for HTTP requests in seconds | |
maxAttempts: 10, // Maximum number of attempts to poll for job completion | |
initialDelay: 1000 // Initial delay (in ms) before polling for job status |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// utils.ts | |
export const generatePagination = (currentPage: number, totalPages: number) => { | |
// If the total number of pages is 7 or less, | |
// display all pages without any ellipsis. | |
if (totalPages <= 7) { | |
return Array.from({ length: totalPages }, (_, i) => i + 1); | |
} | |
// If the current page is among the first 3 pages, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.4; | |
import "@openzeppelin/contracts/access/Ownable.sol"; | |
import "erc721a/contracts/ERC721A.sol"; | |
import "erc721a/contracts/extensions/ERC721AQueryable.sol"; | |
import "solady/src/utils/ECDSA.sol"; | |
import "solady/src/utils/LibString.sol"; | |
import "solady/src/utils/SafeTransferLib.sol"; |