From 1dd4ca730409c689a3bcce2282f24e6e33022947 Mon Sep 17 00:00:00 2001 From: Danish Arora Date: Fri, 12 Sep 2025 15:34:55 +0530 Subject: [PATCH] chore: add ordiscan --- package-lock.json | 19 +++++++++-- package.json | 1 + src/lib/services/Ordinal/index.ts | 54 ------------------------------- src/lib/services/Ordinal/types.ts | 25 -------------- 4 files changed, 17 insertions(+), 82 deletions(-) delete mode 100644 src/lib/services/Ordinal/index.ts delete mode 100644 src/lib/services/Ordinal/types.ts diff --git a/package-lock.json b/package-lock.json index ff6707a..2584d9b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -52,6 +52,7 @@ "input-otp": "^1.2.4", "lucide-react": "^0.462.0", "next-themes": "^0.3.0", + "ordiscan": "^1.3.0", "react": "^18.3.1", "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", @@ -12609,6 +12610,18 @@ "node": ">= 0.8.0" } }, + "node_modules/ordiscan": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ordiscan/-/ordiscan-1.3.0.tgz", + "integrity": "sha512-IV8yayKGIRtfkI3rQ1gu+aKQ6UmNHXB910qUuWrraCcuk6U/YkE+6X8Bh+jW2P8L8/lOfYA6DLVeKCVPkj8c6g==", + "license": "MIT", + "dependencies": { + "zod": "^3.24.1" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/ox": { "version": "0.6.9", "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.9.tgz", @@ -15898,9 +15911,9 @@ } }, "node_modules/zod": { - "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/package.json b/package.json index dfef15d..fc3115e 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "input-otp": "^1.2.4", "lucide-react": "^0.462.0", "next-themes": "^0.3.0", + "ordiscan": "^1.3.0", "react": "^18.3.1", "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", diff --git a/src/lib/services/Ordinal/index.ts b/src/lib/services/Ordinal/index.ts deleted file mode 100644 index 12ae4b0..0000000 --- a/src/lib/services/Ordinal/index.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { OrdinalApiResponse } from './types'; - -const BASE_URL = 'https://dashboard.logos.co/api/operators/wallet'; - -export class OrdinalAPI { - /** - * Fetches Ordinal operator details for a given Bitcoin address. - * @param address - The Bitcoin address to query. - * @returns A promise that resolves with the API response. - */ - async getOperatorDetails(address: string): Promise { - if (import.meta.env.VITE_OPCHAN_MOCK_ORDINAL_CHECK === 'true') { - console.log( - `[DEV] Bypassing ordinal verification for address: ${address}` - ); - return { - has_operators: true, - error_message: '', - data: [], - }; - } - - const url = `${BASE_URL}/${address}/detail/`; - - try { - const response = await fetch(url, { - method: 'GET', - headers: { Accept: 'application/json' }, - }); - - if (!response.ok) { - const errorBody = await response.text().catch(() => ''); - throw new Error( - `HTTP error! status: ${response.status}, message: ${errorBody || response.statusText}` - ); - } - - const data: OrdinalApiResponse = await response.json(); - - if (data.error_message) { - console.warn( - `API returned an error message for address ${address}: ${data.error_message}` - ); - } - return data; - } catch (error) { - console.error( - `Failed to fetch ordinal details for address ${address}:`, - error - ); - throw error; - } - } -} diff --git a/src/lib/services/Ordinal/types.ts b/src/lib/services/Ordinal/types.ts deleted file mode 100644 index ca19ab4..0000000 --- a/src/lib/services/Ordinal/types.ts +++ /dev/null @@ -1,25 +0,0 @@ -export interface OrdinalDetail { - name: string; - archetype_name: string; - comp: string; - background: string; - skin: string; - helmet: string; - jacket: string; - image_200_url: string; - image_200_jpeg_url: string; - image_400_url: string; - image_400_jpeg_url: string; - image_1024_url: string; - image_1024_jpeg_url: string; - image_2048_url: string; - image_2048_jpeg_url: string; - image_pixalated_url: string; - mp4_url: string; -} - -export interface OrdinalApiResponse { - has_operators: boolean; - error_message: string; - data: OrdinalDetail[]; -}