Skip to main content
Glama
assetStatus.ts•2.96 kB
export enum AssetSVCStatus { MEDIA_UPLOAD_INITIALIZING = 0, MEDIA_UPLOADING = 1, MEDIA_VERIFYING = 2, MEDIA_CONFIRMING = 3, MEDIA_CONFIRMED = 4, META_UPLOAD_INITIALIZING = 5, META_UPLOADING = 6, META_VERIFYING = 7, META_CONFIRMING = 8, META_CONFIRMED = 9, NFT_INITIALIZING = 10, NFT_SIGNING = 11, NFT_MINTING = 12, NFT_CONFIRMED = 13, NFT_ALL_BLOCK_CONFIRMED = 14, } export enum UploadStatus { MEDIA_UPLOAD_INITIALIZING = "MEDIA_UPLOAD_INITIALIZING", MEDIA_UPLOADING = "MEDIA_UPLOADING", MEDIA_VERIFYING = "MEDIA_VERIFYING", MEDIA_CONFIRMING = "MEDIA_CONFIRMING", MEDIA_CONFIRMED = "MEDIA_CONFIRMED", META_UPLOAD_INITIALIZING = "META_UPLOAD_INITIALIZING", META_UPLOADING = "META_UPLOADING", META_VERIFYING = "META_VERIFYING", META_CONFIRMING = "META_CONFIRMING", META_CONFIRMED = "META_CONFIRMED", NFT_INITIALIZING = "NFT_INITIALIZING", NFT_SIGNING = "NFT_SIGNING", NFT_MINTING = "NFT_MINTING", NFT_CONFIRMED = "NFT_CONFIRMED", NFT_ALL_BLOCK_CONFIRMED = "NFT_ALL_BLOCK_CONFIRMED", } export const transformSvcStatusToDbStatus = (status: AssetSVCStatus): UploadStatus => { const statusKey = AssetSVCStatus[status]; if (!statusKey || statusKey === "UNRECOGNIZED") { throw new Error("UNRECOGNIZED_ASSET_STATUS"); } return UploadStatus[statusKey as keyof typeof UploadStatus]; }; export const getAssetStatusText = (status: AssetSVCStatus): string => { const dbStatus = transformSvcStatusToDbStatus(status); switch (dbStatus) { case UploadStatus.MEDIA_UPLOAD_INITIALIZING: return "Initializing permanentizer..."; case UploadStatus.MEDIA_UPLOADING: return "Uploading media..."; case UploadStatus.MEDIA_VERIFYING: return "Verifying upload..."; case UploadStatus.MEDIA_CONFIRMING: return "Confirming..."; case UploadStatus.MEDIA_CONFIRMED: return "Irreversible upload finalized."; case UploadStatus.META_UPLOAD_INITIALIZING: return "Initializing permanentizer..."; case UploadStatus.META_UPLOADING: return "Uploading metadata..."; case UploadStatus.META_VERIFYING: return "Verifying upload..."; case UploadStatus.META_CONFIRMING: return "Confirming..."; case UploadStatus.META_CONFIRMED: return "Irreversible upload finalized."; case UploadStatus.NFT_INITIALIZING: return "Mapping smart-contract methods..."; case UploadStatus.NFT_SIGNING: return "Signing Transaction..."; case UploadStatus.NFT_MINTING: return "Minting NFT..."; case UploadStatus.NFT_CONFIRMED: return "NFT minted."; case UploadStatus.NFT_ALL_BLOCK_CONFIRMED: return "All blocks confirmed."; default: return "Unknown status"; } }; export const isAssetMinted = (status: AssetSVCStatus): boolean => { const dbStatus = transformSvcStatusToDbStatus(status); return dbStatus === UploadStatus.NFT_CONFIRMED || dbStatus === UploadStatus.NFT_ALL_BLOCK_CONFIRMED; };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xkelxmc/uranium-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server