interchainjs
Version:
InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.
1,227 lines • 66.5 kB
JavaScript
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