interchainjs
Version:
InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.
1,175 lines • 69.8 kB
JavaScript
"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 {
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 {
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" && (0, helpers_1.isSet)(o.status) && exports.TallyResult.isAmino(o.final_tally_result) && timestamp_1.Timestamp.isAmino(o.votin