import { DistrRecord, DistrRecordAmino, DistrRecordSDKType } from "./incentives";
import { BinaryReader, BinaryWriter } from "../../../binary";
/**
* ReplacePoolIncentivesProposal is a gov Content type for updating the pool
* incentives. If a ReplacePoolIncentivesProposal passes, the proposal’s records
* override the existing DistrRecords set in the module. Each record has a
* specified gauge id and weight, and the incentives are distributed to each
* gauge according to weight/total_weight. The incentives are put in the fee
* pool and it is allocated to gauges and community pool by the DistrRecords
* configuration. Note that gaugeId=0 represents the community pool.
*/
export interface ReplacePoolIncentivesProposal {
$typeUrl?: "/osmosis.poolincentives.v1beta1.ReplacePoolIncentivesProposal";
title: string;
description: string;
records: DistrRecord[];
}
export interface ReplacePoolIncentivesProposalProtoMsg {
typeUrl: "/osmosis.poolincentives.v1beta1.ReplacePoolIncentivesProposal";
value: Uint8Array;
}
/**
* ReplacePoolIncentivesProposal is a gov Content type for updating the pool
* incentives. If a ReplacePoolIncentivesProposal passes, the proposal’s records
* override the existing DistrRecords set in the module. Each record has a
* specified gauge id and weight, and the incentives are distributed to each
* gauge according to weight/total_weight. The incentives are put in the fee
* pool and it is allocated to gauges and community pool by the DistrRecords
* configuration. Note that gaugeId=0 represents the community pool.
*/
export interface ReplacePoolIncentivesProposalAmino {
title?: string;
description?: string;
records?: DistrRecordAmino[];
}
export interface ReplacePoolIncentivesProposalAminoMsg {
type: "osmosis/ReplacePoolIncentivesProposal";
value: ReplacePoolIncentivesProposalAmino;
}
/**
* ReplacePoolIncentivesProposal is a gov Content type for updating the pool
* incentives. If a ReplacePoolIncentivesProposal passes, the proposal’s records
* override the existing DistrRecords set in the module. Each record has a
* specified gauge id and weight, and the incentives are distributed to each
* gauge according to weight/total_weight. The incentives are put in the fee
* pool and it is allocated to gauges and community pool by the DistrRecords
* configuration. Note that gaugeId=0 represents the community pool.
*/
export interface ReplacePoolIncentivesProposalSDKType {
$typeUrl?: "/osmosis.poolincentives.v1beta1.ReplacePoolIncentivesProposal";
title: string;
description: string;
records: DistrRecordSDKType[];
}
/**
* For example: if the existing DistrRecords were:
* [(Gauge 0, 5), (Gauge 1, 6), (Gauge 2, 6)]
* An UpdatePoolIncentivesProposal includes
* [(Gauge 1, 0), (Gauge 2, 4), (Gauge 3, 10)]
* This would delete Gauge 1, Edit Gauge 2, and Add Gauge 3
* The result DistrRecords in state would be:
* [(Gauge 0, 5), (Gauge 2, 4), (Gauge 3, 10)]
*/
export interface UpdatePoolIncentivesProposal {
$typeUrl?: "/osmosis.poolincentives.v1beta1.UpdatePoolIncentivesProposal";
title: string;
description: string;
records: DistrRecord[];
}
export interface UpdatePoolIncentivesProposalProtoMsg {
typeUrl: "/osmosis.poolincentives.v1beta1.UpdatePoolIncentivesProposal";
value: Uint8Array;
}
/**
* For example: if the existing DistrRecords were:
* [(Gauge 0, 5), (Gauge 1, 6), (Gauge 2, 6)]
* An UpdatePoolIncentivesProposal includes
* [(Gauge 1, 0), (Gauge 2, 4), (Gauge 3, 10)]
* This would delete Gauge 1, Edit Gauge 2, and Add Gauge 3
* The result DistrRecords in state would be:
* [(Gauge 0, 5), (Gauge 2, 4), (Gauge 3, 10)]
*/
export interface UpdatePoolIncentivesProposalAmino {
title?: string;
description?: string;
records?: DistrRecordAmino[];
}
export interface UpdatePoolIncentivesProposalAminoMsg {
type: "osmosis/UpdatePoolIncentivesProposal";
value: UpdatePoolIncentivesProposalAmino;
}
/**
* For example: if the existing DistrRecords were:
* [(Gauge 0, 5), (Gauge 1, 6), (Gauge 2, 6)]
* An UpdatePoolIncentivesProposal includes
* [(Gauge 1, 0), (Gauge 2, 4), (Gauge 3, 10)]
* This would delete Gauge 1, Edit Gauge 2, and Add Gauge 3
* The result DistrRecords in state would be:
* [(Gauge 0, 5), (Gauge 2, 4), (Gauge 3, 10)]
*/
export interface UpdatePoolIncentivesProposalSDKType {
$typeUrl?: "/osmosis.poolincentives.v1beta1.UpdatePoolIncentivesProposal";
title: string;
description: string;
records: DistrRecordSDKType[];
}
export declare const ReplacePoolIncentivesProposal: {
typeUrl: string;
aminoType: string;
is(o: any): o is ReplacePoolIncentivesProposal;
isSDK(o: any): o is ReplacePoolIncentivesProposalSDKType;
isAmino(o: any): o is ReplacePoolIncentivesProposalAmino;
encode(message: ReplacePoolIncentivesProposal, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): ReplacePoolIncentivesProposal;
fromPartial(object: Partial<ReplacePoolIncentivesProposal>): ReplacePoolIncentivesProposal;
fromAmino(object: ReplacePoolIncentivesProposalAmino): ReplacePoolIncentivesProposal;
toAmino(message: ReplacePoolIncentivesProposal): ReplacePoolIncentivesProposalAmino;
fromAminoMsg(object: ReplacePoolIncentivesProposalAminoMsg): ReplacePoolIncentivesProposal;
toAminoMsg(message: ReplacePoolIncentivesProposal): ReplacePoolIncentivesProposalAminoMsg;
fromProtoMsg(message: ReplacePoolIncentivesProposalProtoMsg): ReplacePoolIncentivesProposal;
toProto(message: ReplacePoolIncentivesProposal): Uint8Array;
toProtoMsg(message: ReplacePoolIncentivesProposal): ReplacePoolIncentivesProposalProtoMsg;
};
export declare const UpdatePoolIncentivesProposal: {
typeUrl: string;
aminoType: string;
is(o: any): o is UpdatePoolIncentivesProposal;
isSDK(o: any): o is UpdatePoolIncentivesProposalSDKType;
isAmino(o: any): o is UpdatePoolIncentivesProposalAmino;
encode(message: UpdatePoolIncentivesProposal, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): UpdatePoolIncentivesProposal;
fromPartial(object: Partial<UpdatePoolIncentivesProposal>): UpdatePoolIncentivesProposal;
fromAmino(object: UpdatePoolIncentivesProposalAmino): UpdatePoolIncentivesProposal;
toAmino(message: UpdatePoolIncentivesProposal): UpdatePoolIncentivesProposalAmino;
fromAminoMsg(object: UpdatePoolIncentivesProposalAminoMsg): UpdatePoolIncentivesProposal;
toAminoMsg(message: UpdatePoolIncentivesProposal): UpdatePoolIncentivesProposalAminoMsg;
fromProtoMsg(message: UpdatePoolIncentivesProposalProtoMsg): UpdatePoolIncentivesProposal;
toProto(message: UpdatePoolIncentivesProposal): Uint8Array;
toProtoMsg(message: UpdatePoolIncentivesProposal): UpdatePoolIncentivesProposalProtoMsg;
};