@terra-classic-community/terra.js
Version:
The JavaScript SDK for Terra
47 lines (46 loc) • 1.67 kB
TypeScript
import { JSONSerializable } from '../../../util/json';
import { AccAddress } from '../../bech32';
import { Any } from '@terra-money/terra.proto/google/protobuf/any';
import { MsgVote as MsgVote_pb } from '@terra-money/terra.proto/cosmos/gov/v1beta1/tx';
import { VoteOption } from '@terra-money/terra.proto/cosmos/gov/v1beta1/gov';
/**
* Vote for a proposal
*/
export declare class MsgVote extends JSONSerializable<MsgVote.Amino, MsgVote.Data, MsgVote.Proto> {
proposal_id: number;
voter: AccAddress;
option: VoteOption;
/**
* @param proposal_id ID of proposal to vote on
* @param voter voter's account address
* @param option one of voting options
*/
constructor(proposal_id: number, voter: AccAddress, option: VoteOption);
static fromAmino(data: MsgVote.Amino, _?: boolean): MsgVote;
toAmino(isClassic?: boolean): MsgVote.Amino;
static fromData(data: MsgVote.Data, _?: boolean): MsgVote;
toData(_?: boolean): MsgVote.Data;
static fromProto(proto: MsgVote.Proto, _?: boolean): MsgVote;
toProto(_?: boolean): MsgVote.Proto;
packAny(_?: boolean): Any;
static unpackAny(msgAny: Any, _?: boolean): MsgVote;
}
export declare namespace MsgVote {
const Option: typeof VoteOption;
type Option = VoteOption;
interface Amino {
type: 'gov/MsgVote' | 'cosmos-sdk/MsgVote';
value: {
proposal_id: string;
voter: AccAddress;
option: VoteOption;
};
}
interface Data {
'@type': '/cosmos.gov.v1beta1.MsgVote';
proposal_id: string;
voter: AccAddress;
option: Option;
}
type Proto = MsgVote_pb;
}