From 03d9125fef65e5d2ea81bd8b136c430154eb2b68 Mon Sep 17 00:00:00 2001 From: JulianVIE Date: Wed, 4 Mar 2026 13:29:59 +0100 Subject: [PATCH 1/3] #237 remove enable minting button --- opt/wildcat/backup/_openapi.json | 155 +++++++++++++++++- opt/wildcat/openapi.json | 138 ++++------------ .../client/@tanstack/react-query.gen.ts | 50 ++---- src/generated/client/client/client.gen.ts | 1 + src/generated/client/index.ts | 4 +- src/generated/client/sdk.gen.ts | 24 ++- src/generated/client/types.gen.ts | 83 +++------- src/pages/quotes/QuoteActions.tsx | 48 ------ src/pages/quotes/QuotePage.tsx | 1 - .../quotes/components/useQuoteMutations.ts | 27 --- 10 files changed, 231 insertions(+), 300 deletions(-) diff --git a/opt/wildcat/backup/_openapi.json b/opt/wildcat/backup/_openapi.json index 5559c68..bf871c3 100644 --- a/opt/wildcat/backup/_openapi.json +++ b/opt/wildcat/backup/_openapi.json @@ -24,6 +24,24 @@ } } }, + "/v1/admin/mint/info": { + "get": { + "tags": ["admin"], + "operationId": "get_mint_info", + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WildcatInfo" + } + } + } + } + } + } + }, "/v1/admin/keysets/{kid}": { "get": { "tags": ["admin"], @@ -767,7 +785,7 @@ } } }, - "/v1/admin/treasury/ebill/mint_complete/{bid}": { + "/v1/admin/treasury/ebill/payment_complete/{bid}": { "get": { "tags": ["admin"], "operationId": "get_ebill_mint_complete", @@ -775,7 +793,6 @@ { "name": "bid", "in": "path", - "description": "the ebill id", "required": true, "schema": { "type": "string" @@ -788,7 +805,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/EbillMintingComplete" + "$ref": "#/components/schemas/EbillPaymentComplete" } } } @@ -798,6 +815,34 @@ } } } + }, + "/v1/admin/credit/token_status": { + "post": { + "tags": ["admin"], + "operationId": "post_token_status", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenStateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenStateResponse" + } + } + } + } + } + } } }, "components": { @@ -1522,7 +1567,7 @@ } } }, - "EbillMintingComplete": { + "EbillPaymentComplete": { "type": "object", "description": "--------------------------- ebill minting completed", "required": ["complete"], @@ -2251,6 +2296,19 @@ } } }, + { + "type": "object", + "description": "Last seen timestamp", + "required": ["Interim"], + "properties": { + "Interim": { + "type": "integer", + "format": "int64", + "description": "Last seen timestamp", + "minimum": 0 + } + } + }, { "type": "object", "description": "Last seen timestamp", @@ -2286,8 +2344,8 @@ "type": "object" }, "description": "Post Rabid", - "maxItems": 2, - "minItems": 2 + "maxItems": 3, + "minItems": 3 } } } @@ -2313,6 +2371,28 @@ } } }, + "TokenState": { + "type": "string", + "enum": ["Unspent", "Spent"] + }, + "TokenStateRequest": { + "type": "object", + "required": ["token"], + "properties": { + "token": { + "type": "string" + } + } + }, + "TokenStateResponse": { + "type": "object", + "required": ["state"], + "properties": { + "state": { + "$ref": "#/components/schemas/TokenState" + } + } + }, "UpdateQuoteRequest": { "oneOf": [ { @@ -2379,6 +2459,69 @@ } } ] + }, + "VersionInfo": { + "type": "object", + "description": "Version information for the mint", + "required": ["wildcat", "bcr_ebill_core", "cdk_mintd", "clowder"], + "properties": { + "wildcat": { + "type": "string", + "description": "Wildcat version" + }, + "bcr_ebill_core": { + "type": "string", + "description": "bcr-ebill-core version" + }, + "cdk_mintd": { + "type": "string", + "description": "cdk-mintd version" + }, + "clowder": { + "type": "string", + "description": "Clowder version" + } + } + }, + "WildcatInfo": { + "type": "object", + "description": "Mint information including network, build time, versions, and uptime", + "required": [ + "network", + "build_time", + "uptime_timestamp", + "versions", + "clowder_node_id", + "clowder_change_address" + ], + "properties": { + "network": { + "type": "string", + "description": "Bitcoin network (mainnet, testnet, signet, regtest)" + }, + "build_time": { + "type": "string", + "format": "date-time", + "description": "Build timestamp" + }, + "uptime_timestamp": { + "type": "string", + "format": "date-time", + "description": "Service uptime, last started" + }, + "versions": { + "$ref": "#/components/schemas/VersionInfo", + "description": "Version information" + }, + "clowder_node_id": { + "type": "string", + "description": "Clowder node id" + }, + "clowder_change_address": { + "type": "string", + "description": "Clowder change address" + } + } } } } diff --git a/opt/wildcat/openapi.json b/opt/wildcat/openapi.json index bf871c3..7e9b275 100644 --- a/opt/wildcat/openapi.json +++ b/opt/wildcat/openapi.json @@ -195,6 +195,34 @@ } } }, + "/v1/admin/credit/token_status": { + "post": { + "tags": ["admin"], + "operationId": "post_token_status", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenStateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenStateResponse" + } + } + } + } + } + } + }, "/v1/admin/credit/quote/{qid}": { "get": { "tags": ["admin"], @@ -376,38 +404,6 @@ } } }, - "/v1/admin/credit/quote/enable_mint/{qid}": { - "post": { - "tags": ["admin"], - "operationId": "post_enable_quote_minting", - "parameters": [ - { - "name": "qid", - "in": "path", - "description": "The quote id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EnableMintingResponse" - } - } - } - }, - "404": { - "description": "quote id not found" - } - } - } - }, "/v1/admin/ebill/identity": { "get": { "tags": ["admin"], @@ -789,16 +785,6 @@ "get": { "tags": ["admin"], "operationId": "get_ebill_mint_complete", - "parameters": [ - { - "name": "bid", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], "responses": { "200": { "description": "Successful response", @@ -815,34 +801,6 @@ } } } - }, - "/v1/admin/credit/token_status": { - "post": { - "tags": ["admin"], - "operationId": "post_token_status", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TokenStateRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Successful response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TokenStateResponse" - } - } - } - } - } - } } }, "components": { @@ -1577,9 +1535,6 @@ } } }, - "EnableMintingResponse": { - "type": "object" - }, "Endorsement": { "type": "object", "required": ["pay_to_the_order_of", "signed", "signing_timestamp"], @@ -1913,7 +1868,7 @@ }, { "type": "object", - "required": ["id", "bill", "keyset_id", "discounted", "minting_status", "fee", "status"], + "required": ["id", "bill", "keyset_id", "discounted", "fee", "status"], "properties": { "id": { "type": "string", @@ -1930,15 +1885,12 @@ "format": "int64", "minimum": 0 }, - "minting_status": { - "$ref": "#/components/schemas/MintingStatus" - }, "fee": { "type": "string" }, "status": { "type": "string", - "enum": ["Minting"] + "enum": ["MintingEnabled"] } } } @@ -1947,7 +1899,7 @@ }, "InfoReplyDiscriminants": { "type": "string", - "enum": ["Pending", "Canceled", "Offered", "OfferExpired", "Denied", "Accepted", "Rejected", "Minting"] + "enum": ["Pending", "Canceled", "Offered", "OfferExpired", "Denied", "Accepted", "Rejected", "MintingEnabled"] }, "KeySetInfo": { "type": "object", @@ -2131,34 +2083,6 @@ "description": "--------------------------- Perceived State", "enum": ["Online", "Offline", "Interim", "Rabid"] }, - "MintingStatus": { - "oneOf": [ - { - "type": "object", - "required": ["status"], - "properties": { - "status": { - "type": "string", - "enum": ["Disabled"] - } - } - }, - { - "type": "object", - "required": ["minted", "status"], - "properties": { - "minted": { - "$ref": "#/components/schemas/Amount" - }, - "status": { - "type": "string", - "enum": ["Enabled"] - } - } - } - ], - "description": "--------------------------- Look up quote" - }, "Notification": { "type": "object", "required": ["id", "notification_type", "description", "datetime", "active"], diff --git a/src/generated/client/@tanstack/react-query.gen.ts b/src/generated/client/@tanstack/react-query.gen.ts index 38f5e3b..8599365 100644 --- a/src/generated/client/@tanstack/react-query.gen.ts +++ b/src/generated/client/@tanstack/react-query.gen.ts @@ -3,8 +3,8 @@ import { type DefaultError, queryOptions, type UseMutationOptions } from '@tanstack/react-query'; import { client } from '../client.gen'; -import { getClowderAlphas, getClowderBetas, getClowderForeignCoverage, getClowderInfo, getClowderLocalCoverage, getClowderMystatus, getClowderStatus, getEbill, getEbillAttachment, getEbillEndorsements, getEbillMintComplete, getEbillPaymentstatus, getHealth, getIdentity, getKeysetInfo, getMintInfo, getMintopStatus, getQuote, getSatBalance, listEbills, listKeysetInfos, listMintops, listQuotes, type Options, postEbillReqtopay, postEnableQuoteMinting, postEnableRedemption, postTokenStatus, updateQuote } from '../sdk.gen'; -import type { GetClowderAlphasData, GetClowderAlphasResponse, GetClowderBetasData, GetClowderBetasResponse, GetClowderForeignCoverageData, GetClowderForeignCoverageResponse, GetClowderInfoData, GetClowderInfoResponse, GetClowderLocalCoverageData, GetClowderLocalCoverageResponse, GetClowderMystatusData, GetClowderMystatusResponse, GetClowderStatusData, GetClowderStatusResponse, GetEbillAttachmentData, GetEbillData, GetEbillEndorsementsData, GetEbillEndorsementsResponse, GetEbillMintCompleteData, GetEbillMintCompleteResponse, GetEbillPaymentstatusData, GetEbillPaymentstatusResponse, GetEbillResponse, GetHealthData, GetIdentityData, GetIdentityResponse, GetKeysetInfoData, GetKeysetInfoResponse, GetMintInfoData, GetMintInfoResponse, GetMintopStatusData, GetMintopStatusResponse, GetQuoteData, GetQuoteResponse, GetSatBalanceData, GetSatBalanceResponse, ListEbillsData, ListEbillsResponse, ListKeysetInfosData, ListKeysetInfosResponse, ListMintopsData, ListMintopsResponse, ListQuotesData, ListQuotesResponse, PostEbillReqtopayData, PostEbillReqtopayResponse, PostEnableQuoteMintingData, PostEnableQuoteMintingResponse, PostEnableRedemptionData, PostEnableRedemptionResponse, PostTokenStatusData, PostTokenStatusResponse, UpdateQuoteData, UpdateQuoteResponse2 } from '../types.gen'; +import { getClowderAlphas, getClowderBetas, getClowderForeignCoverage, getClowderInfo, getClowderLocalCoverage, getClowderMystatus, getClowderStatus, getEbill, getEbillAttachment, getEbillEndorsements, getEbillMintComplete, getEbillPaymentstatus, getHealth, getIdentity, getKeysetInfo, getMintInfo, getMintopStatus, getQuote, getSatBalance, listEbills, listKeysetInfos, listMintops, listQuotes, type Options, postEbillReqtopay, postEnableRedemption, postTokenStatus, updateQuote } from '../sdk.gen'; +import type { GetClowderAlphasData, GetClowderAlphasResponse, GetClowderBetasData, GetClowderBetasResponse, GetClowderForeignCoverageData, GetClowderForeignCoverageResponse, GetClowderInfoData, GetClowderInfoResponse, GetClowderLocalCoverageData, GetClowderLocalCoverageResponse, GetClowderMystatusData, GetClowderMystatusResponse, GetClowderStatusData, GetClowderStatusResponse, GetEbillAttachmentData, GetEbillData, GetEbillEndorsementsData, GetEbillEndorsementsResponse, GetEbillMintCompleteData, GetEbillMintCompleteResponse, GetEbillPaymentstatusData, GetEbillPaymentstatusResponse, GetEbillResponse, GetHealthData, GetIdentityData, GetIdentityResponse, GetKeysetInfoData, GetKeysetInfoResponse, GetMintInfoData, GetMintInfoResponse, GetMintopStatusData, GetMintopStatusResponse, GetQuoteData, GetQuoteResponse, GetSatBalanceData, GetSatBalanceResponse, ListEbillsData, ListEbillsResponse, ListKeysetInfosData, ListKeysetInfosResponse, ListMintopsData, ListMintopsResponse, ListQuotesData, ListQuotesResponse, PostEbillReqtopayData, PostEbillReqtopayResponse, PostEnableRedemptionData, PostEnableRedemptionResponse, PostTokenStatusData, PostTokenStatusResponse, UpdateQuoteData, UpdateQuoteResponse2 } from '../types.gen'; export type QueryKey = [ Pick & { @@ -143,6 +143,20 @@ export const postEnableRedemptionMutation = (options?: Partial>): UseMutationOptions> => { + const mutationOptions: UseMutationOptions> = { + mutationFn: async (fnOptions) => { + const { data } = await postTokenStatus({ + ...options, + ...fnOptions, + throwOnError: true + }); + return data; + } + }; + return mutationOptions; +}; + export const getQuoteQueryKey = (options: Options) => createQueryKey('getQuote', options); export const getQuoteOptions = (options: Options) => queryOptions>({ @@ -187,20 +201,6 @@ export const listQuotesOptions = (options?: Options) => queryOpt queryKey: listQuotesQueryKey(options) }); -export const postEnableQuoteMintingMutation = (options?: Partial>): UseMutationOptions> => { - const mutationOptions: UseMutationOptions> = { - mutationFn: async (fnOptions) => { - const { data } = await postEnableQuoteMinting({ - ...options, - ...fnOptions, - throwOnError: true - }); - return data; - } - }; - return mutationOptions; -}; - export const getIdentityQueryKey = (options?: Options) => createQueryKey('getIdentity', options); export const getIdentityOptions = (options?: Options) => queryOptions>({ @@ -431,9 +431,9 @@ export const getSatBalanceOptions = (options?: Options) => qu queryKey: getSatBalanceQueryKey(options) }); -export const getEbillMintCompleteQueryKey = (options: Options) => createQueryKey('getEbillMintComplete', options); +export const getEbillMintCompleteQueryKey = (options?: Options) => createQueryKey('getEbillMintComplete', options); -export const getEbillMintCompleteOptions = (options: Options) => queryOptions>({ +export const getEbillMintCompleteOptions = (options?: Options) => queryOptions>({ queryFn: async ({ queryKey, signal }) => { const { data } = await getEbillMintComplete({ ...options, @@ -445,17 +445,3 @@ export const getEbillMintCompleteOptions = (options: Options>): UseMutationOptions> => { - const mutationOptions: UseMutationOptions> = { - mutationFn: async (fnOptions) => { - const { data } = await postTokenStatus({ - ...options, - ...fnOptions, - throwOnError: true - }); - return data; - } - }; - return mutationOptions; -}; diff --git a/src/generated/client/client/client.gen.ts b/src/generated/client/client/client.gen.ts index c15117a..d2e55a1 100644 --- a/src/generated/client/client/client.gen.ts +++ b/src/generated/client/client/client.gen.ts @@ -225,6 +225,7 @@ export const createClient = (config: Config = {}): Client => { throw finalError; } + // TODO: we probably want to return error and improve types return opts.responseStyle === 'data' ? undefined : { diff --git a/src/generated/client/index.ts b/src/generated/client/index.ts index 7aa0f06..9a37dd4 100644 --- a/src/generated/client/index.ts +++ b/src/generated/client/index.ts @@ -1,4 +1,4 @@ // This file is auto-generated by @hey-api/openapi-ts -export { getClowderAlphas, getClowderBetas, getClowderForeignCoverage, getClowderInfo, getClowderLocalCoverage, getClowderMystatus, getClowderStatus, getEbill, getEbillAttachment, getEbillEndorsements, getEbillMintComplete, getEbillPaymentstatus, getHealth, getIdentity, getKeysetInfo, getMintInfo, getMintopStatus, getQuote, getSatBalance, listEbills, listKeysetInfos, listMintops, listQuotes, type Options, postEbillReqtopay, postEnableQuoteMinting, postEnableRedemption, postTokenStatus, updateQuote } from './sdk.gen'; -export type { AlphaStateResponse, Amount, BillAcceptanceStatus, BillAnonParticipant, BillCurrentWaitingState, BillData, BillIdentParticipant, BillInfo, BillMintStatus, BillParticipant, BillParticipants, BillPaymentStatus, BillRecourseStatus, BillSellStatus, BillStatus, BillWaitingForPaymentState, BillWaitingForRecourseState, BillWaitingForSellState, BillWaitingStatePaymentData, BitcreditBill, ClientOptions, ClowderNodeInfo, ConnectedMintResponse, ConnectedMintsResponse, ContactType, Coverage, CurrencyUnit, DeactivateKeysetRequest, DeactivateKeysetResponse, EbillPaymentComplete, ECashBalance, EnableMintingResponse, Endorsement, File, GetClowderAlphasData, GetClowderAlphasResponse, GetClowderAlphasResponses, GetClowderBetasData, GetClowderBetasResponse, GetClowderBetasResponses, GetClowderForeignCoverageData, GetClowderForeignCoverageErrors, GetClowderForeignCoverageResponse, GetClowderForeignCoverageResponses, GetClowderInfoData, GetClowderInfoResponse, GetClowderInfoResponses, GetClowderLocalCoverageData, GetClowderLocalCoverageResponse, GetClowderLocalCoverageResponses, GetClowderMystatusData, GetClowderMystatusResponse, GetClowderMystatusResponses, GetClowderStatusData, GetClowderStatusErrors, GetClowderStatusResponse, GetClowderStatusResponses, GetEbillAttachmentData, GetEbillAttachmentErrors, GetEbillAttachmentResponses, GetEbillData, GetEbillEndorsementsData, GetEbillEndorsementsErrors, GetEbillEndorsementsResponse, GetEbillEndorsementsResponses, GetEbillErrors, GetEbillMintCompleteData, GetEbillMintCompleteErrors, GetEbillMintCompleteResponse, GetEbillMintCompleteResponses, GetEbillPaymentstatusData, GetEbillPaymentstatusErrors, GetEbillPaymentstatusResponse, GetEbillPaymentstatusResponses, GetEbillResponse, GetEbillResponses, GetHealthData, GetHealthResponses, GetIdentityData, GetIdentityResponse, GetIdentityResponses, GetKeysetInfoData, GetKeysetInfoErrors, GetKeysetInfoResponse, GetKeysetInfoResponses, GetMintInfoData, GetMintInfoResponse, GetMintInfoResponses, GetMintopStatusData, GetMintopStatusErrors, GetMintopStatusResponse, GetMintopStatusResponses, GetQuoteData, GetQuoteErrors, GetQuoteResponse, GetQuoteResponses, GetSatBalanceData, GetSatBalanceResponse, GetSatBalanceResponses, Id, IdBytes, Identity, InfoReply, InfoReplyDiscriminants, KeySetInfo, KeySetVersion, LightBillAnonParticipant, LightBillIdentParticipant, LightBillIdentParticipantWithAddress, LightBillParticipant, LightInfo, LightSignedBy, ListEbillsData, ListEbillsResponse, ListEbillsResponses, ListKeysetInfosData, ListKeysetInfosResponse, ListKeysetInfosResponses, ListMintopsData, ListMintopsErrors, ListMintopsResponse, ListMintopsResponses, ListQuotesData, ListQuotesResponse, ListQuotesResponses, ListReplyLight, ListSort, MintingStatus, MintOperationStatus, MintState, Notification, NotificationType, OptionalPostalAddress, PerceivedState, PostalAddress, PostEbillReqtopayData, PostEbillReqtopayErrors, PostEbillReqtopayResponse, PostEbillReqtopayResponses, PostEnableQuoteMintingData, PostEnableQuoteMintingErrors, PostEnableQuoteMintingResponse, PostEnableQuoteMintingResponses, PostEnableRedemptionData, PostEnableRedemptionErrors, PostEnableRedemptionResponse, PostEnableRedemptionResponses, PostTokenStatusData, PostTokenStatusResponse, PostTokenStatusResponses, PublicKey, RequestToMintFromEBillRequest, RequestToMintFromEBillResponse, SimpleAlphaState, SimplifiedBillPaymentStatus, TokenState, TokenStateRequest, TokenStateResponse, UpdateQuoteData, UpdateQuoteErrors, UpdateQuoteRequest, UpdateQuoteResponse, UpdateQuoteResponse2, UpdateQuoteResponses, VersionInfo, WildcatInfo } from './types.gen'; +export { getClowderAlphas, getClowderBetas, getClowderForeignCoverage, getClowderInfo, getClowderLocalCoverage, getClowderMystatus, getClowderStatus, getEbill, getEbillAttachment, getEbillEndorsements, getEbillMintComplete, getEbillPaymentstatus, getHealth, getIdentity, getKeysetInfo, getMintInfo, getMintopStatus, getQuote, getSatBalance, listEbills, listKeysetInfos, listMintops, listQuotes, type Options, postEbillReqtopay, postEnableRedemption, postTokenStatus, updateQuote } from './sdk.gen'; +export type { AlphaStateResponse, Amount, BillAcceptanceStatus, BillAnonParticipant, BillCurrentWaitingState, BillData, BillIdentParticipant, BillInfo, BillMintStatus, BillParticipant, BillParticipants, BillPaymentStatus, BillRecourseStatus, BillSellStatus, BillStatus, BillWaitingForPaymentState, BillWaitingForRecourseState, BillWaitingForSellState, BillWaitingStatePaymentData, BitcreditBill, ClientOptions, ClowderNodeInfo, ConnectedMintResponse, ConnectedMintsResponse, ContactType, Coverage, CurrencyUnit, DeactivateKeysetRequest, DeactivateKeysetResponse, EbillPaymentComplete, ECashBalance, Endorsement, File, GetClowderAlphasData, GetClowderAlphasResponse, GetClowderAlphasResponses, GetClowderBetasData, GetClowderBetasResponse, GetClowderBetasResponses, GetClowderForeignCoverageData, GetClowderForeignCoverageErrors, GetClowderForeignCoverageResponse, GetClowderForeignCoverageResponses, GetClowderInfoData, GetClowderInfoResponse, GetClowderInfoResponses, GetClowderLocalCoverageData, GetClowderLocalCoverageResponse, GetClowderLocalCoverageResponses, GetClowderMystatusData, GetClowderMystatusResponse, GetClowderMystatusResponses, GetClowderStatusData, GetClowderStatusErrors, GetClowderStatusResponse, GetClowderStatusResponses, GetEbillAttachmentData, GetEbillAttachmentErrors, GetEbillAttachmentResponses, GetEbillData, GetEbillEndorsementsData, GetEbillEndorsementsErrors, GetEbillEndorsementsResponse, GetEbillEndorsementsResponses, GetEbillErrors, GetEbillMintCompleteData, GetEbillMintCompleteErrors, GetEbillMintCompleteResponse, GetEbillMintCompleteResponses, GetEbillPaymentstatusData, GetEbillPaymentstatusErrors, GetEbillPaymentstatusResponse, GetEbillPaymentstatusResponses, GetEbillResponse, GetEbillResponses, GetHealthData, GetHealthResponses, GetIdentityData, GetIdentityResponse, GetIdentityResponses, GetKeysetInfoData, GetKeysetInfoErrors, GetKeysetInfoResponse, GetKeysetInfoResponses, GetMintInfoData, GetMintInfoResponse, GetMintInfoResponses, GetMintopStatusData, GetMintopStatusErrors, GetMintopStatusResponse, GetMintopStatusResponses, GetQuoteData, GetQuoteErrors, GetQuoteResponse, GetQuoteResponses, GetSatBalanceData, GetSatBalanceResponse, GetSatBalanceResponses, Id, IdBytes, Identity, InfoReply, InfoReplyDiscriminants, KeySetInfo, KeySetVersion, LightBillAnonParticipant, LightBillIdentParticipant, LightBillIdentParticipantWithAddress, LightBillParticipant, LightInfo, LightSignedBy, ListEbillsData, ListEbillsResponse, ListEbillsResponses, ListKeysetInfosData, ListKeysetInfosResponse, ListKeysetInfosResponses, ListMintopsData, ListMintopsErrors, ListMintopsResponse, ListMintopsResponses, ListQuotesData, ListQuotesResponse, ListQuotesResponses, ListReplyLight, ListSort, MintOperationStatus, MintState, Notification, NotificationType, OptionalPostalAddress, PerceivedState, PostalAddress, PostEbillReqtopayData, PostEbillReqtopayErrors, PostEbillReqtopayResponse, PostEbillReqtopayResponses, PostEnableRedemptionData, PostEnableRedemptionErrors, PostEnableRedemptionResponse, PostEnableRedemptionResponses, PostTokenStatusData, PostTokenStatusResponse, PostTokenStatusResponses, PublicKey, RequestToMintFromEBillRequest, RequestToMintFromEBillResponse, SimpleAlphaState, SimplifiedBillPaymentStatus, TokenState, TokenStateRequest, TokenStateResponse, UpdateQuoteData, UpdateQuoteErrors, UpdateQuoteRequest, UpdateQuoteResponse, UpdateQuoteResponse2, UpdateQuoteResponses, VersionInfo, WildcatInfo } from './types.gen'; diff --git a/src/generated/client/sdk.gen.ts b/src/generated/client/sdk.gen.ts index 9d9fcd1..29865e8 100644 --- a/src/generated/client/sdk.gen.ts +++ b/src/generated/client/sdk.gen.ts @@ -2,7 +2,7 @@ import type { Client, Options as Options2, TDataShape } from './client'; import { client } from './client.gen'; -import type { GetClowderAlphasData, GetClowderAlphasResponses, GetClowderBetasData, GetClowderBetasResponses, GetClowderForeignCoverageData, GetClowderForeignCoverageErrors, GetClowderForeignCoverageResponses, GetClowderInfoData, GetClowderInfoResponses, GetClowderLocalCoverageData, GetClowderLocalCoverageResponses, GetClowderMystatusData, GetClowderMystatusResponses, GetClowderStatusData, GetClowderStatusErrors, GetClowderStatusResponses, GetEbillAttachmentData, GetEbillAttachmentErrors, GetEbillAttachmentResponses, GetEbillData, GetEbillEndorsementsData, GetEbillEndorsementsErrors, GetEbillEndorsementsResponses, GetEbillErrors, GetEbillMintCompleteData, GetEbillMintCompleteErrors, GetEbillMintCompleteResponses, GetEbillPaymentstatusData, GetEbillPaymentstatusErrors, GetEbillPaymentstatusResponses, GetEbillResponses, GetHealthData, GetHealthResponses, GetIdentityData, GetIdentityResponses, GetKeysetInfoData, GetKeysetInfoErrors, GetKeysetInfoResponses, GetMintInfoData, GetMintInfoResponses, GetMintopStatusData, GetMintopStatusErrors, GetMintopStatusResponses, GetQuoteData, GetQuoteErrors, GetQuoteResponses, GetSatBalanceData, GetSatBalanceResponses, ListEbillsData, ListEbillsResponses, ListKeysetInfosData, ListKeysetInfosResponses, ListMintopsData, ListMintopsErrors, ListMintopsResponses, ListQuotesData, ListQuotesResponses, PostEbillReqtopayData, PostEbillReqtopayErrors, PostEbillReqtopayResponses, PostEnableQuoteMintingData, PostEnableQuoteMintingErrors, PostEnableQuoteMintingResponses, PostEnableRedemptionData, PostEnableRedemptionErrors, PostEnableRedemptionResponses, PostTokenStatusData, PostTokenStatusResponses, UpdateQuoteData, UpdateQuoteErrors, UpdateQuoteResponses } from './types.gen'; +import type { GetClowderAlphasData, GetClowderAlphasResponses, GetClowderBetasData, GetClowderBetasResponses, GetClowderForeignCoverageData, GetClowderForeignCoverageErrors, GetClowderForeignCoverageResponses, GetClowderInfoData, GetClowderInfoResponses, GetClowderLocalCoverageData, GetClowderLocalCoverageResponses, GetClowderMystatusData, GetClowderMystatusResponses, GetClowderStatusData, GetClowderStatusErrors, GetClowderStatusResponses, GetEbillAttachmentData, GetEbillAttachmentErrors, GetEbillAttachmentResponses, GetEbillData, GetEbillEndorsementsData, GetEbillEndorsementsErrors, GetEbillEndorsementsResponses, GetEbillErrors, GetEbillMintCompleteData, GetEbillMintCompleteErrors, GetEbillMintCompleteResponses, GetEbillPaymentstatusData, GetEbillPaymentstatusErrors, GetEbillPaymentstatusResponses, GetEbillResponses, GetHealthData, GetHealthResponses, GetIdentityData, GetIdentityResponses, GetKeysetInfoData, GetKeysetInfoErrors, GetKeysetInfoResponses, GetMintInfoData, GetMintInfoResponses, GetMintopStatusData, GetMintopStatusErrors, GetMintopStatusResponses, GetQuoteData, GetQuoteErrors, GetQuoteResponses, GetSatBalanceData, GetSatBalanceResponses, ListEbillsData, ListEbillsResponses, ListKeysetInfosData, ListKeysetInfosResponses, ListMintopsData, ListMintopsErrors, ListMintopsResponses, ListQuotesData, ListQuotesResponses, PostEbillReqtopayData, PostEbillReqtopayErrors, PostEbillReqtopayResponses, PostEnableRedemptionData, PostEnableRedemptionErrors, PostEnableRedemptionResponses, PostTokenStatusData, PostTokenStatusResponses, UpdateQuoteData, UpdateQuoteErrors, UpdateQuoteResponses } from './types.gen'; export type Options = Options2 & { /** @@ -39,6 +39,15 @@ export const postEnableRedemption = (optio } }); +export const postTokenStatus = (options: Options) => (options.client ?? client).post({ + url: '/v1/admin/credit/token_status', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } +}); + export const getQuote = (options: Options) => (options.client ?? client).get({ url: '/v1/admin/credit/quote/{qid}', ...options }); export const updateQuote = (options: Options) => (options.client ?? client).put({ @@ -52,8 +61,6 @@ export const updateQuote = (options: Optio export const listQuotes = (options?: Options) => (options?.client ?? client).get({ url: '/v1/admin/credit/quote', ...options }); -export const postEnableQuoteMinting = (options: Options) => (options.client ?? client).post({ url: '/v1/admin/credit/quote/enable_mint/{qid}', ...options }); - export const getIdentity = (options?: Options) => (options?.client ?? client).get({ url: '/v1/admin/ebill/identity', ...options }); export const getEbill = (options: Options) => (options.client ?? client).get({ url: '/v1/admin/ebill/bills/{bid}', ...options }); @@ -97,13 +104,4 @@ export const postEbillReqtopay = (options: export const getSatBalance = (options?: Options) => (options?.client ?? client).get({ url: '/v1/admin/treasury/balance/sat', ...options }); -export const getEbillMintComplete = (options: Options) => (options.client ?? client).get({ url: '/v1/admin/treasury/ebill/payment_complete/{bid}', ...options }); - -export const postTokenStatus = (options: Options) => (options.client ?? client).post({ - url: '/v1/admin/credit/token_status', - ...options, - headers: { - 'Content-Type': 'application/json', - ...options.headers - } -}); +export const getEbillMintComplete = (options?: Options) => (options?.client ?? client).get({ url: '/v1/admin/treasury/ebill/payment_complete/{bid}', ...options }); diff --git a/src/generated/client/types.gen.ts b/src/generated/client/types.gen.ts index 1266f4d..641c23b 100644 --- a/src/generated/client/types.gen.ts +++ b/src/generated/client/types.gen.ts @@ -239,10 +239,6 @@ export type EbillPaymentComplete = { complete: boolean; }; -export type EnableMintingResponse = { - [key: string]: unknown; -}; - export type Endorsement = { pay_to_the_order_of: LightBillParticipant; signed: LightSignedBy; @@ -347,12 +343,11 @@ export type InfoReply = { bill: BillInfo; keyset_id: Id; discounted: number; - minting_status: MintingStatus; fee: string; - status: 'Minting'; + status: 'MintingEnabled'; }; -export type InfoReplyDiscriminants = 'Pending' | 'Canceled' | 'Offered' | 'OfferExpired' | 'Denied' | 'Accepted' | 'Rejected' | 'Minting'; +export type InfoReplyDiscriminants = 'Pending' | 'Canceled' | 'Offered' | 'OfferExpired' | 'Denied' | 'Accepted' | 'Rejected' | 'MintingEnabled'; /** * KeySetInfo @@ -440,16 +435,6 @@ export type MintOperationStatus = { */ export type MintState = 'Online' | 'Offline' | 'Interim' | 'Rabid'; -/** - * --------------------------- Look up quote - */ -export type MintingStatus = { - status: 'Disabled'; -} | { - minted: Amount; - status: 'Enabled'; -}; - export type Notification = { id: string; node_id?: string | null; @@ -785,6 +770,22 @@ export type PostEnableRedemptionResponses = { export type PostEnableRedemptionResponse = PostEnableRedemptionResponses[keyof PostEnableRedemptionResponses]; +export type PostTokenStatusData = { + body: TokenStateRequest; + path?: never; + query?: never; + url: '/v1/admin/credit/token_status'; +}; + +export type PostTokenStatusResponses = { + /** + * Successful response + */ + 200: TokenStateResponse; +}; + +export type PostTokenStatusResponse = PostTokenStatusResponses[keyof PostTokenStatusResponses]; + export type GetQuoteData = { body?: never; path: { @@ -867,34 +868,6 @@ export type ListQuotesResponses = { export type ListQuotesResponse = ListQuotesResponses[keyof ListQuotesResponses]; -export type PostEnableQuoteMintingData = { - body?: never; - path: { - /** - * The quote id - */ - qid: string; - }; - query?: never; - url: '/v1/admin/credit/quote/enable_mint/{qid}'; -}; - -export type PostEnableQuoteMintingErrors = { - /** - * quote id not found - */ - 404: unknown; -}; - -export type PostEnableQuoteMintingResponses = { - /** - * Successful response - */ - 200: EnableMintingResponse; -}; - -export type PostEnableQuoteMintingResponse = PostEnableQuoteMintingResponses[keyof PostEnableQuoteMintingResponses]; - export type GetIdentityData = { body?: never; path?: never; @@ -1218,9 +1191,7 @@ export type GetSatBalanceResponse = GetSatBalanceResponses[keyof GetSatBalanceRe export type GetEbillMintCompleteData = { body?: never; - path: { - bid: string; - }; + path?: never; query?: never; url: '/v1/admin/treasury/ebill/payment_complete/{bid}'; }; @@ -1240,19 +1211,3 @@ export type GetEbillMintCompleteResponses = { }; export type GetEbillMintCompleteResponse = GetEbillMintCompleteResponses[keyof GetEbillMintCompleteResponses]; - -export type PostTokenStatusData = { - body: TokenStateRequest; - path?: never; - query?: never; - url: '/v1/admin/credit/token_status'; -}; - -export type PostTokenStatusResponses = { - /** - * Successful response - */ - 200: TokenStateResponse; -}; - -export type PostTokenStatusResponse = PostTokenStatusResponses[keyof PostTokenStatusResponses]; diff --git a/src/pages/quotes/QuoteActions.tsx b/src/pages/quotes/QuoteActions.tsx index 0f0fc48..5677834 100644 --- a/src/pages/quotes/QuoteActions.tsx +++ b/src/pages/quotes/QuoteActions.tsx @@ -2,7 +2,6 @@ import { useState } from "react" import { useQuery } from "@tanstack/react-query" import { LoaderIcon } from "lucide-react" import { Button } from "@/components/ui/button" -import { ConfirmDrawer } from "@/components/Drawers" import { getEbillOptions } from "@/generated/client/@tanstack/react-query.gen" import type { InfoReply, BillWaitingStatePaymentData } from "@/generated/client/types.gen" import { OfferFormDrawer, type OfferFormResult } from "./components/OfferFormDrawer.tsx" @@ -17,7 +16,6 @@ import { useIntl } from "react-intl" interface QuoteActionsProps { value: InfoReply isFetching: boolean - mintingEnabled: boolean ebillPaid: boolean isMintComplete: boolean requestedToPay: boolean @@ -28,7 +26,6 @@ interface QuoteActionsProps { export function QuoteActions({ value, isFetching, - mintingEnabled, ebillPaid, isMintComplete, requestedToPay, @@ -66,7 +63,6 @@ export function QuoteActions({ const [offerFormDrawerOpen, setOfferFormDrawerOpen] = useState(false) const [offerConfirmDrawerOpen, setOfferConfirmDrawerOpen] = useState(false) const [denyConfirmDrawerOpen, setDenyConfirmDrawerOpen] = useState(false) - const [enableMintingConfirmDrawerOpen, setEnableMintingConfirmDrawerOpen] = useState(false) const [requestToPayConfirmDrawerOpen, setRequestToPayConfirmDrawerOpen] = useState(false) const denyTitle = intl.formatMessage({ @@ -89,31 +85,12 @@ export function QuoteActions({ id: "quotes.actions.offer.button", defaultMessage: "Offer", }) - const enableMintingTitle = intl.formatMessage({ - id: "quotes.actions.enableMinting.title", - defaultMessage: "Confirm enabling minting", - }) - const enableMintingDescription = intl.formatMessage({ - id: "quotes.actions.enableMinting.description", - defaultMessage: "Are you sure you want to enable minting for this quote?", - }) - const enableMintingConfirmLabel = intl.formatMessage({ - id: "quotes.actions.enableMinting.confirmButton", - defaultMessage: "Yes, enable minting", - }) - const enableMintingButtonLabel = intl.formatMessage({ - id: "quotes.actions.enableMinting.button", - defaultMessage: "Enable minting", - }) - const { denyQuote, offerQuote, - enableMintingMutation, requestToPayMutation, handleDenyQuote, handleOfferQuote, - handleEnableMinting, handleRequestToPay, } = useQuoteMutations(value.id, billId) @@ -167,31 +144,6 @@ export function QuoteActions({ quoteId={value.id} /> - {value.status === "Accepted" && "keyset_id" in value && ebill && !mintingEnabled && ( -
- { - handleEnableMinting() - setEnableMintingConfirmDrawerOpen(false) - }} - submitButtonText={enableMintingConfirmLabel} - trigger={ - - } - /> -
- )} {(quoteStatus === "Accepted" || quoteStatus === "Minting" || quoteStatus === "MintingEnabled") && "keyset_id" in value && ebill && diff --git a/src/pages/quotes/QuotePage.tsx b/src/pages/quotes/QuotePage.tsx index 586596c..99cf00b 100644 --- a/src/pages/quotes/QuotePage.tsx +++ b/src/pages/quotes/QuotePage.tsx @@ -510,7 +510,6 @@ function PageBody({ id }: { id: string }) { { - toast.loading("Enabling minting…", { id: `quote-${quoteId}-enable-minting` }) - }, - onSettled: () => { - toast.dismiss(`quote-${quoteId}-enable-minting`) - }, - onError: (error) => { - toast.error(`Error while enabling minting: ${getApiErrorMessage(error)}`) - console.warn(error) - }, - onSuccess: () => { - toast.success("Minting has been enabled.") - void queryClient.invalidateQueries() - }, - }) - const requestToPayMutation = useMutation({ ...postEbillReqtopayMutation(), onMutate: () => { @@ -108,12 +89,6 @@ export function useQuoteMutations(quoteId: string, billId: string) { }) } - const handleEnableMinting = () => { - enableMintingMutation.mutate({ - path: { qid: quoteId }, - }) - } - const handleRequestToPay = (billSum: number, deadline: Date) => { requestToPayMutation.mutate({ body: { @@ -127,11 +102,9 @@ export function useQuoteMutations(quoteId: string, billId: string) { return { denyQuote, offerQuote, - enableMintingMutation, requestToPayMutation, handleDenyQuote, handleOfferQuote, - handleEnableMinting, handleRequestToPay, } } From a0bd9740ac30de7de59892acc7aa0b31357aad25 Mon Sep 17 00:00:00 2001 From: JulianVIE Date: Wed, 4 Mar 2026 13:33:11 +0100 Subject: [PATCH 2/3] #237 remove enable minting button --- src/pages/quotes/QuoteActions.tsx | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/pages/quotes/QuoteActions.tsx b/src/pages/quotes/QuoteActions.tsx index 5677834..6713cc0 100644 --- a/src/pages/quotes/QuoteActions.tsx +++ b/src/pages/quotes/QuoteActions.tsx @@ -85,14 +85,8 @@ export function QuoteActions({ id: "quotes.actions.offer.button", defaultMessage: "Offer", }) - const { - denyQuote, - offerQuote, - requestToPayMutation, - handleDenyQuote, - handleOfferQuote, - handleRequestToPay, - } = useQuoteMutations(value.id, billId) + const { denyQuote, offerQuote, requestToPayMutation, handleDenyQuote, handleOfferQuote, handleRequestToPay } = + useQuoteMutations(value.id, billId) return ( <> From 346440b01483dd01d885b2da479b3dd31f7942b3 Mon Sep 17 00:00:00 2001 From: JulianVIE Date: Wed, 4 Mar 2026 13:42:27 +0100 Subject: [PATCH 3/3] #237 remove enable minting button --- .gitignore | 1 + opt/wildcat/openapi.json | 10 ++++++++ .../client/@tanstack/react-query.gen.ts | 4 +-- src/generated/client/sdk.gen.ts | 2 +- src/generated/client/types.gen.ts | 4 ++- src/pages/quotes/QuoteActions.tsx | 2 +- src/pages/quotes/QuotePage.tsx | 25 ++++++++----------- src/pages/quotes/StatusQuotePage.tsx | 1 - 8 files changed, 28 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 8d2de49..f2adf11 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ tsconfig.node.tsbuildinfo # Backup directories /opt/wildcat/backup +/opt/wildcat/backup/ diff --git a/opt/wildcat/openapi.json b/opt/wildcat/openapi.json index 7e9b275..7e6b3b7 100644 --- a/opt/wildcat/openapi.json +++ b/opt/wildcat/openapi.json @@ -785,6 +785,16 @@ "get": { "tags": ["admin"], "operationId": "get_ebill_mint_complete", + "parameters": [ + { + "name": "bid", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], "responses": { "200": { "description": "Successful response", diff --git a/src/generated/client/@tanstack/react-query.gen.ts b/src/generated/client/@tanstack/react-query.gen.ts index 8599365..b7fabb0 100644 --- a/src/generated/client/@tanstack/react-query.gen.ts +++ b/src/generated/client/@tanstack/react-query.gen.ts @@ -431,9 +431,9 @@ export const getSatBalanceOptions = (options?: Options) => qu queryKey: getSatBalanceQueryKey(options) }); -export const getEbillMintCompleteQueryKey = (options?: Options) => createQueryKey('getEbillMintComplete', options); +export const getEbillMintCompleteQueryKey = (options: Options) => createQueryKey('getEbillMintComplete', options); -export const getEbillMintCompleteOptions = (options?: Options) => queryOptions>({ +export const getEbillMintCompleteOptions = (options: Options) => queryOptions>({ queryFn: async ({ queryKey, signal }) => { const { data } = await getEbillMintComplete({ ...options, diff --git a/src/generated/client/sdk.gen.ts b/src/generated/client/sdk.gen.ts index 29865e8..9c7e282 100644 --- a/src/generated/client/sdk.gen.ts +++ b/src/generated/client/sdk.gen.ts @@ -104,4 +104,4 @@ export const postEbillReqtopay = (options: export const getSatBalance = (options?: Options) => (options?.client ?? client).get({ url: '/v1/admin/treasury/balance/sat', ...options }); -export const getEbillMintComplete = (options?: Options) => (options?.client ?? client).get({ url: '/v1/admin/treasury/ebill/payment_complete/{bid}', ...options }); +export const getEbillMintComplete = (options: Options) => (options.client ?? client).get({ url: '/v1/admin/treasury/ebill/payment_complete/{bid}', ...options }); diff --git a/src/generated/client/types.gen.ts b/src/generated/client/types.gen.ts index 641c23b..47a2289 100644 --- a/src/generated/client/types.gen.ts +++ b/src/generated/client/types.gen.ts @@ -1191,7 +1191,9 @@ export type GetSatBalanceResponse = GetSatBalanceResponses[keyof GetSatBalanceRe export type GetEbillMintCompleteData = { body?: never; - path?: never; + path: { + bid: string; + }; query?: never; url: '/v1/admin/treasury/ebill/payment_complete/{bid}'; }; diff --git a/src/pages/quotes/QuoteActions.tsx b/src/pages/quotes/QuoteActions.tsx index 6713cc0..1edabd7 100644 --- a/src/pages/quotes/QuoteActions.tsx +++ b/src/pages/quotes/QuoteActions.tsx @@ -138,7 +138,7 @@ export function QuoteActions({ quoteId={value.id} /> - {(quoteStatus === "Accepted" || quoteStatus === "Minting" || quoteStatus === "MintingEnabled") && + {(quoteStatus === "Accepted" || quoteStatus === "MintingEnabled") && "keyset_id" in value && ebill && !ebillPaidEff && diff --git a/src/pages/quotes/QuotePage.tsx b/src/pages/quotes/QuotePage.tsx index 99cf00b..b9322a8 100644 --- a/src/pages/quotes/QuotePage.tsx +++ b/src/pages/quotes/QuotePage.tsx @@ -77,8 +77,7 @@ function PageBody({ id }: { id: string }) { const ebill = ebillsQuery.data?.find((item) => item.id === billId) const isPaid = ebill?.status?.payment?.paid === true - const shouldCheckMintComplete = - quoteStatus === "Accepted" || quoteStatus === "Minting" || quoteStatus === "MintingEnabled" || isPaid + const shouldCheckMintComplete = quoteStatus === "Accepted" || quoteStatus === "MintingEnabled" || isPaid const feeTokenRequestRef = useRef(null) @@ -124,7 +123,7 @@ function PageBody({ id }: { id: string }) { const quoteStatusForEffect = quoteData?.status useEffect(() => { - if (!feeTokenFromQuote || quoteStatusForEffect !== "Minting") { + if (!feeTokenFromQuote || quoteStatusForEffect !== "MintingEnabled") { return } @@ -176,6 +175,7 @@ function PageBody({ id }: { id: string }) { const quote = quoteData! const bill = quote?.bill const quoteStatusValue = quote.status as string + const feeToken = "fee" in quote && typeof quote.fee === "string" ? quote.fee : null const billStatus = ebill?.status const paymentStatus = billStatus?.payment @@ -192,7 +192,7 @@ function PageBody({ id }: { id: string }) { const timeOfRequestToPay = paymentStatus?.time_of_request_to_pay ?? null const isInMempool = cws && "Payment" in cws && cws.Payment.payment_data?.in_mempool === true - const showPayment = quoteStatus === "Accepted" || quoteStatus === "Minting" || quoteStatus === "MintingEnabled" + const showPayment = quoteStatus === "Accepted" || quoteStatus === "MintingEnabled" if (!quote || !bill) { return ( @@ -382,7 +382,7 @@ function PageBody({ id }: { id: string }) { )} - {quote.status === "Minting" && "fee" in quote && ( + {quote.status === "MintingEnabled" && feeToken && (
{intl.formatMessage({ @@ -391,12 +391,12 @@ function PageBody({ id }: { id: string }) { })} - + {isFeeTokenStatusPending ? ( {intl.formatMessage({ @@ -536,12 +536,9 @@ function PageBody({ id }: { id: string }) { rejectionTimestamp={ ebill?.status?.acceptance?.rejected_to_accept ? (ebill?.status?.last_block_time ?? undefined) : undefined } - mintingEnabled={quoteStatusValue === "Minting" || quoteStatusValue === "MintingEnabled"} + mintingEnabled={quoteStatusValue === "MintingEnabled"} quoteOffered={ - quoteStatusValue === "Offered" || - quoteStatusValue === "Accepted" || - quoteStatusValue === "Minting" || - quoteStatusValue === "MintingEnabled" + quoteStatusValue === "Offered" || quoteStatusValue === "Accepted" || quoteStatusValue === "MintingEnabled" } offeredTimestamp={ "submitted" in quote @@ -574,9 +571,7 @@ export default function QuotePage() { const quoteDataStatus = quoteData?.status as string | undefined const hasKeysetId = - quoteData && - (quoteDataStatus === "Accepted" || quoteDataStatus === "Minting" || quoteDataStatus === "MintingEnabled") && - "keyset_id" in quoteData + quoteData && (quoteDataStatus === "Accepted" || quoteDataStatus === "MintingEnabled") && "keyset_id" in quoteData return ( <> diff --git a/src/pages/quotes/StatusQuotePage.tsx b/src/pages/quotes/StatusQuotePage.tsx index 85699f2..6fb76eb 100644 --- a/src/pages/quotes/StatusQuotePage.tsx +++ b/src/pages/quotes/StatusQuotePage.tsx @@ -30,7 +30,6 @@ type QuoteStatus = | "Pending" | "Rejected" | "Canceled" - | "Minting" | "MintingEnabled" type SortBy = "status-asc" | "status-desc" | "sum-asc" | "sum-desc" | "maturity-asc" | "maturity-desc"