UNPKG

interchainjs

Version:

InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.

1,227 lines 66.5 kB
import { Timestamp } from "../../../google/protobuf/timestamp"; import { Duration } from "../../../google/protobuf/duration"; import { Any } from "../../../google/protobuf/any"; import { BinaryReader, BinaryWriter } from "../../../binary"; import { toTimestamp, fromTimestamp, isSet } from "../../../helpers"; import { GlobalDecoderRegistry } from "../../../registry"; /** VoteOption enumerates the valid vote options for a given proposal. */ export var VoteOption; (function (VoteOption) { /** * VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will * return an error. */ VoteOption[VoteOption["VOTE_OPTION_UNSPECIFIED"] = 0] = "VOTE_OPTION_UNSPECIFIED"; /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */ VoteOption[VoteOption["VOTE_OPTION_YES"] = 1] = "VOTE_OPTION_YES"; /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */ VoteOption[VoteOption["VOTE_OPTION_ABSTAIN"] = 2] = "VOTE_OPTION_ABSTAIN"; /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */ VoteOption[VoteOption["VOTE_OPTION_NO"] = 3] = "VOTE_OPTION_NO"; /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */ VoteOption[VoteOption["VOTE_OPTION_NO_WITH_VETO"] = 4] = "VOTE_OPTION_NO_WITH_VETO"; VoteOption[VoteOption["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; })(VoteOption || (VoteOption = {})); export const VoteOptionAmino = VoteOption; export function voteOptionFromJSON(object) { switch (object) { case 0: case "VOTE_OPTION_UNSPECIFIED": return VoteOption.VOTE_OPTION_UNSPECIFIED; case 1: case "VOTE_OPTION_YES": return VoteOption.VOTE_OPTION_YES; case 2: case "VOTE_OPTION_ABSTAIN": return VoteOption.VOTE_OPTION_ABSTAIN; case 3: case "VOTE_OPTION_NO": return VoteOption.VOTE_OPTION_NO; case 4: case "VOTE_OPTION_NO_WITH_VETO": return VoteOption.VOTE_OPTION_NO_WITH_VETO; case -1: case "UNRECOGNIZED": default: return VoteOption.UNRECOGNIZED; } } export function voteOptionToJSON(object) { switch (object) { case VoteOption.VOTE_OPTION_UNSPECIFIED: return "VOTE_OPTION_UNSPECIFIED"; case VoteOption.VOTE_OPTION_YES: return "VOTE_OPTION_YES"; case VoteOption.VOTE_OPTION_ABSTAIN: return "VOTE_OPTION_ABSTAIN"; case VoteOption.VOTE_OPTION_NO: return "VOTE_OPTION_NO"; case VoteOption.VOTE_OPTION_NO_WITH_VETO: return "VOTE_OPTION_NO_WITH_VETO"; case VoteOption.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } /** ProposalStatus defines proposal statuses. */ export var ProposalStatus; (function (ProposalStatus) { /** PROPOSAL_STATUS_UNSPECIFIED - An empty value is invalid and not allowed. */ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_UNSPECIFIED"] = 0] = "PROPOSAL_STATUS_UNSPECIFIED"; /** PROPOSAL_STATUS_SUBMITTED - Initial status of a proposal when submitted. */ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_SUBMITTED"] = 1] = "PROPOSAL_STATUS_SUBMITTED"; /** * PROPOSAL_STATUS_ACCEPTED - Final status of a proposal when the final tally is done and the outcome * passes the group policy's decision policy. */ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_ACCEPTED"] = 2] = "PROPOSAL_STATUS_ACCEPTED"; /** * PROPOSAL_STATUS_REJECTED - Final status of a proposal when the final tally is done and the outcome * is rejected by the group policy's decision policy. */ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_REJECTED"] = 3] = "PROPOSAL_STATUS_REJECTED"; /** * PROPOSAL_STATUS_ABORTED - Final status of a proposal when the group policy is modified before the * final tally. */ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_ABORTED"] = 4] = "PROPOSAL_STATUS_ABORTED"; /** * PROPOSAL_STATUS_WITHDRAWN - A proposal can be withdrawn before the voting start time by the owner. * When this happens the final status is Withdrawn. */ ProposalStatus[ProposalStatus["PROPOSAL_STATUS_WITHDRAWN"] = 5] = "PROPOSAL_STATUS_WITHDRAWN"; ProposalStatus[ProposalStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; })(ProposalStatus || (ProposalStatus = {})); export const ProposalStatusAmino = ProposalStatus; export function proposalStatusFromJSON(object) { switch (object) { case 0: case "PROPOSAL_STATUS_UNSPECIFIED": return ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED; case 1: case "PROPOSAL_STATUS_SUBMITTED": return ProposalStatus.PROPOSAL_STATUS_SUBMITTED; case 2: case "PROPOSAL_STATUS_ACCEPTED": return ProposalStatus.PROPOSAL_STATUS_ACCEPTED; case 3: case "PROPOSAL_STATUS_REJECTED": return ProposalStatus.PROPOSAL_STATUS_REJECTED; case 4: case "PROPOSAL_STATUS_ABORTED": return ProposalStatus.PROPOSAL_STATUS_ABORTED; case 5: case "PROPOSAL_STATUS_WITHDRAWN": return ProposalStatus.PROPOSAL_STATUS_WITHDRAWN; case -1: case "UNRECOGNIZED": default: return ProposalStatus.UNRECOGNIZED; } } export function proposalStatusToJSON(object) { switch (object) { case ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED: return "PROPOSAL_STATUS_UNSPECIFIED"; case ProposalStatus.PROPOSAL_STATUS_SUBMITTED: return "PROPOSAL_STATUS_SUBMITTED"; case ProposalStatus.PROPOSAL_STATUS_ACCEPTED: return "PROPOSAL_STATUS_ACCEPTED"; case ProposalStatus.PROPOSAL_STATUS_REJECTED: return "PROPOSAL_STATUS_REJECTED"; case ProposalStatus.PROPOSAL_STATUS_ABORTED: return "PROPOSAL_STATUS_ABORTED"; case ProposalStatus.PROPOSAL_STATUS_WITHDRAWN: return "PROPOSAL_STATUS_WITHDRAWN"; case ProposalStatus.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } /** ProposalExecutorResult defines types of proposal executor results. */ export var ProposalExecutorResult; (function (ProposalExecutorResult) { /** PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - An empty value is not allowed. */ ProposalExecutorResult[ProposalExecutorResult["PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED"] = 0] = "PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED"; /** PROPOSAL_EXECUTOR_RESULT_NOT_RUN - We have not yet run the executor. */ ProposalExecutorResult[ProposalExecutorResult["PROPOSAL_EXECUTOR_RESULT_NOT_RUN"] = 1] = "PROPOSAL_EXECUTOR_RESULT_NOT_RUN"; /** PROPOSAL_EXECUTOR_RESULT_SUCCESS - The executor was successful and proposed action updated state. */ ProposalExecutorResult[ProposalExecutorResult["PROPOSAL_EXECUTOR_RESULT_SUCCESS"] = 2] = "PROPOSAL_EXECUTOR_RESULT_SUCCESS"; /** PROPOSAL_EXECUTOR_RESULT_FAILURE - The executor returned an error and proposed action didn't update state. */ ProposalExecutorResult[ProposalExecutorResult["PROPOSAL_EXECUTOR_RESULT_FAILURE"] = 3] = "PROPOSAL_EXECUTOR_RESULT_FAILURE"; ProposalExecutorResult[ProposalExecutorResult["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; })(ProposalExecutorResult || (ProposalExecutorResult = {})); export const ProposalExecutorResultAmino = ProposalExecutorResult; export function proposalExecutorResultFromJSON(object) { switch (object) { case 0: case "PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED": return ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED; case 1: case "PROPOSAL_EXECUTOR_RESULT_NOT_RUN": return ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_NOT_RUN; case 2: case "PROPOSAL_EXECUTOR_RESULT_SUCCESS": return ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_SUCCESS; case 3: case "PROPOSAL_EXECUTOR_RESULT_FAILURE": return ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_FAILURE; case -1: case "UNRECOGNIZED": default: return ProposalExecutorResult.UNRECOGNIZED; } } export function proposalExecutorResultToJSON(object) { switch (object) { case ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: return "PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED"; case ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_NOT_RUN: return "PROPOSAL_EXECUTOR_RESULT_NOT_RUN"; case ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_SUCCESS: return "PROPOSAL_EXECUTOR_RESULT_SUCCESS"; case ProposalExecutorResult.PROPOSAL_EXECUTOR_RESULT_FAILURE: return "PROPOSAL_EXECUTOR_RESULT_FAILURE"; case ProposalExecutorResult.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } function createBaseMember() { return { address: "", weight: "", metadata: "", addedAt: new Date() }; } /** * Member represents a group member with an account address, * non-zero weight, metadata and added_at timestamp. * @name Member * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.Member */ export const Member = { typeUrl: "/cosmos.group.v1.Member", aminoType: "cosmos-sdk/Member", is(o) { return o && (o.$typeUrl === Member.typeUrl || typeof o.address === "string" && typeof o.weight === "string" && typeof o.metadata === "string" && Timestamp.is(o.addedAt)); }, isAmino(o) { return o && (o.$typeUrl === Member.typeUrl || typeof o.address === "string" && typeof o.weight === "string" && typeof o.metadata === "string" && Timestamp.isAmino(o.added_at)); }, encode(message, writer = BinaryWriter.create()) { if (message.address !== "") { writer.uint32(10).string(message.address); } if (message.weight !== "") { writer.uint32(18).string(message.weight); } if (message.metadata !== "") { writer.uint32(26).string(message.metadata); } if (message.addedAt !== undefined) { Timestamp.encode(toTimestamp(message.addedAt), writer.uint32(34).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMember(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.address = reader.string(); break; case 2: message.weight = reader.string(); break; case 3: message.metadata = reader.string(); break; case 4: message.addedAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseMember(); message.address = object.address ?? ""; message.weight = object.weight ?? ""; message.metadata = object.metadata ?? ""; message.addedAt = object.addedAt ?? undefined; return message; }, fromAmino(object) { const message = createBaseMember(); if (object.address !== undefined && object.address !== null) { message.address = object.address; } if (object.weight !== undefined && object.weight !== null) { message.weight = object.weight; } if (object.metadata !== undefined && object.metadata !== null) { message.metadata = object.metadata; } if (object.added_at !== undefined && object.added_at !== null) { message.addedAt = fromTimestamp(Timestamp.fromAmino(object.added_at)); } return message; }, toAmino(message) { const obj = {}; obj.address = message.address === "" ? undefined : message.address; obj.weight = message.weight === "" ? undefined : message.weight; obj.metadata = message.metadata === "" ? undefined : message.metadata; obj.added_at = message.addedAt ? Timestamp.toAmino(toTimestamp(message.addedAt)) : new Date(); return obj; }, fromAminoMsg(object) { return Member.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/Member", value: Member.toAmino(message) }; }, fromProtoMsg(message) { return Member.decode(message.value); }, toProto(message) { return Member.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.Member", value: Member.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseMemberRequest() { return { address: "", weight: "", metadata: "" }; } /** * MemberRequest represents a group member to be used in Msg server requests. * Contrary to `Member`, it doesn't have any `added_at` field * since this field cannot be set as part of requests. * @name MemberRequest * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.MemberRequest */ export const MemberRequest = { typeUrl: "/cosmos.group.v1.MemberRequest", aminoType: "cosmos-sdk/MemberRequest", is(o) { return o && (o.$typeUrl === MemberRequest.typeUrl || typeof o.address === "string" && typeof o.weight === "string" && typeof o.metadata === "string"); }, isAmino(o) { return o && (o.$typeUrl === MemberRequest.typeUrl || typeof o.address === "string" && typeof o.weight === "string" && typeof o.metadata === "string"); }, encode(message, writer = BinaryWriter.create()) { if (message.address !== "") { writer.uint32(10).string(message.address); } if (message.weight !== "") { writer.uint32(18).string(message.weight); } if (message.metadata !== "") { writer.uint32(26).string(message.metadata); } return writer; }, decode(input, length) { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMemberRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.address = reader.string(); break; case 2: message.weight = reader.string(); break; case 3: message.metadata = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseMemberRequest(); message.address = object.address ?? ""; message.weight = object.weight ?? ""; message.metadata = object.metadata ?? ""; return message; }, fromAmino(object) { const message = createBaseMemberRequest(); if (object.address !== undefined && object.address !== null) { message.address = object.address; } if (object.weight !== undefined && object.weight !== null) { message.weight = object.weight; } if (object.metadata !== undefined && object.metadata !== null) { message.metadata = object.metadata; } return message; }, toAmino(message) { const obj = {}; obj.address = message.address === "" ? undefined : message.address; obj.weight = message.weight === "" ? undefined : message.weight; obj.metadata = message.metadata === "" ? undefined : message.metadata; return obj; }, fromAminoMsg(object) { return MemberRequest.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/MemberRequest", value: MemberRequest.toAmino(message) }; }, fromProtoMsg(message) { return MemberRequest.decode(message.value); }, toProto(message) { return MemberRequest.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.MemberRequest", value: MemberRequest.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseThresholdDecisionPolicy() { return { threshold: "", windows: undefined }; } /** * ThresholdDecisionPolicy is a decision policy where a proposal passes when it * satisfies the two following conditions: * 1. The sum of all `YES` voter's weights is greater or equal than the defined * `threshold`. * 2. The voting and execution periods of the proposal respect the parameters * given by `windows`. * @name ThresholdDecisionPolicy * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.ThresholdDecisionPolicy */ export const ThresholdDecisionPolicy = { typeUrl: "/cosmos.group.v1.ThresholdDecisionPolicy", aminoType: "cosmos-sdk/ThresholdDecisionPolicy", is(o) { return o && (o.$typeUrl === ThresholdDecisionPolicy.typeUrl || typeof o.threshold === "string"); }, isAmino(o) { return o && (o.$typeUrl === ThresholdDecisionPolicy.typeUrl || typeof o.threshold === "string"); }, encode(message, writer = BinaryWriter.create()) { if (message.threshold !== "") { writer.uint32(10).string(message.threshold); } if (message.windows !== undefined) { DecisionPolicyWindows.encode(message.windows, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseThresholdDecisionPolicy(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.threshold = reader.string(); break; case 2: message.windows = DecisionPolicyWindows.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseThresholdDecisionPolicy(); message.threshold = object.threshold ?? ""; message.windows = object.windows !== undefined && object.windows !== null ? DecisionPolicyWindows.fromPartial(object.windows) : undefined; return message; }, fromAmino(object) { const message = createBaseThresholdDecisionPolicy(); if (object.threshold !== undefined && object.threshold !== null) { message.threshold = object.threshold; } if (object.windows !== undefined && object.windows !== null) { message.windows = DecisionPolicyWindows.fromAmino(object.windows); } return message; }, toAmino(message) { const obj = {}; obj.threshold = message.threshold === "" ? undefined : message.threshold; obj.windows = message.windows ? DecisionPolicyWindows.toAmino(message.windows) : undefined; return obj; }, fromAminoMsg(object) { return ThresholdDecisionPolicy.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/ThresholdDecisionPolicy", value: ThresholdDecisionPolicy.toAmino(message) }; }, fromProtoMsg(message) { return ThresholdDecisionPolicy.decode(message.value); }, toProto(message) { return ThresholdDecisionPolicy.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.ThresholdDecisionPolicy", value: ThresholdDecisionPolicy.encode(message).finish() }; }, registerTypeUrl() { if (!GlobalDecoderRegistry.registerExistingTypeUrl(ThresholdDecisionPolicy.typeUrl)) { return; } GlobalDecoderRegistry.register(ThresholdDecisionPolicy.typeUrl, ThresholdDecisionPolicy); GlobalDecoderRegistry.registerAminoProtoMapping(ThresholdDecisionPolicy.aminoType, ThresholdDecisionPolicy.typeUrl); DecisionPolicyWindows.registerTypeUrl(); } }; function createBasePercentageDecisionPolicy() { return { percentage: "", windows: undefined }; } /** * PercentageDecisionPolicy is a decision policy where a proposal passes when * it satisfies the two following conditions: * 1. The percentage of all `YES` voters' weights out of the total group weight * is greater or equal than the given `percentage`. * 2. The voting and execution periods of the proposal respect the parameters * given by `windows`. * @name PercentageDecisionPolicy * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.PercentageDecisionPolicy */ export const PercentageDecisionPolicy = { typeUrl: "/cosmos.group.v1.PercentageDecisionPolicy", aminoType: "cosmos-sdk/PercentageDecisionPolicy", is(o) { return o && (o.$typeUrl === PercentageDecisionPolicy.typeUrl || typeof o.percentage === "string"); }, isAmino(o) { return o && (o.$typeUrl === PercentageDecisionPolicy.typeUrl || typeof o.percentage === "string"); }, encode(message, writer = BinaryWriter.create()) { if (message.percentage !== "") { writer.uint32(10).string(message.percentage); } if (message.windows !== undefined) { DecisionPolicyWindows.encode(message.windows, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBasePercentageDecisionPolicy(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.percentage = reader.string(); break; case 2: message.windows = DecisionPolicyWindows.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBasePercentageDecisionPolicy(); message.percentage = object.percentage ?? ""; message.windows = object.windows !== undefined && object.windows !== null ? DecisionPolicyWindows.fromPartial(object.windows) : undefined; return message; }, fromAmino(object) { const message = createBasePercentageDecisionPolicy(); if (object.percentage !== undefined && object.percentage !== null) { message.percentage = object.percentage; } if (object.windows !== undefined && object.windows !== null) { message.windows = DecisionPolicyWindows.fromAmino(object.windows); } return message; }, toAmino(message) { const obj = {}; obj.percentage = message.percentage === "" ? undefined : message.percentage; obj.windows = message.windows ? DecisionPolicyWindows.toAmino(message.windows) : undefined; return obj; }, fromAminoMsg(object) { return PercentageDecisionPolicy.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/PercentageDecisionPolicy", value: PercentageDecisionPolicy.toAmino(message) }; }, fromProtoMsg(message) { return PercentageDecisionPolicy.decode(message.value); }, toProto(message) { return PercentageDecisionPolicy.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.PercentageDecisionPolicy", value: PercentageDecisionPolicy.encode(message).finish() }; }, registerTypeUrl() { if (!GlobalDecoderRegistry.registerExistingTypeUrl(PercentageDecisionPolicy.typeUrl)) { return; } GlobalDecoderRegistry.register(PercentageDecisionPolicy.typeUrl, PercentageDecisionPolicy); GlobalDecoderRegistry.registerAminoProtoMapping(PercentageDecisionPolicy.aminoType, PercentageDecisionPolicy.typeUrl); DecisionPolicyWindows.registerTypeUrl(); } }; function createBaseDecisionPolicyWindows() { return { votingPeriod: Duration.fromPartial({}), minExecutionPeriod: Duration.fromPartial({}) }; } /** * DecisionPolicyWindows defines the different windows for voting and execution. * @name DecisionPolicyWindows * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.DecisionPolicyWindows */ export const DecisionPolicyWindows = { typeUrl: "/cosmos.group.v1.DecisionPolicyWindows", aminoType: "cosmos-sdk/DecisionPolicyWindows", is(o) { return o && (o.$typeUrl === DecisionPolicyWindows.typeUrl || Duration.is(o.votingPeriod) && Duration.is(o.minExecutionPeriod)); }, isAmino(o) { return o && (o.$typeUrl === DecisionPolicyWindows.typeUrl || Duration.isAmino(o.voting_period) && Duration.isAmino(o.min_execution_period)); }, encode(message, writer = BinaryWriter.create()) { if (message.votingPeriod !== undefined) { Duration.encode(message.votingPeriod, writer.uint32(10).fork()).ldelim(); } if (message.minExecutionPeriod !== undefined) { Duration.encode(message.minExecutionPeriod, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDecisionPolicyWindows(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.votingPeriod = Duration.decode(reader, reader.uint32()); break; case 2: message.minExecutionPeriod = Duration.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseDecisionPolicyWindows(); message.votingPeriod = object.votingPeriod !== undefined && object.votingPeriod !== null ? Duration.fromPartial(object.votingPeriod) : undefined; message.minExecutionPeriod = object.minExecutionPeriod !== undefined && object.minExecutionPeriod !== null ? Duration.fromPartial(object.minExecutionPeriod) : undefined; return message; }, fromAmino(object) { const message = createBaseDecisionPolicyWindows(); if (object.voting_period !== undefined && object.voting_period !== null) { message.votingPeriod = Duration.fromAmino(object.voting_period); } if (object.min_execution_period !== undefined && object.min_execution_period !== null) { message.minExecutionPeriod = Duration.fromAmino(object.min_execution_period); } return message; }, toAmino(message) { const obj = {}; obj.voting_period = message.votingPeriod ? Duration.toAmino(message.votingPeriod) : Duration.toAmino(Duration.fromPartial({})); obj.min_execution_period = message.minExecutionPeriod ? Duration.toAmino(message.minExecutionPeriod) : Duration.toAmino(Duration.fromPartial({})); return obj; }, fromAminoMsg(object) { return DecisionPolicyWindows.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/DecisionPolicyWindows", value: DecisionPolicyWindows.toAmino(message) }; }, fromProtoMsg(message) { return DecisionPolicyWindows.decode(message.value); }, toProto(message) { return DecisionPolicyWindows.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.DecisionPolicyWindows", value: DecisionPolicyWindows.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseGroupInfo() { return { id: BigInt(0), admin: "", metadata: "", version: BigInt(0), totalWeight: "", createdAt: new Date() }; } /** * GroupInfo represents the high-level on-chain information for a group. * @name GroupInfo * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.GroupInfo */ export const GroupInfo = { typeUrl: "/cosmos.group.v1.GroupInfo", aminoType: "cosmos-sdk/GroupInfo", is(o) { return o && (o.$typeUrl === GroupInfo.typeUrl || typeof o.id === "bigint" && typeof o.admin === "string" && typeof o.metadata === "string" && typeof o.version === "bigint" && typeof o.totalWeight === "string" && Timestamp.is(o.createdAt)); }, isAmino(o) { return o && (o.$typeUrl === GroupInfo.typeUrl || typeof o.id === "bigint" && typeof o.admin === "string" && typeof o.metadata === "string" && typeof o.version === "bigint" && typeof o.total_weight === "string" && Timestamp.isAmino(o.created_at)); }, encode(message, writer = BinaryWriter.create()) { if (message.id !== BigInt(0)) { writer.uint32(8).uint64(message.id); } if (message.admin !== "") { writer.uint32(18).string(message.admin); } if (message.metadata !== "") { writer.uint32(26).string(message.metadata); } if (message.version !== BigInt(0)) { writer.uint32(32).uint64(message.version); } if (message.totalWeight !== "") { writer.uint32(42).string(message.totalWeight); } if (message.createdAt !== undefined) { Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(50).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGroupInfo(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.uint64(); break; case 2: message.admin = reader.string(); break; case 3: message.metadata = reader.string(); break; case 4: message.version = reader.uint64(); break; case 5: message.totalWeight = reader.string(); break; case 6: message.createdAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseGroupInfo(); message.id = object.id !== undefined && object.id !== null ? BigInt(object.id.toString()) : BigInt(0); message.admin = object.admin ?? ""; message.metadata = object.metadata ?? ""; message.version = object.version !== undefined && object.version !== null ? BigInt(object.version.toString()) : BigInt(0); message.totalWeight = object.totalWeight ?? ""; message.createdAt = object.createdAt ?? undefined; return message; }, fromAmino(object) { const message = createBaseGroupInfo(); if (object.id !== undefined && object.id !== null) { message.id = BigInt(object.id); } if (object.admin !== undefined && object.admin !== null) { message.admin = object.admin; } if (object.metadata !== undefined && object.metadata !== null) { message.metadata = object.metadata; } if (object.version !== undefined && object.version !== null) { message.version = BigInt(object.version); } if (object.total_weight !== undefined && object.total_weight !== null) { message.totalWeight = object.total_weight; } if (object.created_at !== undefined && object.created_at !== null) { message.createdAt = fromTimestamp(Timestamp.fromAmino(object.created_at)); } return message; }, toAmino(message) { const obj = {}; obj.id = message.id !== BigInt(0) ? message.id?.toString() : undefined; obj.admin = message.admin === "" ? undefined : message.admin; obj.metadata = message.metadata === "" ? undefined : message.metadata; obj.version = message.version !== BigInt(0) ? message.version?.toString() : undefined; obj.total_weight = message.totalWeight === "" ? undefined : message.totalWeight; obj.created_at = message.createdAt ? Timestamp.toAmino(toTimestamp(message.createdAt)) : new Date(); return obj; }, fromAminoMsg(object) { return GroupInfo.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/GroupInfo", value: GroupInfo.toAmino(message) }; }, fromProtoMsg(message) { return GroupInfo.decode(message.value); }, toProto(message) { return GroupInfo.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.GroupInfo", value: GroupInfo.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseGroupMember() { return { groupId: BigInt(0), member: undefined }; } /** * GroupMember represents the relationship between a group and a member. * @name GroupMember * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.GroupMember */ export const GroupMember = { typeUrl: "/cosmos.group.v1.GroupMember", aminoType: "cosmos-sdk/GroupMember", is(o) { return o && (o.$typeUrl === GroupMember.typeUrl || typeof o.groupId === "bigint"); }, isAmino(o) { return o && (o.$typeUrl === GroupMember.typeUrl || typeof o.group_id === "bigint"); }, encode(message, writer = BinaryWriter.create()) { if (message.groupId !== BigInt(0)) { writer.uint32(8).uint64(message.groupId); } if (message.member !== undefined) { Member.encode(message.member, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGroupMember(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.groupId = reader.uint64(); break; case 2: message.member = Member.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseGroupMember(); message.groupId = object.groupId !== undefined && object.groupId !== null ? BigInt(object.groupId.toString()) : BigInt(0); message.member = object.member !== undefined && object.member !== null ? Member.fromPartial(object.member) : undefined; return message; }, fromAmino(object) { const message = createBaseGroupMember(); if (object.group_id !== undefined && object.group_id !== null) { message.groupId = BigInt(object.group_id); } if (object.member !== undefined && object.member !== null) { message.member = Member.fromAmino(object.member); } return message; }, toAmino(message) { const obj = {}; obj.group_id = message.groupId !== BigInt(0) ? message.groupId?.toString() : undefined; obj.member = message.member ? Member.toAmino(message.member) : undefined; return obj; }, fromAminoMsg(object) { return GroupMember.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/GroupMember", value: GroupMember.toAmino(message) }; }, fromProtoMsg(message) { return GroupMember.decode(message.value); }, toProto(message) { return GroupMember.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.GroupMember", value: GroupMember.encode(message).finish() }; }, registerTypeUrl() { if (!GlobalDecoderRegistry.registerExistingTypeUrl(GroupMember.typeUrl)) { return; } Member.registerTypeUrl(); } }; function createBaseGroupPolicyInfo() { return { address: "", groupId: BigInt(0), admin: "", metadata: "", version: BigInt(0), decisionPolicy: undefined, createdAt: new Date() }; } /** * GroupPolicyInfo represents the high-level on-chain information for a group policy. * @name GroupPolicyInfo * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.GroupPolicyInfo */ export const GroupPolicyInfo = { typeUrl: "/cosmos.group.v1.GroupPolicyInfo", aminoType: "cosmos-sdk/GroupPolicyInfo", is(o) { return o && (o.$typeUrl === GroupPolicyInfo.typeUrl || typeof o.address === "string" && typeof o.groupId === "bigint" && typeof o.admin === "string" && typeof o.metadata === "string" && typeof o.version === "bigint" && Timestamp.is(o.createdAt)); }, isAmino(o) { return o && (o.$typeUrl === GroupPolicyInfo.typeUrl || typeof o.address === "string" && typeof o.group_id === "bigint" && typeof o.admin === "string" && typeof o.metadata === "string" && typeof o.version === "bigint" && Timestamp.isAmino(o.created_at)); }, encode(message, writer = BinaryWriter.create()) { if (message.address !== "") { writer.uint32(10).string(message.address); } if (message.groupId !== BigInt(0)) { writer.uint32(16).uint64(message.groupId); } if (message.admin !== "") { writer.uint32(26).string(message.admin); } if (message.metadata !== "") { writer.uint32(34).string(message.metadata); } if (message.version !== BigInt(0)) { writer.uint32(40).uint64(message.version); } if (message.decisionPolicy !== undefined) { Any.encode(GlobalDecoderRegistry.wrapAny(message.decisionPolicy), writer.uint32(50).fork()).ldelim(); } if (message.createdAt !== undefined) { Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(58).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGroupPolicyInfo(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.address = reader.string(); break; case 2: message.groupId = reader.uint64(); break; case 3: message.admin = reader.string(); break; case 4: message.metadata = reader.string(); break; case 5: message.version = reader.uint64(); break; case 6: message.decisionPolicy = GlobalDecoderRegistry.unwrapAny(reader); break; case 7: message.createdAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseGroupPolicyInfo(); message.address = object.address ?? ""; message.groupId = object.groupId !== undefined && object.groupId !== null ? BigInt(object.groupId.toString()) : BigInt(0); message.admin = object.admin ?? ""; message.metadata = object.metadata ?? ""; message.version = object.version !== undefined && object.version !== null ? BigInt(object.version.toString()) : BigInt(0); message.decisionPolicy = object.decisionPolicy !== undefined && object.decisionPolicy !== null ? GlobalDecoderRegistry.fromPartial(object.decisionPolicy) : undefined; message.createdAt = object.createdAt ?? undefined; return message; }, fromAmino(object) { const message = createBaseGroupPolicyInfo(); if (object.address !== undefined && object.address !== null) { message.address = object.address; } if (object.group_id !== undefined && object.group_id !== null) { message.groupId = BigInt(object.group_id); } if (object.admin !== undefined && object.admin !== null) { message.admin = object.admin; } if (object.metadata !== undefined && object.metadata !== null) { message.metadata = object.metadata; } if (object.version !== undefined && object.version !== null) { message.version = BigInt(object.version); } if (object.decision_policy !== undefined && object.decision_policy !== null) { message.decisionPolicy = GlobalDecoderRegistry.fromAminoMsg(object.decision_policy); } if (object.created_at !== undefined && object.created_at !== null) { message.createdAt = fromTimestamp(Timestamp.fromAmino(object.created_at)); } return message; }, toAmino(message) { const obj = {}; obj.address = message.address === "" ? undefined : message.address; obj.group_id = message.groupId !== BigInt(0) ? message.groupId?.toString() : undefined; obj.admin = message.admin === "" ? undefined : message.admin; obj.metadata = message.metadata === "" ? undefined : message.metadata; obj.version = message.version !== BigInt(0) ? message.version?.toString() : undefined; obj.decision_policy = message.decisionPolicy ? GlobalDecoderRegistry.toAminoMsg(message.decisionPolicy) : undefined; obj.created_at = message.createdAt ? Timestamp.toAmino(toTimestamp(message.createdAt)) : new Date(); return obj; }, fromAminoMsg(object) { return GroupPolicyInfo.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/GroupPolicyInfo", value: GroupPolicyInfo.toAmino(message) }; }, fromProtoMsg(message) { return GroupPolicyInfo.decode(message.value); }, toProto(message) { return GroupPolicyInfo.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.GroupPolicyInfo", value: GroupPolicyInfo.encode(message).finish() }; }, registerTypeUrl() { if (!GlobalDecoderRegistry.registerExistingTypeUrl(GroupPolicyInfo.typeUrl)) { return; } ThresholdDecisionPolicy.registerTypeUrl(); PercentageDecisionPolicy.registerTypeUrl(); } }; function createBaseProposal() { return { id: BigInt(0), groupPolicyAddress: "", metadata: "", proposers: [], submitTime: new Date(), groupVersion: BigInt(0), groupPolicyVersion: BigInt(0), status: 0, finalTallyResult: TallyResult.fromPartial({}), votingPeriodEnd: new Date(), executorResult: 0, messages: [], title: "", summary: "" }; } /** * Proposal defines a group proposal. Any member of a group can submit a proposal * for a group policy to decide upon. * A proposal consists of a set of `sdk.Msg`s that will be executed if the proposal * passes as well as some optional metadata associated with the proposal. * @name Proposal * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.Proposal */ export const Proposal = { typeUrl: "/cosmos.group.v1.Proposal", aminoType: "cosmos-sdk/Proposal", is(o) { return o && (o.$typeUrl === Proposal.typeUrl || typeof o.id === "bigint" && typeof o.groupPolicyAddress === "string" && typeof o.metadata === "string" && Array.isArray(o.proposers) && (!o.proposers.length || typeof o.proposers[0] === "string") && Timestamp.is(o.submitTime) && typeof o.groupVersion === "bigint" && typeof o.groupPolicyVersion === "bigint" && isSet(o.status) && TallyResult.is(o.finalTallyResult) && Timestamp.is(o.votingPeriodEnd) && isSet(o.executorResult) && Array.isArray(o.messages) && (!o.messages.length || Any.is(o.messages[0])) && typeof o.title === "string" && typeof o.summary === "string"); }, isAmino(o) { return o && (o.$typeUrl === Proposal.typeUrl || typeof o.id === "bigint" && typeof o.group_policy_address === "string" && typeof o.metadata === "string" && Array.isArray(o.proposers) && (!o.proposers.length || typeof o.proposers[0] === "string") && Timestamp.isAmino(o.submit_time) && typeof o.group_version === "bigint" && typeof o.group_policy_version === "bigint" && isSet(o.status) && TallyResult.isAmino(o.final_tally_result) && Timestamp.isAmino(o.voting_period_end) && isSet(o.executor_result) && Array.isArray(o.messages) && (!o.messages.length || Any.isAmino(o.messages[0])) && typeof o.title === "string" && typeof o.summary === "string"); }, encode(message, writer = BinaryWriter.create()) { if (message.id !== BigInt(0)) { writer.uint32(8).uint64(message.id); } if (message.groupPolicyAddress !== "") { writer.uint32(18).string(message.groupPolicyAddress); } if (message.metadata !== "") { writer.uint32(26).string(message.metadata); } for (const v of message.proposers) { writer.uint32(34).string(v); } if (message.submitTime !== undefined) { Timestamp.encode(toTimestamp(message.submitTime), writer.uint32(42).fork()).ldelim(); } if (message.groupVersion !== BigInt(0)) { writer.uint32(48).uint64(message.groupVersion); } if (message.groupPolicyVersion !== BigInt(0)) { writer.uint32(56).uint64(message.groupPolicyVersion); } if (message.status !== 0) { writer.uint32(64).int32(message.status); } if (message.finalTallyResult !== undefined) { TallyResult.encode(message.finalTallyResult, writer.uint32(74).fork()).ldelim(); } if (message.votingPeriodEnd !== undefined) { Timestamp.encode(toTimestamp(message.votingPeriodEnd), writer.uint32(82).fork()).ldelim(); } if (message.executorResult !== 0) { writer.uint32(88).int32(message.executorResult); } for (const v of message.messages) { Any.encode(v, writer.uint32(98).fork()).ldelim(); } if (message.title !== "") { writer.uint32(106).string(message.title); } if (message.summary !== "") { writer.uint32(114).string(message.summary); } return writer; }, decode(input, length) { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseProposal(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.uint64(); break; case 2: message.groupPolicyAddress = reader.string(); break; case 3: message.metadata = reader.str