UNPKG

interchainjs

Version:

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

1,177 lines 70 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Vote = exports.TallyResult = exports.Proposal = exports.GroupPolicyInfo = exports.GroupMember = exports.GroupInfo = exports.DecisionPolicyWindows = exports.PercentageDecisionPolicy = exports.ThresholdDecisionPolicy = exports.MemberRequest = exports.Member = exports.ProposalExecutorResultAmino = exports.ProposalExecutorResult = exports.ProposalStatusAmino = exports.ProposalStatus = exports.VoteOptionAmino = exports.VoteOption = void 0; exports.voteOptionFromJSON = voteOptionFromJSON; exports.voteOptionToJSON = voteOptionToJSON; exports.proposalStatusFromJSON = proposalStatusFromJSON; exports.proposalStatusToJSON = proposalStatusToJSON; exports.proposalExecutorResultFromJSON = proposalExecutorResultFromJSON; exports.proposalExecutorResultToJSON = proposalExecutorResultToJSON; const timestamp_1 = require("../../../google/protobuf/timestamp"); const duration_1 = require("../../../google/protobuf/duration"); const any_1 = require("../../../google/protobuf/any"); const binary_1 = require("../../../binary"); const helpers_1 = require("../../../helpers"); const registry_1 = require("../../../registry"); /** VoteOption enumerates the valid vote options for a given proposal. */ 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 || (exports.VoteOption = VoteOption = {})); exports.VoteOptionAmino = VoteOption; 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; } } 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. */ 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 || (exports.ProposalStatus = ProposalStatus = {})); exports.ProposalStatusAmino = ProposalStatus; 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; } } 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. */ 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 || (exports.ProposalExecutorResult = ProposalExecutorResult = {})); exports.ProposalExecutorResultAmino = ProposalExecutorResult; 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; } } 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 */ exports.Member = { typeUrl: "/cosmos.group.v1.Member", aminoType: "cosmos-sdk/Member", is(o) { return o && (o.$typeUrl === exports.Member.typeUrl || typeof o.address === "string" && typeof o.weight === "string" && typeof o.metadata === "string" && timestamp_1.Timestamp.is(o.addedAt)); }, isAmino(o) { return o && (o.$typeUrl === exports.Member.typeUrl || typeof o.address === "string" && typeof o.weight === "string" && typeof o.metadata === "string" && timestamp_1.Timestamp.isAmino(o.added_at)); }, encode(message, writer = binary_1.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_1.Timestamp.encode((0, helpers_1.toTimestamp)(message.addedAt), writer.uint32(34).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.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 = (0, helpers_1.fromTimestamp)(timestamp_1.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 = (0, helpers_1.fromTimestamp)(timestamp_1.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_1.Timestamp.toAmino((0, helpers_1.toTimestamp)(message.addedAt)) : new Date(); return obj; }, fromAminoMsg(object) { return exports.Member.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/Member", value: exports.Member.toAmino(message) }; }, fromProtoMsg(message) { return exports.Member.decode(message.value); }, toProto(message) { return exports.Member.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.Member", value: exports.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 */ exports.MemberRequest = { typeUrl: "/cosmos.group.v1.MemberRequest", aminoType: "cosmos-sdk/MemberRequest", is(o) { return o && (o.$typeUrl === exports.MemberRequest.typeUrl || typeof o.address === "string" && typeof o.weight === "string" && typeof o.metadata === "string"); }, isAmino(o) { return o && (o.$typeUrl === exports.MemberRequest.typeUrl || typeof o.address === "string" && typeof o.weight === "string" && typeof o.metadata === "string"); }, encode(message, writer = binary_1.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 binary_1.BinaryReader ? input : new binary_1.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 exports.MemberRequest.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/MemberRequest", value: exports.MemberRequest.toAmino(message) }; }, fromProtoMsg(message) { return exports.MemberRequest.decode(message.value); }, toProto(message) { return exports.MemberRequest.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.MemberRequest", value: exports.MemberRequest.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseThresholdDecisionPolicy() { return { $typeUrl: "/cosmos.group.v1.ThresholdDecisionPolicy", 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 */ exports.ThresholdDecisionPolicy = { typeUrl: "/cosmos.group.v1.ThresholdDecisionPolicy", aminoType: "cosmos-sdk/ThresholdDecisionPolicy", is(o) { return o && (o.$typeUrl === exports.ThresholdDecisionPolicy.typeUrl || typeof o.threshold === "string"); }, isAmino(o) { return o && (o.$typeUrl === exports.ThresholdDecisionPolicy.typeUrl || typeof o.threshold === "string"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.threshold !== "") { writer.uint32(10).string(message.threshold); } if (message.windows !== undefined) { exports.DecisionPolicyWindows.encode(message.windows, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.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 = exports.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 ? exports.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 = exports.DecisionPolicyWindows.fromAmino(object.windows); } return message; }, toAmino(message) { const obj = {}; obj.threshold = message.threshold === "" ? undefined : message.threshold; obj.windows = message.windows ? exports.DecisionPolicyWindows.toAmino(message.windows) : undefined; return obj; }, fromAminoMsg(object) { return exports.ThresholdDecisionPolicy.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/ThresholdDecisionPolicy", value: exports.ThresholdDecisionPolicy.toAmino(message) }; }, fromProtoMsg(message) { return exports.ThresholdDecisionPolicy.decode(message.value); }, toProto(message) { return exports.ThresholdDecisionPolicy.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.ThresholdDecisionPolicy", value: exports.ThresholdDecisionPolicy.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.ThresholdDecisionPolicy.typeUrl)) { return; } registry_1.GlobalDecoderRegistry.register(exports.ThresholdDecisionPolicy.typeUrl, exports.ThresholdDecisionPolicy); registry_1.GlobalDecoderRegistry.registerAminoProtoMapping(exports.ThresholdDecisionPolicy.aminoType, exports.ThresholdDecisionPolicy.typeUrl); exports.DecisionPolicyWindows.registerTypeUrl(); } }; function createBasePercentageDecisionPolicy() { return { $typeUrl: "/cosmos.group.v1.PercentageDecisionPolicy", 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 */ exports.PercentageDecisionPolicy = { typeUrl: "/cosmos.group.v1.PercentageDecisionPolicy", aminoType: "cosmos-sdk/PercentageDecisionPolicy", is(o) { return o && (o.$typeUrl === exports.PercentageDecisionPolicy.typeUrl || typeof o.percentage === "string"); }, isAmino(o) { return o && (o.$typeUrl === exports.PercentageDecisionPolicy.typeUrl || typeof o.percentage === "string"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.percentage !== "") { writer.uint32(10).string(message.percentage); } if (message.windows !== undefined) { exports.DecisionPolicyWindows.encode(message.windows, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.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 = exports.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 ? exports.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 = exports.DecisionPolicyWindows.fromAmino(object.windows); } return message; }, toAmino(message) { const obj = {}; obj.percentage = message.percentage === "" ? undefined : message.percentage; obj.windows = message.windows ? exports.DecisionPolicyWindows.toAmino(message.windows) : undefined; return obj; }, fromAminoMsg(object) { return exports.PercentageDecisionPolicy.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/PercentageDecisionPolicy", value: exports.PercentageDecisionPolicy.toAmino(message) }; }, fromProtoMsg(message) { return exports.PercentageDecisionPolicy.decode(message.value); }, toProto(message) { return exports.PercentageDecisionPolicy.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.PercentageDecisionPolicy", value: exports.PercentageDecisionPolicy.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.PercentageDecisionPolicy.typeUrl)) { return; } registry_1.GlobalDecoderRegistry.register(exports.PercentageDecisionPolicy.typeUrl, exports.PercentageDecisionPolicy); registry_1.GlobalDecoderRegistry.registerAminoProtoMapping(exports.PercentageDecisionPolicy.aminoType, exports.PercentageDecisionPolicy.typeUrl); exports.DecisionPolicyWindows.registerTypeUrl(); } }; function createBaseDecisionPolicyWindows() { return { votingPeriod: duration_1.Duration.fromPartial({}), minExecutionPeriod: duration_1.Duration.fromPartial({}) }; } /** * DecisionPolicyWindows defines the different windows for voting and execution. * @name DecisionPolicyWindows * @package cosmos.group.v1 * @see proto type: cosmos.group.v1.DecisionPolicyWindows */ exports.DecisionPolicyWindows = { typeUrl: "/cosmos.group.v1.DecisionPolicyWindows", aminoType: "cosmos-sdk/DecisionPolicyWindows", is(o) { return o && (o.$typeUrl === exports.DecisionPolicyWindows.typeUrl || duration_1.Duration.is(o.votingPeriod) && duration_1.Duration.is(o.minExecutionPeriod)); }, isAmino(o) { return o && (o.$typeUrl === exports.DecisionPolicyWindows.typeUrl || duration_1.Duration.isAmino(o.voting_period) && duration_1.Duration.isAmino(o.min_execution_period)); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.votingPeriod !== undefined) { duration_1.Duration.encode(message.votingPeriod, writer.uint32(10).fork()).ldelim(); } if (message.minExecutionPeriod !== undefined) { duration_1.Duration.encode(message.minExecutionPeriod, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.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_1.Duration.decode(reader, reader.uint32()); break; case 2: message.minExecutionPeriod = duration_1.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_1.Duration.fromPartial(object.votingPeriod) : undefined; message.minExecutionPeriod = object.minExecutionPeriod !== undefined && object.minExecutionPeriod !== null ? duration_1.Duration.fromPartial(object.minExecutionPeriod) : undefined; return message; }, fromAmino(object) { const message = createBaseDecisionPolicyWindows(); if (object.voting_period !== undefined && object.voting_period !== null) { message.votingPeriod = duration_1.Duration.fromAmino(object.voting_period); } if (object.min_execution_period !== undefined && object.min_execution_period !== null) { message.minExecutionPeriod = duration_1.Duration.fromAmino(object.min_execution_period); } return message; }, toAmino(message) { const obj = {}; obj.voting_period = message.votingPeriod ? duration_1.Duration.toAmino(message.votingPeriod) : duration_1.Duration.toAmino(duration_1.Duration.fromPartial({})); obj.min_execution_period = message.minExecutionPeriod ? duration_1.Duration.toAmino(message.minExecutionPeriod) : duration_1.Duration.toAmino(duration_1.Duration.fromPartial({})); return obj; }, fromAminoMsg(object) { return exports.DecisionPolicyWindows.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/DecisionPolicyWindows", value: exports.DecisionPolicyWindows.toAmino(message) }; }, fromProtoMsg(message) { return exports.DecisionPolicyWindows.decode(message.value); }, toProto(message) { return exports.DecisionPolicyWindows.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.DecisionPolicyWindows", value: exports.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 */ exports.GroupInfo = { typeUrl: "/cosmos.group.v1.GroupInfo", aminoType: "cosmos-sdk/GroupInfo", is(o) { return o && (o.$typeUrl === exports.GroupInfo.typeUrl || typeof o.id === "bigint" && typeof o.admin === "string" && typeof o.metadata === "string" && typeof o.version === "bigint" && typeof o.totalWeight === "string" && timestamp_1.Timestamp.is(o.createdAt)); }, isAmino(o) { return o && (o.$typeUrl === exports.GroupInfo.typeUrl || typeof o.id === "bigint" && typeof o.admin === "string" && typeof o.metadata === "string" && typeof o.version === "bigint" && typeof o.total_weight === "string" && timestamp_1.Timestamp.isAmino(o.created_at)); }, encode(message, writer = binary_1.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_1.Timestamp.encode((0, helpers_1.toTimestamp)(message.createdAt), writer.uint32(50).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.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 = (0, helpers_1.fromTimestamp)(timestamp_1.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 = (0, helpers_1.fromTimestamp)(timestamp_1.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_1.Timestamp.toAmino((0, helpers_1.toTimestamp)(message.createdAt)) : new Date(); return obj; }, fromAminoMsg(object) { return exports.GroupInfo.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/GroupInfo", value: exports.GroupInfo.toAmino(message) }; }, fromProtoMsg(message) { return exports.GroupInfo.decode(message.value); }, toProto(message) { return exports.GroupInfo.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.GroupInfo", value: exports.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 */ exports.GroupMember = { typeUrl: "/cosmos.group.v1.GroupMember", aminoType: "cosmos-sdk/GroupMember", is(o) { return o && (o.$typeUrl === exports.GroupMember.typeUrl || typeof o.groupId === "bigint"); }, isAmino(o) { return o && (o.$typeUrl === exports.GroupMember.typeUrl || typeof o.group_id === "bigint"); }, encode(message, writer = binary_1.BinaryWriter.create()) { if (message.groupId !== BigInt(0)) { writer.uint32(8).uint64(message.groupId); } if (message.member !== undefined) { exports.Member.encode(message.member, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.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 = exports.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 ? exports.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 = exports.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 ? exports.Member.toAmino(message.member) : undefined; return obj; }, fromAminoMsg(object) { return exports.GroupMember.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/GroupMember", value: exports.GroupMember.toAmino(message) }; }, fromProtoMsg(message) { return exports.GroupMember.decode(message.value); }, toProto(message) { return exports.GroupMember.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.GroupMember", value: exports.GroupMember.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.GroupMember.typeUrl)) { return; } exports.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 */ exports.GroupPolicyInfo = { typeUrl: "/cosmos.group.v1.GroupPolicyInfo", aminoType: "cosmos-sdk/GroupPolicyInfo", is(o) { return o && (o.$typeUrl === exports.GroupPolicyInfo.typeUrl || typeof o.address === "string" && typeof o.groupId === "bigint" && typeof o.admin === "string" && typeof o.metadata === "string" && typeof o.version === "bigint" && timestamp_1.Timestamp.is(o.createdAt)); }, isAmino(o) { return o && (o.$typeUrl === exports.GroupPolicyInfo.typeUrl || typeof o.address === "string" && typeof o.group_id === "bigint" && typeof o.admin === "string" && typeof o.metadata === "string" && typeof o.version === "bigint" && timestamp_1.Timestamp.isAmino(o.created_at)); }, encode(message, writer = binary_1.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_1.Any.encode(registry_1.GlobalDecoderRegistry.wrapAny(message.decisionPolicy), writer.uint32(50).fork()).ldelim(); } if (message.createdAt !== undefined) { timestamp_1.Timestamp.encode((0, helpers_1.toTimestamp)(message.createdAt), writer.uint32(58).fork()).ldelim(); } return writer; }, decode(input, length) { const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.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 = registry_1.GlobalDecoderRegistry.unwrapAny(reader); break; case 7: message.createdAt = (0, helpers_1.fromTimestamp)(timestamp_1.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 ? registry_1.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 = registry_1.GlobalDecoderRegistry.fromAminoMsg(object.decision_policy); } if (object.created_at !== undefined && object.created_at !== null) { message.createdAt = (0, helpers_1.fromTimestamp)(timestamp_1.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 ? registry_1.GlobalDecoderRegistry.toAminoMsg(message.decisionPolicy) : undefined; obj.created_at = message.createdAt ? timestamp_1.Timestamp.toAmino((0, helpers_1.toTimestamp)(message.createdAt)) : new Date(); return obj; }, fromAminoMsg(object) { return exports.GroupPolicyInfo.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/GroupPolicyInfo", value: exports.GroupPolicyInfo.toAmino(message) }; }, fromProtoMsg(message) { return exports.GroupPolicyInfo.decode(message.value); }, toProto(message) { return exports.GroupPolicyInfo.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.group.v1.GroupPolicyInfo", value: exports.GroupPolicyInfo.encode(message).finish() }; }, registerTypeUrl() { if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.GroupPolicyInfo.typeUrl)) { return; } exports.ThresholdDecisionPolicy.registerTypeUrl(); exports.PercentageDecisionPolicy.registerTypeUrl(); } }; function createBaseProposal() { return { id: BigInt(0), groupPolicyAddress: "", metadata: "", proposers: [], submitTime: new Date(), groupVersion: BigInt(0), groupPolicyVersion: BigInt(0), status: 0, finalTallyResult: exports.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 */ exports.Proposal = { typeUrl: "/cosmos.group.v1.Proposal", aminoType: "cosmos-sdk/Proposal", is(o) { return o && (o.$typeUrl === exports.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_1.Timestamp.is(o.submitTime) && typeof o.groupVersion === "bigint" && typeof o.groupPolicyVersion === "bigint" && (0, helpers_1.isSet)(o.status) && exports.TallyResult.is(o.finalTallyResult) && timestamp_1.Timestamp.is(o.votingPeriodEnd) && (0, helpers_1.isSet)(o.executorResult) && Array.isArray(o.messages) && (!o.messages.length || any_1.Any.is(o.messages[0])) && typeof o.title === "string" && typeof o.summary === "string"); }, isAmino(o) { return o && (o.$typeUrl === exports.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_1.Timestamp.isAmino(o.submit_time) && typeof o.group_version === "bigint" && typeof o.group_policy_version === "bigint" &&