|
@@ -8,6 +8,8 @@ export const STAKING_COIN_UNIT = 'IBIT'
|
|
|
export interface StakingAccountSnapshot {
|
|
export interface StakingAccountSnapshot {
|
|
|
available: string
|
|
available: string
|
|
|
locked: string
|
|
locked: string
|
|
|
|
|
+ /** 已释放总量(iBit 等原币,勿与 locked/frozenBalance 混淆) */
|
|
|
|
|
+ released: string
|
|
|
availableUsdt: string
|
|
availableUsdt: string
|
|
|
lockedUsdt: string
|
|
lockedUsdt: string
|
|
|
}
|
|
}
|
|
@@ -37,6 +39,7 @@ export function parseStakingFromWalletGet(raw: unknown): StakingAccountSnapshot
|
|
|
const empty: StakingAccountSnapshot = {
|
|
const empty: StakingAccountSnapshot = {
|
|
|
available: '0',
|
|
available: '0',
|
|
|
locked: '0',
|
|
locked: '0',
|
|
|
|
|
+ released: '0',
|
|
|
availableUsdt: '0',
|
|
availableUsdt: '0',
|
|
|
lockedUsdt: '0',
|
|
lockedUsdt: '0',
|
|
|
}
|
|
}
|
|
@@ -51,6 +54,7 @@ export function parseStakingFromWalletGet(raw: unknown): StakingAccountSnapshot
|
|
|
return {
|
|
return {
|
|
|
available: String(row.balance ?? '0'),
|
|
available: String(row.balance ?? '0'),
|
|
|
locked: String(row.frozenBalance ?? extra.frozen_balance ?? '0'),
|
|
locked: String(row.frozenBalance ?? extra.frozen_balance ?? '0'),
|
|
|
|
|
+ released: String(extra.releasedTotal ?? extra.released_total ?? '0'),
|
|
|
availableUsdt: String(row.balanceUsdt ?? extra.balance_usdt ?? '0'),
|
|
availableUsdt: String(row.balanceUsdt ?? extra.balance_usdt ?? '0'),
|
|
|
lockedUsdt: String(row.frozenBalanceUsdt ?? extra.frozen_balance_usdt ?? '0'),
|
|
lockedUsdt: String(row.frozenBalanceUsdt ?? extra.frozen_balance_usdt ?? '0'),
|
|
|
}
|
|
}
|
|
@@ -71,6 +75,7 @@ function parseStakingWalletRow(raw: unknown): StakingAccountSnapshot {
|
|
|
const empty: StakingAccountSnapshot = {
|
|
const empty: StakingAccountSnapshot = {
|
|
|
available: '0',
|
|
available: '0',
|
|
|
locked: '0',
|
|
locked: '0',
|
|
|
|
|
+ released: '0',
|
|
|
availableUsdt: '0',
|
|
availableUsdt: '0',
|
|
|
lockedUsdt: '0',
|
|
lockedUsdt: '0',
|
|
|
}
|
|
}
|
|
@@ -79,6 +84,7 @@ function parseStakingWalletRow(raw: unknown): StakingAccountSnapshot {
|
|
|
const row = (r.data && typeof r.data === 'object' ? r.data : r) as Record<string, unknown>
|
|
const row = (r.data && typeof r.data === 'object' ? r.data : r) as Record<string, unknown>
|
|
|
const available = row.availableBalance ?? row.available_balance ?? row.balance
|
|
const available = row.availableBalance ?? row.available_balance ?? row.balance
|
|
|
const locked = row.lockedBalance ?? row.locked_balance ?? row.frozenBalance
|
|
const locked = row.lockedBalance ?? row.locked_balance ?? row.frozenBalance
|
|
|
|
|
+ const released = row.releasedTotal ?? row.released_total
|
|
|
const availableUsdt =
|
|
const availableUsdt =
|
|
|
row.availableBalanceUsdt ?? row.available_balance_usdt ?? row.balanceUsdt ?? row.balance_usdt
|
|
row.availableBalanceUsdt ?? row.available_balance_usdt ?? row.balanceUsdt ?? row.balance_usdt
|
|
|
const lockedUsdt =
|
|
const lockedUsdt =
|
|
@@ -86,6 +92,7 @@ function parseStakingWalletRow(raw: unknown): StakingAccountSnapshot {
|
|
|
return {
|
|
return {
|
|
|
available: String(available ?? '0'),
|
|
available: String(available ?? '0'),
|
|
|
locked: String(locked ?? '0'),
|
|
locked: String(locked ?? '0'),
|
|
|
|
|
+ released: String(released ?? '0'),
|
|
|
availableUsdt: String(availableUsdt ?? '0'),
|
|
availableUsdt: String(availableUsdt ?? '0'),
|
|
|
lockedUsdt: String(lockedUsdt ?? '0'),
|
|
lockedUsdt: String(lockedUsdt ?? '0'),
|
|
|
}
|
|
}
|
|
@@ -99,6 +106,7 @@ export function applyStakingOverviewBalances(
|
|
|
const overview: StakingAccountSnapshot = {
|
|
const overview: StakingAccountSnapshot = {
|
|
|
available: walletSnap.available,
|
|
available: walletSnap.available,
|
|
|
locked: walletSnap.locked,
|
|
locked: walletSnap.locked,
|
|
|
|
|
+ released: walletSnap.released,
|
|
|
availableUsdt: walletSnap.availableUsdt,
|
|
availableUsdt: walletSnap.availableUsdt,
|
|
|
lockedUsdt: walletSnap.lockedUsdt,
|
|
lockedUsdt: walletSnap.lockedUsdt,
|
|
|
}
|
|
}
|
|
@@ -113,6 +121,9 @@ export function applyStakingOverviewBalances(
|
|
|
overview.locked = apiSnap.locked
|
|
overview.locked = apiSnap.locked
|
|
|
overview.lockedUsdt = apiSnap.lockedUsdt
|
|
overview.lockedUsdt = apiSnap.lockedUsdt
|
|
|
}
|
|
}
|
|
|
|
|
+ if (Number(overview.released) === 0 && Number(apiSnap.released) > 0) {
|
|
|
|
|
+ overview.released = apiSnap.released
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
return { overview, transferAvailable }
|
|
return { overview, transferAvailable }
|
|
|
}
|
|
}
|
|
@@ -126,6 +137,7 @@ export async function loadStakingWalletSnapshot(coinUnit: string = STAKING_COIN_
|
|
|
return {
|
|
return {
|
|
|
available: '0',
|
|
available: '0',
|
|
|
locked: '0',
|
|
locked: '0',
|
|
|
|
|
+ released: '0',
|
|
|
availableUsdt: '0',
|
|
availableUsdt: '0',
|
|
|
lockedUsdt: '0',
|
|
lockedUsdt: '0',
|
|
|
}
|
|
}
|