UNPKG

@broxus/js-core

Version:

MobX-based JavaScript Core library

152 lines (151 loc) 3.88 kB
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>; };