@broxus/js-core
Version:
MobX-based JavaScript Core library
150 lines (149 loc) • 5.07 kB
TypeScript
import { type AddressUrlParam, type CommonGraphRequestParams } from '../api/types';
import { Endpoint } from '../core';
export declare enum StakingDaoStakeholdersOrdering {
VoteWeightAscending = "voteweightascending",
VoteWeightDescending = "voteweightdescending",
VotesAscending = "votesascending",
VotesDescending = "votesdescending"
}
export interface StakingDaoStakeholdersSearchRequestParams {
limit: number;
offset: number;
ordering: StakingDaoStakeholdersOrdering;
}
export interface StakingDaoStakeholderResponse {
proposalVotesCount: number;
userAddress: string;
voteWeight: string;
votes: string;
}
export interface StakingDaoStakeholdersResponse {
stakeholders: StakingDaoStakeholderResponse[];
totalCount: number;
}
export declare enum StakingStakeholdersOrdering {
UpdateAtAscending = "updateatascending",
UpdateAtDescending = "updateatdescending",
stakeAscending = "stakeascending",
stakeDescending = "stakedescending",
FrozenStakeAscending = "frozenstakeascending",
FrozenStakeDescending = "frozenstakedescending",
LastRewardAscending = "lastrewardascending",
LastRewardDescending = "lastrewarddescending",
TotalRewardAscending = "totalrewardascending",
TotalRewardDescending = "totalrewarddescending",
CreatedAtAscending = "createdatascending",
CreatedAtDescending = "createdatdescending",
RelayCreatedAtAscending = "relaycreatedatascending",
RelayCreatedAtDescending = "relaycreatedatdescending",
VotesAscending = "votesascending",
VotesDescending = "votesdescending"
}
export declare enum StakingStakeholderKind {
Ordinary = "ordinary",
Relay = "relay"
}
export interface StakingStakeholdersSearchRequestParams {
createdAtGe?: number;
createdAtLe?: number;
frozenStakeGe?: string;
frozenStakeLe?: string;
lastRewardGe?: string;
lastRewardLe?: string;
limit: number;
offset: number;
ordering?: StakingStakeholdersOrdering;
relayCreatedAtGe?: number;
relayCreatedAtLe?: number;
stakeholderKind?: StakingStakeholderKind;
totalRewardGe?: string;
totalRewardLe?: string;
untilFrozenGe?: string;
untilFrozenLe?: string;
userBalanceGe?: string;
userBalanceLe?: string;
}
export interface StakingStakeholderResponse {
createdAt: number;
frozenStakeBalance: string;
lastReward: string;
stakeBalance: string;
totalReward: string;
userAddress: string;
userType: string;
}
export interface StakingStakeholdersResponse {
stakeholders: StakingStakeholderResponse[];
totalCount: number;
}
export declare enum StakingTransactionsOrdering {
AmountAscending = "amountascending",
AmountDescending = "amountdescending",
TimestampBlockAscending = "timestampblockascending",
TimestampBlockAtDescending = "timestampblockatdescending"
}
export declare enum StakingTransactionKind {
Deposit = "deposit",
Withdraw = "withdraw",
Claim = "claim",
Freeze = "freeze"
}
export interface StakingTransactionsRequestParams {
amountGe?: string;
amountLe?: string;
limit: number;
offset: number;
ordering: StakingTransactionsOrdering;
timestampBlockGe?: number;
timestampBlockLe?: number;
transactionKind?: StakingTransactionKind;
userAddress?: string;
}
export interface StakingTransactionResponse {
amountExec: string;
timestampBlock: number;
transactionHash: string;
transactionKind: StakingTransactionKind;
usdtExec: string;
}
export interface StakingTransactionsResponse {
transactions: StakingTransactionResponse[];
totalCount: number;
}
export interface StakingAprGraphResponse {
data: string;
timestamp: number;
}
export interface StakingTvlGraphResponse {
data: string;
timestamp: number;
}
export interface StakingMainResponse {
averageApr: string;
reward30d: string;
reward30dChange: string;
stakeholders: number;
tvl: string;
tvlChange: string;
}
export interface StakingRequestParams {
userAddress: string;
}
export interface StakingResponse {
averageApr: string;
user30dReward: string;
user30dRewardChange: string;
userFrozenStake: string;
userTvl: string;
userTvlChange: string;
}
export declare function useStakingApi(baseUrl?: string): {
daoStakeholdersSearch: Endpoint<never, StakingDaoStakeholdersSearchRequestParams, StakingDaoStakeholdersResponse>;
daoUser: Endpoint<AddressUrlParam, never, StakingDaoStakeholderResponse>;
stakingStakeholdersSearch: Endpoint<never, StakingStakeholdersSearchRequestParams, StakingStakeholdersResponse>;
stakingTransactions: Endpoint<never, StakingTransactionsRequestParams, StakingTransactionsResponse>;
stakingTvlGraph: Endpoint<never, CommonGraphRequestParams, StakingTvlGraphResponse[]>;
stakingAprGraph: Endpoint<never, CommonGraphRequestParams, StakingAprGraphResponse[]>;
stakingMain: Endpoint<never, never, StakingMainResponse>;
staking: Endpoint<never, StakingRequestParams, StakingResponse>;
};