/** * This file was automatically generated by @cosmwasm/ts-codegen@0.26.0. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run the @cosmwasm/ts-codegen generate command to regenerate this file. */ export declare type Duration = { height: number; } | { time: number; }; export declare type PercentageThreshold = { majority: {}; } | { percent: Decimal; }; export declare type Decimal = string; export interface InstantiateMsg { close_proposals_on_execution_failure: boolean; min_voting_period?: Duration | null; quorum: PercentageThreshold; voting_period: Duration; } export declare type ExecuteMsg = { propose: { choices: Choice[]; }; } | { vote: { proposal_id: number; vote: number[]; }; } | { execute: { proposal_id: number; }; } | { close: { proposal_id: number; }; } | { set_config: UncheckedConfig; }; export declare type CosmosMsgForEmpty = { bank: BankMsg; } | { custom: Empty; } | { staking: StakingMsg; } | { distribution: DistributionMsg; } | { stargate: { type_url: string; value: Binary; [k: string]: unknown; }; } | { ibc: IbcMsg; } | { wasm: WasmMsg; } | { gov: GovMsg; }; export declare type BankMsg = { send: { amount: Coin[]; to_address: string; [k: string]: unknown; }; } | { burn: { amount: Coin[]; [k: string]: unknown; }; }; export declare type Uint128 = string; export declare type StakingMsg = { delegate: { amount: Coin; validator: string; [k: string]: unknown; }; } | { undelegate: { amount: Coin; validator: string; [k: string]: unknown; }; } | { redelegate: { amount: Coin; dst_validator: string; src_validator: string; [k: string]: unknown; }; }; export declare type DistributionMsg = { set_withdraw_address: { address: string; [k: string]: unknown; }; } | { withdraw_delegator_reward: { validator: string; [k: string]: unknown; }; }; export declare type Binary = string; export declare type IbcMsg = { transfer: { amount: Coin; channel_id: string; timeout: IbcTimeout; to_address: string; [k: string]: unknown; }; } | { send_packet: { channel_id: string; data: Binary; timeout: IbcTimeout; [k: string]: unknown; }; } | { close_channel: { channel_id: string; [k: string]: unknown; }; }; export declare type Timestamp = Uint64; export declare type Uint64 = string; export declare type WasmMsg = { execute: { contract_addr: string; funds: Coin[]; msg: Binary; [k: string]: unknown; }; } | { instantiate: { admin?: string | null; code_id: number; funds: Coin[]; label: string; msg: Binary; [k: string]: unknown; }; } | { migrate: { contract_addr: string; msg: Binary; new_code_id: number; [k: string]: unknown; }; } | { update_admin: { admin: string; contract_addr: string; [k: string]: unknown; }; } | { clear_admin: { contract_addr: string; [k: string]: unknown; }; }; export declare type GovMsg = { vote: { proposal_id: number; vote: VoteOption; [k: string]: unknown; }; }; export declare type VoteOption = "yes" | "no" | "abstain" | "no_with_veto"; export interface Choice { msgs: CosmosMsgForEmpty[]; } export interface Coin { amount: Uint128; denom: string; [k: string]: unknown; } export interface Empty { [k: string]: unknown; } export interface IbcTimeout { block?: IbcTimeoutBlock | null; timestamp?: Timestamp | null; [k: string]: unknown; } export interface IbcTimeoutBlock { height: number; revision: number; [k: string]: unknown; } export interface UncheckedConfig { close_proposals_on_execution_failure: boolean; min_voting_period?: Duration | null; quorum: PercentageThreshold; voting_period: Duration; } export declare type QueryMsg = { proposal: { id: number; }; } | { config: {}; } | { dao: {}; } | { info: {}; } | { next_proposal_id: {}; }; export interface Config { close_proposals_on_execution_failure: boolean; min_voting_period?: Duration | null; quorum: PercentageThreshold; voting_period: Duration; } export declare type Addr = string; export interface InfoResponse { info: ContractVersion; } export interface ContractVersion { contract: string; version: string; } export declare type Status = "open" | "rejected" | { passed: { winner: number; }; } | "executed" | "closed" | "execution_failed"; export declare type Expiration = { at_height: number; } | { at_time: Timestamp; } | { never: {}; }; export declare type Cell = "zero" | { positive: Uint128; } | { negative: Uint128; }; export declare type Winner = ("never" | "none") | { some: number; } | { undisputed: number; }; export interface ProposalResponse { proposal: Proposal; tally: Tally; } export interface Proposal { choices: Choice[]; close_on_execution_failure: boolean; id: number; last_status: Status; min_voting_period?: Expiration | null; proposer: Addr; quorum: PercentageThreshold; total_power: Uint128; } export interface Tally { expiration: Expiration; m: M; power_outstanding: Uint128; start_height: number; winner: Winner; } export interface M { cells: Cell[]; n: number; }