import { Description, CommissionRates } from "./staking"; import { Any } from "../../../google/protobuf/any"; import { Coin } from "../../base/v1beta1/coin"; import { Timestamp } from "../../../google/protobuf/timestamp"; import * as _m0 from "protobufjs/minimal"; import { isSet, DeepPartial, toTimestamp, fromTimestamp, fromJsonTimestamp } from "@osmonauts/helpers"; /** MsgCreateValidator defines a SDK message for creating a new validator. */ export interface MsgCreateValidator { description: Description; commission: CommissionRates; min_self_delegation: string; delegator_address: string; validator_address: string; pubkey: Any; value: Coin; } /** MsgCreateValidatorResponse defines the Msg/CreateValidator response type. */ export interface MsgCreateValidatorResponse {} /** MsgEditValidator defines a SDK message for editing an existing validator. */ export interface MsgEditValidator { description: Description; validator_address: 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 */ commission_rate: string; min_self_delegation: string; } /** MsgEditValidatorResponse defines the Msg/EditValidator response type. */ export interface MsgEditValidatorResponse {} /** * MsgDelegate defines a SDK message for performing a delegation of coins * from a delegator to a validator. */ export interface MsgDelegate { delegator_address: string; validator_address: string; amount: Coin; } /** MsgDelegateResponse defines the Msg/Delegate response type. */ export interface MsgDelegateResponse {} /** * MsgBeginRedelegate defines a SDK message for performing a redelegation * of coins from a delegator and source validator to a destination validator. */ export interface MsgBeginRedelegate { delegator_address: string; validator_src_address: string; validator_dst_address: string; amount: Coin; } /** MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. */ export interface MsgBeginRedelegateResponse { completion_time: Date; } /** * MsgUndelegate defines a SDK message for performing an undelegation from a * delegate and a validator. */ export interface MsgUndelegate { delegator_address: string; validator_address: string; amount: Coin; } /** MsgUndelegateResponse defines the Msg/Undelegate response type. */ export interface MsgUndelegateResponse { completion_time: Date; } function createBaseMsgCreateValidator(): MsgCreateValidator { return { description: undefined, commission: undefined, min_self_delegation: "", delegator_address: "", validator_address: "", 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.min_self_delegation !== "") { writer.uint32(26).string(message.min_self_delegation); } if (message.delegator_address !== "") { writer.uint32(34).string(message.delegator_address); } if (message.validator_address !== "") { writer.uint32(42).string(message.validator_address); } 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.min_self_delegation = reader.string(); break; case 4: message.delegator_address = reader.string(); break; case 5: message.validator_address = 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, min_self_delegation: isSet(object.min_self_delegation) ? String(object.min_self_delegation) : "", delegator_address: isSet(object.delegator_address) ? String(object.delegator_address) : "", validator_address: isSet(object.validator_address) ? String(object.validator_address) : "", 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.min_self_delegation !== undefined && (obj.min_self_delegation = message.min_self_delegation); message.delegator_address !== undefined && (obj.delegator_address = message.delegator_address); message.validator_address !== undefined && (obj.validator_address = message.validator_address); 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: DeepPartial): 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.min_self_delegation = object.min_self_delegation ?? ""; message.delegator_address = object.delegator_address ?? ""; message.validator_address = object.validator_address ?? ""; 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(_: DeepPartial): MsgCreateValidatorResponse { const message = createBaseMsgCreateValidatorResponse(); return message; } }; function createBaseMsgEditValidator(): MsgEditValidator { return { description: undefined, validator_address: "", commission_rate: "", min_self_delegation: "" }; } 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.validator_address !== "") { writer.uint32(18).string(message.validator_address); } if (message.commission_rate !== "") { writer.uint32(26).string(message.commission_rate); } if (message.min_self_delegation !== "") { writer.uint32(34).string(message.min_self_delegation); } 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.validator_address = reader.string(); break; case 3: message.commission_rate = reader.string(); break; case 4: message.min_self_delegation = 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, validator_address: isSet(object.validator_address) ? String(object.validator_address) : "", commission_rate: isSet(object.commission_rate) ? String(object.commission_rate) : "", min_self_delegation: isSet(object.min_self_delegation) ? String(object.min_self_delegation) : "" }; }, toJSON(message: MsgEditValidator): unknown { const obj: any = {}; message.description !== undefined && (obj.description = message.description ? Description.toJSON(message.description) : undefined); message.validator_address !== undefined && (obj.validator_address = message.validator_address); message.commission_rate !== undefined && (obj.commission_rate = message.commission_rate); message.min_self_delegation !== undefined && (obj.min_self_delegation = message.min_self_delegation); return obj; }, fromPartial(object: DeepPartial): MsgEditValidator { const message = createBaseMsgEditValidator(); message.description = object.description !== undefined && object.description !== null ? Description.fromPartial(object.description) : undefined; message.validator_address = object.validator_address ?? ""; message.commission_rate = object.commission_rate ?? ""; message.min_self_delegation = object.min_self_delegation ?? ""; 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(_: DeepPartial): MsgEditValidatorResponse { const message = createBaseMsgEditValidatorResponse(); return message; } }; function createBaseMsgDelegate(): MsgDelegate { return { delegator_address: "", validator_address: "", amount: undefined }; } export const MsgDelegate = { encode(message: MsgDelegate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.delegator_address !== "") { writer.uint32(10).string(message.delegator_address); } if (message.validator_address !== "") { writer.uint32(18).string(message.validator_address); } 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.delegator_address = reader.string(); break; case 2: message.validator_address = 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 { delegator_address: isSet(object.delegator_address) ? String(object.delegator_address) : "", validator_address: isSet(object.validator_address) ? String(object.validator_address) : "", amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined }; }, toJSON(message: MsgDelegate): unknown { const obj: any = {}; message.delegator_address !== undefined && (obj.delegator_address = message.delegator_address); message.validator_address !== undefined && (obj.validator_address = message.validator_address); message.amount !== undefined && (obj.amount = message.amount ? Coin.toJSON(message.amount) : undefined); return obj; }, fromPartial(object: DeepPartial): MsgDelegate { const message = createBaseMsgDelegate(); message.delegator_address = object.delegator_address ?? ""; message.validator_address = object.validator_address ?? ""; 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(_: DeepPartial): MsgDelegateResponse { const message = createBaseMsgDelegateResponse(); return message; } }; function createBaseMsgBeginRedelegate(): MsgBeginRedelegate { return { delegator_address: "", validator_src_address: "", validator_dst_address: "", amount: undefined }; } export const MsgBeginRedelegate = { encode(message: MsgBeginRedelegate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.delegator_address !== "") { writer.uint32(10).string(message.delegator_address); } if (message.validator_src_address !== "") { writer.uint32(18).string(message.validator_src_address); } if (message.validator_dst_address !== "") { writer.uint32(26).string(message.validator_dst_address); } 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.delegator_address = reader.string(); break; case 2: message.validator_src_address = reader.string(); break; case 3: message.validator_dst_address = 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 { delegator_address: isSet(object.delegator_address) ? String(object.delegator_address) : "", validator_src_address: isSet(object.validator_src_address) ? String(object.validator_src_address) : "", validator_dst_address: isSet(object.validator_dst_address) ? String(object.validator_dst_address) : "", amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined }; }, toJSON(message: MsgBeginRedelegate): unknown { const obj: any = {}; message.delegator_address !== undefined && (obj.delegator_address = message.delegator_address); message.validator_src_address !== undefined && (obj.validator_src_address = message.validator_src_address); message.validator_dst_address !== undefined && (obj.validator_dst_address = message.validator_dst_address); message.amount !== undefined && (obj.amount = message.amount ? Coin.toJSON(message.amount) : undefined); return obj; }, fromPartial(object: DeepPartial): MsgBeginRedelegate { const message = createBaseMsgBeginRedelegate(); message.delegator_address = object.delegator_address ?? ""; message.validator_src_address = object.validator_src_address ?? ""; message.validator_dst_address = object.validator_dst_address ?? ""; message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; return message; } }; function createBaseMsgBeginRedelegateResponse(): MsgBeginRedelegateResponse { return { completion_time: undefined }; } export const MsgBeginRedelegateResponse = { encode(message: MsgBeginRedelegateResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.completion_time !== undefined) { Timestamp.encode(toTimestamp(message.completion_time), 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.completion_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgBeginRedelegateResponse { return { completion_time: isSet(object.completion_time) ? fromJsonTimestamp(object.completion_time) : undefined }; }, toJSON(message: MsgBeginRedelegateResponse): unknown { const obj: any = {}; message.completion_time !== undefined && (obj.completion_time = message.completion_time.toISOString()); return obj; }, fromPartial(object: DeepPartial): MsgBeginRedelegateResponse { const message = createBaseMsgBeginRedelegateResponse(); message.completion_time = object.completion_time ?? undefined; return message; } }; function createBaseMsgUndelegate(): MsgUndelegate { return { delegator_address: "", validator_address: "", amount: undefined }; } export const MsgUndelegate = { encode(message: MsgUndelegate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.delegator_address !== "") { writer.uint32(10).string(message.delegator_address); } if (message.validator_address !== "") { writer.uint32(18).string(message.validator_address); } 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.delegator_address = reader.string(); break; case 2: message.validator_address = 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 { delegator_address: isSet(object.delegator_address) ? String(object.delegator_address) : "", validator_address: isSet(object.validator_address) ? String(object.validator_address) : "", amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined }; }, toJSON(message: MsgUndelegate): unknown { const obj: any = {}; message.delegator_address !== undefined && (obj.delegator_address = message.delegator_address); message.validator_address !== undefined && (obj.validator_address = message.validator_address); message.amount !== undefined && (obj.amount = message.amount ? Coin.toJSON(message.amount) : undefined); return obj; }, fromPartial(object: DeepPartial): MsgUndelegate { const message = createBaseMsgUndelegate(); message.delegator_address = object.delegator_address ?? ""; message.validator_address = object.validator_address ?? ""; message.amount = object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; return message; } }; function createBaseMsgUndelegateResponse(): MsgUndelegateResponse { return { completion_time: undefined }; } export const MsgUndelegateResponse = { encode(message: MsgUndelegateResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.completion_time !== undefined) { Timestamp.encode(toTimestamp(message.completion_time), 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.completion_time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MsgUndelegateResponse { return { completion_time: isSet(object.completion_time) ? fromJsonTimestamp(object.completion_time) : undefined }; }, toJSON(message: MsgUndelegateResponse): unknown { const obj: any = {}; message.completion_time !== undefined && (obj.completion_time = message.completion_time.toISOString()); return obj; }, fromPartial(object: DeepPartial): MsgUndelegateResponse { const message = createBaseMsgUndelegateResponse(); message.completion_time = object.completion_time ?? undefined; return message; } };