diff --git a/src/app/query/bitcoin/ordinals/brc20/use-check-order-status.ts b/src/app/query/bitcoin/ordinals/brc20/use-check-order-status.ts index f5d57cbd8e6..00d9d3bc3de 100644 --- a/src/app/query/bitcoin/ordinals/brc20/use-check-order-status.ts +++ b/src/app/query/bitcoin/ordinals/brc20/use-check-order-status.ts @@ -22,6 +22,12 @@ export function useCheckOrderStatuses(ids: string[]) { queryKey: ['check-order-status', id], queryFn: async () => ordinalsbotClient.orderStatus(id), async onSuccess({ data }: Awaited>) { + if (data.status === 'error') { + if (data.error.includes('no such order')) { + // TODO: error processing, remove tx from state? + } + return; + } const entry = transferMap[data.charge.id]; if (!entry) return; diff --git a/src/app/query/bitcoin/ordinalsbot-client.ts b/src/app/query/bitcoin/ordinalsbot-client.ts index 5a0728cd4d8..015ebd56915 100644 --- a/src/app/query/bitcoin/ordinalsbot-client.ts +++ b/src/app/query/bitcoin/ordinalsbot-client.ts @@ -65,7 +65,7 @@ interface InscriptionOrderArgs { } interface OrderStatusSuccessResponse { - status: string; + status: 'success'; paid: boolean; underpaid: boolean; expired: boolean; @@ -115,6 +115,11 @@ interface OrderStatusSuccessResponse { sent: string; } +interface OrderStatusErrorResponse { + status: 'error'; + error: string; +} + class OrdinalsbotClient { constructor(readonly baseUrl: string) {} @@ -132,9 +137,12 @@ class OrdinalsbotClient { } async orderStatus(id: string) { - return axios.get(urlJoin(this.baseUrl, 'order'), { - params: { id }, - }); + return axios.get( + urlJoin(this.baseUrl, 'order'), + { + params: { id }, + } + ); } }