getPool
Get comprehensive information about a specific staking pool, including pool details and token metadata.
Usage
example.ts
import { mintclub } from 'mint.club-v2-sdk'
const poolInfo = await mintclub.network('base').stake.getPool({
poolId: 0,
})
console.log('Pool information:', poolInfo)Return Value
Promise<PoolView>
Returns a promise that resolves to a PoolView object containing:
type PoolView = {
pool: {
stakingToken: string
isStakingTokenERC20: boolean
rewardToken: string
creator: string
rewardAmount: bigint
rewardDuration: number
rewardStartsAt: number
rewardStartedAt: number
cancelledAt: number
totalStaked: bigint
activeStakerCount: number
lastRewardUpdatedAt: number
accRewardPerShare: bigint
totalAllocatedRewards: bigint
}
stakingToken: {
symbol: string
name: string
decimals: number
}
rewardToken: {
symbol: string
name: string
decimals: number
}
}Parameters
poolId
- Type:
number
The ID of the staking pool to get information for.
const poolInfo = await mintclub.network('base').stake.getPool({
poolId: 0,
})Example
example.ts
import { mintclub } from 'mint.club-v2-sdk'
import { formatUnits } from 'viem'
const poolInfo = await mintclub.network('base').stake.getPool({
poolId: 0,
})
const { pool, stakingToken, rewardToken } = poolInfo
console.log('Pool Details:')
console.log(`Creator: ${pool.creator}`)
console.log(`Staking Token: ${stakingToken.name} (${stakingToken.symbol})`)
console.log(`Reward Token: ${rewardToken.name} (${rewardToken.symbol})`)
// Format amounts using token decimals
const totalRewards = formatUnits(pool.rewardAmount, rewardToken.decimals)
const totalStaked = formatUnits(pool.totalStaked, stakingToken.decimals)
console.log(`Total Rewards: ${totalRewards} ${rewardToken.symbol}`)
console.log(`Total Staked: ${totalStaked} ${stakingToken.symbol}`)
console.log(`Active Stakers: ${pool.activeStakerCount}`)
// Check pool status
const now = Math.floor(Date.now() / 1000)
const isActive = pool.rewardStartsAt <= now && pool.cancelledAt === 0
const isFinished = pool.rewardStartsAt + pool.rewardDuration <= now
console.log(`Status: ${pool.cancelledAt > 0 ? 'Cancelled' : isFinished ? 'Finished' : isActive ? 'Active' : 'Pending'}`)