@broxus/js-core
Version:
MobX-based JavaScript Core library
152 lines (151 loc) • 3.88 kB
TypeScript
import { Endpoint } from '../core';
import { type OrderingDirection } from '../types';
export declare enum DaoProposalsColumn {
CreatedAt = "createdAt",
UpdatedAt = "updatedAt"
}
export interface DaoProposalsOrdering {
column: DaoProposalsColumn;
direction: OrderingDirection;
}
export interface EvmAction {
callData: string;
chainId: number;
signature: string;
target: string;
value: string;
}
export interface TvmAction {
payload: string;
target: string;
value: string;
}
export declare enum DaoProposalState {
Active = "Active",
Canceled = "Canceled",
Executed = "Executed",
Expired = "Expired",
Failed = "Failed",
Pending = "Pending",
Queued = "Queued",
Succeeded = "Succeeded"
}
export interface DaoProposalsRequestParams {
availableForUnlock?: boolean;
endTimeGe?: number;
endTimeLe?: number;
limit: number;
locked?: boolean;
offset: number;
ordering?: DaoProposalsOrdering;
proposer?: string;
proposalId?: number;
startTimeGe?: number;
startTimeLe?: number;
state?: DaoProposalState;
}
export interface DaoProposalResponse {
actions?: {
ethActions?: EvmAction[];
tonActions?: TvmAction[];
};
againstVotes?: string;
canceled?: boolean;
canceledAt?: number;
createdAt?: number;
description?: string;
endTime?: number;
executed?: boolean;
executedAt?: number;
executionTime?: number;
forVotes?: string;
gracePeriod?: number;
messageHash?: string;
proposalAddress?: string;
proposalId: number;
proposer?: string;
queued?: boolean;
queuedAt?: number;
quorumVotes?: string;
startTime?: number;
state?: DaoProposalState;
timestampBlock?: number;
transactionHash?: string;
updatedAt?: number;
timeLock?: number;
votingDelay?: number;
}
export interface DaoProposalsResponse {
proposals: DaoProposalResponse[];
totalCount: number;
}
export declare enum DaoVotersColumn {
CreatedAt = "createdAt"
}
export interface DaoVotersOrdering {
column: DaoVotersColumn;
direction: OrderingDirection;
}
export interface DaoVotersRequestParams {
availableForUnlock?: boolean;
endTimeGe?: number;
endTimeLe?: number;
limit: number;
locked?: boolean;
offset: number;
ordering?: DaoVotersOrdering;
proposalAddress?: string;
proposalId?: number;
proposer?: string;
startTimeGe?: number;
startTimeLe?: number;
state?: DaoProposalState;
support?: boolean;
}
export interface DaoProposalWithVoteResponse {
proposal: DaoProposalResponse;
vote: DaoVoteResponse;
}
export interface ProposalsWithVotesResponse {
proposalWithVotes: DaoProposalWithVoteResponse[];
totalCount: number;
}
export declare enum DaoVoteColumn {
CreatedAt = "createdAt"
}
export interface DaoVotesOrdering {
column: DaoVoteColumn;
direction: OrderingDirection;
}
export interface DaoVotesRequestParams {
limit: number;
locked?: boolean;
offset: number;
ordering?: DaoVotesOrdering;
proposalId?: number;
support?: boolean;
voter?: string;
}
export interface DaoVoteResponse {
createdAt: number;
locked: boolean;
messageHash: string;
proposalId: number;
reason: string;
support: boolean;
transactionHash: string;
voter: string;
votes: string;
}
export interface DaoVotesResponse {
totalCount: number;
votes: DaoVoteResponse[];
}
export type DaoVoterUrlParam = {
voter: string;
};
export declare function useDaoApi(baseUrl?: string): {
proposalsSearch: Endpoint<never, DaoProposalsRequestParams, DaoProposalsResponse>;
votersSearch: Endpoint<DaoVoterUrlParam, DaoVotersRequestParams, ProposalsWithVotesResponse>;
votesSearch: Endpoint<never, DaoVotesRequestParams, DaoVotesResponse>;
};