UNPKG

@layerzerolabs/hyperliquid-composer

Version:

LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation for Hyperliquid

47 lines (37 loc) 2 kB
import { createModuleLogger, setDefaultLogLevel } from '@layerzerolabs/io-devtools' import { getSpotPairDeployAuctionStatus } from '@/operations' import { LOGGER_MODULES } from '@/types/cli-constants' import { BaseArgs } from '@/types' export async function spotAuctionStatus(args: BaseArgs): Promise<void> { setDefaultLogLevel(args.logLevel) const logger = createModuleLogger(LOGGER_MODULES.SPOT_AUCTION_STATUS, args.logLevel) const isTestnet = args.network === 'testnet' logger.verbose(`Fetching spot pair deploy auction status for ${isTestnet ? 'testnet' : 'mainnet'}`) try { const auctionStatus = await getSpotPairDeployAuctionStatus(isTestnet, args.logLevel) logger.info(`Spot Pair Deploy Auction Status:`) logger.info('='.repeat(50)) const startDate = new Date(auctionStatus.startTimeSeconds * 1000) const endDate = new Date((auctionStatus.startTimeSeconds + auctionStatus.durationSeconds) * 1000) const now = new Date() const isActive = now >= startDate && now <= endDate logger.info(`Start Time: ${startDate.toISOString()}`) logger.info(`End Time: ${endDate.toISOString()}`) logger.info( `Duration: ${auctionStatus.durationSeconds} seconds (${Math.round(auctionStatus.durationSeconds / 3600)} hours)` ) logger.info(`Status: ${isActive ? 'Active' : 'Inactive'}`) logger.info(`Start Gas: ${auctionStatus.startGas} HYPE`) logger.info(`Current Gas: ${auctionStatus.currentGas} HYPE`) logger.info(`End Gas: ${auctionStatus.endGas || 'Not set'}`) if (isActive) { const timeLeft = endDate.getTime() - now.getTime() const hoursLeft = Math.round(timeLeft / (1000 * 60 * 60)) logger.info(`Time Remaining: ~${hoursLeft} hours`) } logger.info('='.repeat(50)) } catch (error) { logger.error(`Failed to fetch spot auction status: ${error}`) process.exit(1) } }