@broxus/js-core
Version:
MobX-based JavaScript Core library
286 lines (285 loc) • 8.4 kB
TypeScript
import { type AddressUrlParam } from '../api/types';
import { Endpoint } from '../core';
import { type OrderingDirection } from '../types';
export interface QubeDaoMainPageResponse {
averageLockTime: number;
totalAmount: string;
totalVeAmount: string;
}
export declare enum QubeDaoBalanceColumn {
CreatedAt = "createdAt"
}
export interface QubeDaoBalanceOrdering {
column: QubeDaoBalanceColumn;
direction: OrderingDirection;
}
export interface QubeDaoBalancesRequestParams {
amountGe?: string;
amountLe?: string;
limit: number;
offset: number;
ordering?: QubeDaoBalanceOrdering;
userAddress?: string;
veAmountGe?: string;
veAmountLe?: string;
}
export interface QubeDaoBalanceResponse {
amount: string;
createdAt: number;
updatedAt: number;
userAddress: string;
veAmount: string;
}
export interface QubeDaoBalancesResponse {
balances: QubeDaoBalanceResponse[];
totalCount: number;
}
export declare enum QubeDaoBalancesStatsColumn {
Day = "day"
}
export interface QubeDaoBalancesStatsOrdering {
column: QubeDaoBalancesStatsColumn;
direction: OrderingDirection;
}
export interface QubeDaoBalancesStatsRequestParams {
dayGe?: number;
dayLe?: number;
limit: number;
offset: number;
ordering?: QubeDaoBalancesStatsOrdering;
}
export interface QubeDaoBalanceStatResponse {
amount: string;
day: number;
veAmount: string;
}
export interface QubeDaoBalancesStatsResponse {
balances: QubeDaoBalanceStatResponse[];
totalCount: number;
}
export declare enum QubeDaoDepositColumn {
Amount = "amount",
CreatedAt = "createdAt",
LockTime = "lockTime",
VeAmount = "veAmount"
}
export interface QubeDaoDepositsOrdering {
column: QubeDaoDepositColumn;
direction: OrderingDirection;
}
export interface QubeDaoDepositsRequestParams {
isLocked?: boolean;
key?: number;
limit: number;
offset: number;
ordering?: QubeDaoDepositsOrdering;
user?: string;
}
export interface QubeDaoDepositResponse {
amount: string;
callId: number;
createdAt: number;
isLocked: boolean;
key: number;
lockTime: number;
transactionHash: string;
transactionTime: number;
user: string;
veAmount: string;
}
export interface QubeDaoDepositsResponse {
deposits: QubeDaoDepositResponse[];
totalCount: number;
}
export declare enum QubeDaoDepositsStatsColumn {
Day = "day"
}
export interface QubeDaoDepositsStatsOrdering {
column: QubeDaoDepositsStatsColumn;
direction: OrderingDirection;
}
export interface QubeDaoDepositsStatsRequestParams {
dayGe?: number;
dayLe?: number;
limit: number;
offset: number;
ordering?: QubeDaoDepositsStatsOrdering;
}
export interface QubeDaoDepositStatResponse {
averageLockTime: number;
day: number;
}
export interface QubeDaoDepositsStatsResponse {
deposits: QubeDaoDepositStatResponse[];
totalCount: number;
}
export declare enum QubeDaoEpochColumn {
CreatedAt = "createdAt"
}
export interface QubeDaoEpochsOrdering {
column: QubeDaoEpochColumn;
direction: OrderingDirection;
}
export interface QubeDaoEpochsRequestParams {
epochNum?: number;
epochStartGe?: number;
epochStartLe?: number;
limit: number;
offset: number;
ordering?: QubeDaoEpochsOrdering;
}
export interface QubeDaoEpochResponse {
createdAt: number;
epochEnd: number;
epochNum: number;
epochStart: number;
totalDistribution: string;
totalVeAmount: string;
transactionTime: number;
updatedAt: number;
voteEnd: number | null;
voteStart: number | null;
}
export interface QubeDaoEpochsResponse {
epochs: QubeDaoEpochResponse[];
totalCount: number;
}
export declare enum QubeDaoEpochDistributionColumn {
CreatedAt = "createdAt"
}
export interface QubeDaoEpochDistributionsOrdering {
column: QubeDaoEpochDistributionColumn;
direction: OrderingDirection;
}
export interface QubeDaoEpochDistributionsRequestParams {
epochNum?: number;
gauge?: string;
ordering?: QubeDaoEpochDistributionsOrdering;
}
export interface QubeDaoEpochDistributionResponse {
amount: string;
createdAt: number;
epochNum: number;
gauge: string;
}
export interface QubeDaoEpochDistributionsResponse {
epochDistributions: QubeDaoEpochDistributionResponse[];
totalCount: number;
}
export declare enum QubeDaoEpochVoteColumn {
CreatedAt = "createdAt"
}
export interface QubeDaoEpochVotesOrdering {
column: QubeDaoEpochVoteColumn;
direction: OrderingDirection;
}
export interface QubeDaoEpochVotesRequestParams {
epochNum?: number;
gauge?: string;
limit: number;
offset: number;
ordering?: QubeDaoEpochVotesOrdering;
userAddress?: string;
}
export interface QubeDaoEpochVoteResponse {
createdAt: number;
epochNum: number;
gauge: string;
transactionTime: number;
userAddress: string;
veAmount: string;
}
export interface QubeDaoEpochVotesResponse {
epochVotes: QubeDaoEpochVoteResponse[];
totalCount: number;
}
export interface QubeDaoEpochVotesSumResponse {
distributedAmount?: string | null;
gauge: string;
normalizedAmount?: string | null;
totalAmount: string;
}
export declare enum QubeDaoTransactionColumn {
Amount = "amount",
CreatedAt = "createdAt",
VeAmount = "veAmount"
}
export declare enum QubeDaoTransactionKind {
Burn = "Burn",
Lock = "Lock",
Unlock = "Unlock"
}
export interface QubeDaoTransactionsOrdering {
column: QubeDaoTransactionColumn;
direction: OrderingDirection;
}
export interface QubeDaoTransactionsRequestParams {
kind?: QubeDaoTransactionKind;
limit: number;
offset: number;
ordering?: QubeDaoTransactionsOrdering;
transactionTimeGe?: number;
transactionTimeLe?: number;
userAddress?: string;
}
export interface QubeDaoTransactionResponse {
amount: string;
createdAt: number;
kind: QubeDaoTransactionKind | null;
transactionHash: string;
transactionTime: number;
userAddress: string;
veAmount: string;
}
export interface QubeDaoTransactionsResponse {
totalCount: number;
transactions: QubeDaoTransactionResponse[];
}
export declare enum QubeDaoWhitelistColumn {
AverageAmount = "averageAmount",
AveragePercentage = "averagePercentage",
CreatedAt = "createdAt"
}
export interface QubeDaoWhitelistOrdering {
column: QubeDaoWhitelistColumn;
direction: OrderingDirection;
}
export interface QubeDaoWhitelistRequestParams {
gaugeAddress?: string;
isActive?: boolean;
limit: number;
offset: number;
ordering?: QubeDaoWhitelistOrdering;
}
export interface QubeDaoWhitelistGaugeResponse {
activeEpochs?: number | null;
address: string;
averageAmount: string;
averagePercentage: string;
daoApprove: boolean;
isActive: boolean;
lastEpochAmount: string;
lastEpochPercentage: string;
}
export interface QubeDaoWhitelistResponse {
gauges: QubeDaoWhitelistGaugeResponse[];
totalCount: number;
}
export type EpochNumUrlParam = {
epochNum: string;
};
export declare function useQubeDaoApi(baseUrl?: string): {
balance: Endpoint<AddressUrlParam, never, QubeDaoBalanceResponse>;
balancesSearch: Endpoint<never, QubeDaoBalancesRequestParams, QubeDaoBalancesResponse>;
balancesStatsSearch: Endpoint<never, QubeDaoBalancesStatsRequestParams, QubeDaoBalancesStatsResponse>;
depositsSearch: Endpoint<never, QubeDaoDepositsRequestParams, QubeDaoDepositsResponse>;
depositsStatsSearch: Endpoint<never, QubeDaoDepositsStatsRequestParams, QubeDaoDepositsStatsResponse>;
epochsDistributionsSearch: Endpoint<never, QubeDaoEpochDistributionsRequestParams, QubeDaoEpochDistributionsResponse>;
epochsLast: Endpoint<never, never, QubeDaoEpochResponse>;
epochsSearch: Endpoint<never, QubeDaoEpochsRequestParams, QubeDaoEpochsResponse>;
epochsVotesSearch: Endpoint<never, QubeDaoEpochVotesRequestParams, QubeDaoEpochVotesResponse>;
epochsVotesSum: Endpoint<EpochNumUrlParam, never, QubeDaoEpochVotesSumResponse[]>;
mainPage: Endpoint<never, never, QubeDaoMainPageResponse>;
transactionsSearch: Endpoint<never, QubeDaoTransactionsRequestParams, QubeDaoTransactionsResponse>;
whitelistSearch: Endpoint<never, QubeDaoWhitelistRequestParams, QubeDaoWhitelistResponse>;
};