import { Description, DescriptionSDKType, CommissionRates, CommissionRatesSDKType } from "./staking"; import { Any, AnySDKType } from "../../../google/protobuf/any"; import { Coin, CoinSDKType } from "../../base/v1beta1/coin"; import { Timestamp, TimestampSDKType } from "../../../google/protobuf/timestamp"; import * as _m0 from "protobufjs/minimal"; import { isSet, fromJsonTimestamp, fromTimestamp } from "../../../helpers"; /** MsgCreateValidator defines a SDK message for creating a new validator. */ export interface MsgCreateValidator { description?: Description; commission?: CommissionRates; minSelfDelegation: string; delegatorAddress: string; validatorAddress: string; pubkey?: Any; value?: Coin; } /** MsgCreateValidator defines a SDK message for creating a new validator. */ export interface MsgCreateValidatorSDKType { description?: DescriptionSDKType; commission?: CommissionRatesSDKType; min_self_delegation: string; delegator_address: string; validator_address: string; pubkey?: AnySDKType; value?: CoinSDKType; } /** MsgCreateValidatorResponse defines the Msg/CreateValidator response type. */ export interface MsgCreateValidatorResponse {} /** MsgCreateValidatorResponse defines the Msg/CreateValidator response type. */ export interface MsgCreateValidatorResponseSDKType {} /** MsgEditValidator defines a SDK message for editing an existing validator. */ export interface MsgEditValidator { description?: Description; validatorAddress: string; /** * We pass a reference to the new commission rate and min self delegation as * it's not mandatory to update. If not updated, the deserialized rate will be * zero with no way to distinguish if an update was intended. * REF: #2373 */ commissionRate: string; minSelfDelegation: string; } /** MsgEditValidator defines a SDK message for editing an existing validator. */ export interface MsgEditValidatorSDKType { description?: DescriptionSDKType; validator_address: string; commission_rate: string; min_self_delegation: string; } /** MsgEditValidatorResponse defines the Msg/EditValidator response type. */ export interface MsgEditValidatorResponse {} /** MsgEditValidatorResponse defines the Msg/EditValidator response type. */ export interface MsgEditValidatorResponseSDKType {} /** * MsgDelegate defines a SDK message for performing a delegation of coins * from a delegator to a validator. */ export interface MsgDelegate { delegatorAddress: string; validatorAddress: string; amount?: Coin; } /** * MsgDelegate defines a SDK message for performing a delegation of coins * from a delegator to a validator. */ export interface MsgDelegateSDKType { delegator_address: string; validator_address: string; amount?: CoinSDKType; } /** MsgDelegateResponse defines the Msg/Delegate response type. */ export interface MsgDelegateResponse {} /** MsgDelegateResponse defines the Msg/Delegate response type. */ export interface MsgDelegateResponseSDKType {} /** * MsgBeginRedelegate defines a SDK message for performing a redelegation * of coins from a delegator and source validator to a destination validator. */ export interface MsgBeginRedelegate { delegatorAddress: string; validatorSrcAddress: string; validatorDstAddress: string; amount?: Coin; } /** * MsgBeginRedelegate defines a SDK message for performing a redelegation * of coins from a delegator and source validator to a destination validator. */ export interface MsgBeginRedelegateSDKType { delegator_address: string; validator_src_address: string; validator_dst_address: string; amount?: CoinSDKType; } /** MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. */ export interface MsgBeginRedelegateResponse { completionTime?: Timestamp; } /** MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. */ export interface MsgBeginRedelegateResponseSDKType { completion_time?: TimestampSDKType; } /** * MsgUndelegate defines a SDK message for performing an undelegation from a * delegate and a validator. */ export interface MsgUndelegate { delegatorAddress: string; validatorAddress: string; amount?: Coin; } /** * MsgUndelegate defines a SDK message for performing an undelegation from a * delegate and a validator. */ export interface MsgUndelegateSDKType { delegator_address: string; validator_address: string; amount?: CoinSDKType; } /** MsgUndelegateResponse defines the Msg/Undelegate response type. */ export interface MsgUndelegateResponse { completionTime?: Timestamp; } /** MsgUndelegateResponse defines the Msg/Undelegate response type. */ export interface MsgUndelegateResponseSDKType { completion_time?: TimestampSDKType; } function createBaseMsgCreateValidator(): MsgCreateValidator { return { description: undefined, commission: undefined, minSelfDelegation: "", delegatorAddress: "", validatorAddress: "", pubkey: undefined, value: undefined }; } export const MsgCreateValidator = { encode(message: MsgCreateValidator, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.description !== undefined) { Description.encode(message.description, writer.uint32(10).fork()).ldelim(); } if (message.commission !== undefined) { CommissionRates.encode(message.commission, writer.uint32(18).fork()).ldelim(); } if (message.minSelfDelegation !== "") { writer.uint32(26).string(message.minSelfDelegation); } if (message.delegatorAddress !== "") { writer.uint32(34).string(message.delegatorAddress); } if (message.validatorAddress !== "") { writer.uint32(42).string(message.validatorAddress); } if (message.pubkey !== undefined) { Any.encode(message.pubkey, writer.uint32(50).fork()).ldelim(); } if (message.value !== undefined) { Coin.encode(message.value, writer.uint32(58).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateValidator { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgCreateValidator(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.description = Description.decode(reader, reader.uint32()); break; case 2: message.commission = CommissionRates.decode(reader, reader.uint32()); break; case 3: message.minSelfDelegation = reader.string(); break; case 4: message.delegatorAddress = reader.string(); break; case 5: message.validatorAddress = reader.string(); break; case 6: message.pubkey = Any.decode(reader, reader.uint32()); break; case 7: message.value = Coin.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgCreateValidator { return { description: isSet(object.description) ? Description.fromJSON(object.description) : undefined, commission: isSet(object.commission) ? CommissionRates.fromJSON(object.commission) : undefined, minSelfDelegation: isSet(object.minSelfDelegation) ? String(object.minSelfDelegation) : "", delegatorAddress: isSet(object.delegatorAddress) ? String(object.delegatorAddress) : "", validatorAddress: isSet(object.validatorAddress) ? String(object.validatorAddress) : "", pubkey: isSet(object.pubkey) ? Any.fromJSON(object.pubkey) : undefined, value: isSet(object.value) ? Coin.fromJSON(object.value) : undefined }; }, toJSON(message: MsgCreateValidator): unknown { const obj: any = {}; message.description !== undefined && (obj.description = message.description ? Description.toJSON(message.description) : undefined); message.commission !== undefined && (obj.commission = message.commission ? CommissionRates.toJSON(message.commission) : undefined); message.minSelfDelegation !== undefined && (obj.minSelfDelegation = message.minSelfDelegation); message.delegatorAddress !== undefined && (obj.delegatorAddress = message.delegatorAddress); message.validatorAddress !== undefined && (obj.validatorAddress = message.validatorAddress); message.pubkey !== undefined && (obj.pubkey = message.pubkey ? Any.toJSON(message.pubkey) : undefined); message.value !== undefined && (obj.value = message.value ? Coin.toJSON(message.value) : undefined); return obj; }, fromPartial(object: Partial): MsgCreateValidator { const message = createBaseMsgCreateValidator(); message.description = object.description !== undefined && object.description !== null ? Description.fromPartial(object.description) : undefined; message.commission = object.commission !== undefined && object.commission !== null ? CommissionRates.fromPartial(object.commission) : undefined; message.minSelfDelegation = object.minSelfDelegation ?? ""; message.delegatorAddress = object.delegatorAddress ?? ""; message.validatorAddress = object.validatorAddress ?? ""; message.pubkey = object.pubkey !== undefined && object.pubkey !== null ? Any.fromPartial(object.pubkey) : undefined; message.value = object.value !== undefined && object.value !== null ? Coin.fromPartial(object.value) : undefined; return message; } }; function createBaseMsgCreateValidatorResponse(): MsgCreateValidatorResponse { return {}; } export const MsgCreateValidatorResponse = { encode(_: MsgCreateValidatorResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateValidatorResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgCreateValidatorResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(_: any): MsgCreateValidatorResponse { return {}; }, toJSON(_: MsgCreateValidatorResponse): unknown { const obj: any = {}; return obj; }, fromPartial(_: Partial): MsgCreateValidatorResponse { const message = createBaseMsgCreateValidatorResponse(); return message; } }; function createBaseMsgEditValidator(): MsgEditValidator { return { description: undefined, validatorAddress: "", commissionRate: "", minSelfDelegation: "" }; } export const MsgEditValidator = { encode(message: MsgEditValidator, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.description !== undefined) { Description.encode(message.description, writer.uint32(10).fork()).ldelim(); } if (message.validatorAddress !== "") { writer.uint32(18).string(message.validatorAddress); } if (message.commissionRate !== "") { writer.uint32(26).string(message.commissionRate); } if (message.minSelfDelegation !== "") { writer.uint32(34).string(message.minSelfDelegation); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgEditValidator { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgEditValidator(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.description = Description.decode(reader, reader.uint32()); break; case 2: message.validatorAddress = reader.string(); break; case 3: message.commissionRate = reader.string(); break; case 4: message.minSelfDelegation = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgEditValidator { return { description: isSet(object.description) ? Description.fromJSON(object.description) : undefined, validatorAddress: isSet(object.validatorAddress) ? String(object.validatorAddress) : "", commissionRate: isSet(object.commissionRate) ? String(object.commissionRate) : "", minSelfDelegation: isSet(object.minSelfDelegation) ? String(object.minSelfDelegation) : "" }; }, toJSON(message: MsgEditValidator): unknown { const obj: any = {}; message.description !== undefined && (obj.description = message.description ? Description.toJSON(message.description) : undefined); message.validatorAddress !== undefined && (obj.validatorAddress = message.validatorAddress); message.commissionRate !== undefined && (obj.commissionRate = message.commissionRate); message.minSelfDelegation !== undefined && (obj.minSelfDelegation = message.minSelfDelegation); return obj; }, fromPartial(object: Partial): MsgEditValidator { const message = createBaseMsgEditValidator(); message.description = object.description !== undefined && object.description !== null ? Description.fromPartial(object.description) : undefined; message.validatorAddress = object.validatorAddress ?? ""; message.commissionRate = object.commissionRate ?? ""; message.minSelfDelegation = object.minSelfDelegation ?? ""; return message; } }; function createBaseMsgEditValidatorResponse(): MsgEditValidatorResponse { return {}; } export const MsgEditValidatorResponse = { encode(_: MsgEditValidatorResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgEditValidatorResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgEditValidatorResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(_: any): MsgEditValidatorResponse { return {}; }, toJSON(_: MsgEditValidatorResponse): unknown { const obj: any = {}; return obj; }, fromPartial(_: Partial): MsgEditValidatorResponse { const message = createBaseMsgEditValidatorResponse(); return message; } }; function createBaseMsgDelegate(): MsgDelegate { return { delegatorAddress: "", validatorAddress: "", amount: undefined }; } export const MsgDelegate = { encode(message: MsgDelegate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.delegatorAddress !== "") { writer.uint32(10).string(message.delegatorAddress); } if (message.validatorAddress !== "") { writer.uint32(18).string(message.validatorAddress); } if (message.amount !== undefined) { Coin.encode(message.amount, writer.uint32(26).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgDelegate { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgDelegate(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.delegatorAddress = reader.string(); break; case 2: message.validatorAddress = reader.string(); break; case 3: message.amount = Coin.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgDelegate { return { delegatorAddress: isSet(object.delegatorAddress) ? String(object.delegatorAddress) : "", validatorAddress: isSet(object.validatorAddress) ? String(object.validatorAddress) : "", amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined }; }, toJSON(message: MsgDelegate): unknown { const obj: any = {}; message.delegatorAddress !== undefined && (obj.delegatorAddress = message.delegatorAddress); message.validatorAddress !== undefined && (obj.validatorAddress = message.validatorAddress); message.amount !== undefined && (obj.amount = message.amount ? Coin.toJSON(message.amount) : undefined); return obj; }, fromPartial(object: Partial): MsgDelegate { const message = createBaseMsgDelegate(); message.delegatorAddress = object.delegatorAddress ?? ""; message.validatorAddress = object.validatorAddress ?? ""; message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; return message; } }; function createBaseMsgDelegateResponse(): MsgDelegateResponse { return {}; } export const MsgDelegateResponse = { encode(_: MsgDelegateResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgDelegateResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgDelegateResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(_: any): MsgDelegateResponse { return {}; }, toJSON(_: MsgDelegateResponse): unknown { const obj: any = {}; return obj; }, fromPartial(_: Partial): MsgDelegateResponse { const message = createBaseMsgDelegateResponse(); return message; } }; function createBaseMsgBeginRedelegate(): MsgBeginRedelegate { return { delegatorAddress: "", validatorSrcAddress: "", validatorDstAddress: "", amount: undefined }; } export const MsgBeginRedelegate = { encode(message: MsgBeginRedelegate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.delegatorAddress !== "") { writer.uint32(10).string(message.delegatorAddress); } if (message.validatorSrcAddress !== "") { writer.uint32(18).string(message.validatorSrcAddress); } if (message.validatorDstAddress !== "") { writer.uint32(26).string(message.validatorDstAddress); } if (message.amount !== undefined) { Coin.encode(message.amount, writer.uint32(34).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgBeginRedelegate { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgBeginRedelegate(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.delegatorAddress = reader.string(); break; case 2: message.validatorSrcAddress = reader.string(); break; case 3: message.validatorDstAddress = reader.string(); break; case 4: message.amount = Coin.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgBeginRedelegate { return { delegatorAddress: isSet(object.delegatorAddress) ? String(object.delegatorAddress) : "", validatorSrcAddress: isSet(object.validatorSrcAddress) ? String(object.validatorSrcAddress) : "", validatorDstAddress: isSet(object.validatorDstAddress) ? String(object.validatorDstAddress) : "", amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined }; }, toJSON(message: MsgBeginRedelegate): unknown { const obj: any = {}; message.delegatorAddress !== undefined && (obj.delegatorAddress = message.delegatorAddress); message.validatorSrcAddress !== undefined && (obj.validatorSrcAddress = message.validatorSrcAddress); message.validatorDstAddress !== undefined && (obj.validatorDstAddress = message.validatorDstAddress); message.amount !== undefined && (obj.amount = message.amount ? Coin.toJSON(message.amount) : undefined); return obj; }, fromPartial(object: Partial): MsgBeginRedelegate { const message = createBaseMsgBeginRedelegate(); message.delegatorAddress = object.delegatorAddress ?? ""; message.validatorSrcAddress = object.validatorSrcAddress ?? ""; message.validatorDstAddress = object.validatorDstAddress ?? ""; message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; return message; } }; function createBaseMsgBeginRedelegateResponse(): MsgBeginRedelegateResponse { return { completionTime: undefined }; } export const MsgBeginRedelegateResponse = { encode(message: MsgBeginRedelegateResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.completionTime !== undefined) { Timestamp.encode(message.completionTime, writer.uint32(10).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgBeginRedelegateResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgBeginRedelegateResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.completionTime = Timestamp.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgBeginRedelegateResponse { return { completionTime: isSet(object.completionTime) ? fromJsonTimestamp(object.completionTime) : undefined }; }, toJSON(message: MsgBeginRedelegateResponse): unknown { const obj: any = {}; message.completionTime !== undefined && (obj.completionTime = fromTimestamp(message.completionTime).toISOString()); return obj; }, fromPartial(object: Partial): MsgBeginRedelegateResponse { const message = createBaseMsgBeginRedelegateResponse(); message.completionTime = object.completionTime !== undefined && object.completionTime !== null ? Timestamp.fromPartial(object.completionTime) : undefined; return message; } }; function createBaseMsgUndelegate(): MsgUndelegate { return { delegatorAddress: "", validatorAddress: "", amount: undefined }; } export const MsgUndelegate = { encode(message: MsgUndelegate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.delegatorAddress !== "") { writer.uint32(10).string(message.delegatorAddress); } if (message.validatorAddress !== "") { writer.uint32(18).string(message.validatorAddress); } if (message.amount !== undefined) { Coin.encode(message.amount, writer.uint32(26).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgUndelegate { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgUndelegate(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.delegatorAddress = reader.string(); break; case 2: message.validatorAddress = reader.string(); break; case 3: message.amount = Coin.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgUndelegate { return { delegatorAddress: isSet(object.delegatorAddress) ? String(object.delegatorAddress) : "", validatorAddress: isSet(object.validatorAddress) ? String(object.validatorAddress) : "", amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined }; }, toJSON(message: MsgUndelegate): unknown { const obj: any = {}; message.delegatorAddress !== undefined && (obj.delegatorAddress = message.delegatorAddress); message.validatorAddress !== undefined && (obj.validatorAddress = message.validatorAddress); message.amount !== undefined && (obj.amount = message.amount ? Coin.toJSON(message.amount) : undefined); return obj; }, fromPartial(object: Partial): MsgUndelegate { const message = createBaseMsgUndelegate(); message.delegatorAddress = object.delegatorAddress ?? ""; message.validatorAddress = object.validatorAddress ?? ""; message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; return message; } }; function createBaseMsgUndelegateResponse(): MsgUndelegateResponse { return { completionTime: undefined }; } export const MsgUndelegateResponse = { encode(message: MsgUndelegateResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.completionTime !== undefined) { Timestamp.encode(message.completionTime, writer.uint32(10).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MsgUndelegateResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMsgUndelegateResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.completionTime = Timestamp.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgUndelegateResponse { return { completionTime: isSet(object.completionTime) ? fromJsonTimestamp(object.completionTime) : undefined }; }, toJSON(message: MsgUndelegateResponse): unknown { const obj: any = {}; message.completionTime !== undefined && (obj.completionTime = fromTimestamp(message.completionTime).toISOString()); return obj; }, fromPartial(object: Partial): MsgUndelegateResponse { const message = createBaseMsgUndelegateResponse(); message.completionTime = object.completionTime !== undefined && object.completionTime !== null ? Timestamp.fromPartial(object.completionTime) : undefined; return message; } };