//@ts-nocheck
import { Deposit, Vote, Proposal, DepositParams, VotingParams, TallyParams } from "./gov";
import { BinaryReader, BinaryWriter } from "../../../binary";
import { GlobalDecoderRegistry } from "../../../registry";
function createBaseGenesisState() {
return {
startingProposalId: BigInt(0),
deposits: [],
votes: [],
proposals: [],
depositParams: DepositParams.fromPartial({}),
votingParams: VotingParams.fromPartial({}),
tallyParams: TallyParams.fromPartial({})
};
}
export const GenesisState = {
typeUrl: "/cosmos.gov.v1beta1.GenesisState",
aminoType: "cosmos-sdk/GenesisState",
is(o) {
return o && (o.$typeUrl === GenesisState.typeUrl || typeof o.startingProposalId === "bigint" && Array.isArray(o.deposits) && (!o.deposits.length || Deposit.is(o.deposits[0])) && Array.isArray(o.votes) && (!o.votes.length || Vote.is(o.votes[0])) && Array.isArray(o.proposals) && (!o.proposals.length || Proposal.is(o.proposals[0])) && DepositParams.is(o.depositParams) && VotingParams.is(o.votingParams) && TallyParams.is(o.tallyParams));
},
isSDK(o) {
return o && (o.$typeUrl === GenesisState.typeUrl || typeof o.starting_proposal_id === "bigint" && Array.isArray(o.deposits) && (!o.deposits.length || Deposit.isSDK(o.deposits[0])) && Array.isArray(o.votes) && (!o.votes.length || Vote.isSDK(o.votes[0])) && Array.isArray(o.proposals) && (!o.proposals.length || Proposal.isSDK(o.proposals[0])) && DepositParams.isSDK(o.deposit_params) && VotingParams.isSDK(o.voting_params) && TallyParams.isSDK(o.tally_params));
},
isAmino(o) {
return o && (o.$typeUrl === GenesisState.typeUrl || typeof o.starting_proposal_id === "bigint" && Array.isArray(o.deposits) && (!o.deposits.length || Deposit.isAmino(o.deposits[0])) && Array.isArray(o.votes) && (!o.votes.length || Vote.isAmino(o.votes[0])) && Array.isArray(o.proposals) && (!o.proposals.length || Proposal.isAmino(o.proposals[0])) && DepositParams.isAmino(o.deposit_params) && VotingParams.isAmino(o.voting_params) && TallyParams.isAmino(o.tally_params));
},
encode(message, writer = BinaryWriter.create()) {
if (message.startingProposalId !== BigInt(0)) {
writer.uint32(8).uint64(message.startingProposalId);
}
for (const v of message.deposits) {
Deposit.encode(v, writer.uint32(18).fork()).ldelim();
}
for (const v of message.votes) {
Vote.encode(v, writer.uint32(26).fork()).ldelim();
}
for (const v of message.proposals) {
Proposal.encode(v, writer.uint32(34).fork()).ldelim();
}
if (message.depositParams !== undefined) {
DepositParams.encode(message.depositParams, writer.uint32(42).fork()).ldelim();
}
if (message.votingParams !== undefined) {
VotingParams.encode(message.votingParams, writer.uint32(50).fork()).ldelim();
}
if (message.tallyParams !== undefined) {
TallyParams.encode(message.tallyParams, 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 = createBaseGenesisState();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.startingProposalId = reader.uint64();
break;
case 2:
message.deposits.push(Deposit.decode(reader, reader.uint32()));
break;
case 3:
message.votes.push(Vote.decode(reader, reader.uint32()));
break;
case 4:
message.proposals.push(Proposal.decode(reader, reader.uint32()));
break;
case 5:
message.depositParams = DepositParams.decode(reader, reader.uint32());
break;
case 6:
message.votingParams = VotingParams.decode(reader, reader.uint32());
break;
case 7:
message.tallyParams = TallyParams.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseGenesisState();
message.startingProposalId = object.startingProposalId !== undefined && object.startingProposalId !== null ? BigInt(object.startingProposalId.toString()) : BigInt(0);
message.deposits = object.deposits?.map(e => Deposit.fromPartial(e)) || [];
message.votes = object.votes?.map(e => Vote.fromPartial(e)) || [];
message.proposals = object.proposals?.map(e => Proposal.fromPartial(e)) || [];
message.depositParams = object.depositParams !== undefined && object.depositParams !== null ? DepositParams.fromPartial(object.depositParams) : undefined;
message.votingParams = object.votingParams !== undefined && object.votingParams !== null ? VotingParams.fromPartial(object.votingParams) : undefined;
message.tallyParams = object.tallyParams !== undefined && object.tallyParams !== null ? TallyParams.fromPartial(object.tallyParams) : undefined;
return message;
},
fromAmino(object) {
const message = createBaseGenesisState();
if (object.starting_proposal_id !== undefined && object.starting_proposal_id !== null) {
message.startingProposalId = BigInt(object.starting_proposal_id);
}
message.deposits = object.deposits?.map(e => Deposit.fromAmino(e)) || [];
message.votes = object.votes?.map(e => Vote.fromAmino(e)) || [];
message.proposals = object.proposals?.map(e => Proposal.fromAmino(e)) || [];
if (object.deposit_params !== undefined && object.deposit_params !== null) {
message.depositParams = DepositParams.fromAmino(object.deposit_params);
}
if (object.voting_params !== undefined && object.voting_params !== null) {
message.votingParams = VotingParams.fromAmino(object.voting_params);
}
if (object.tally_params !== undefined && object.tally_params !== null) {
message.tallyParams = TallyParams.fromAmino(object.tally_params);
}
return message;
},
toAmino(message) {
const obj = {};
obj.starting_proposal_id = message.startingProposalId !== BigInt(0) ? message.startingProposalId.toString() : undefined;
if (message.deposits) {
obj.deposits = message.deposits.map(e => e ? Deposit.toAmino(e) : undefined);
}
else {
obj.deposits = message.deposits;
}
if (message.votes) {
obj.votes = message.votes.map(e => e ? Vote.toAmino(e) : undefined);
}
else {
obj.votes = message.votes;
}
if (message.proposals) {
obj.proposals = message.proposals.map(e => e ? Proposal.toAmino(e) : undefined);
}
else {
obj.proposals = message.proposals;
}
obj.deposit_params = message.depositParams ? DepositParams.toAmino(message.depositParams) : DepositParams.toAmino(DepositParams.fromPartial({}));
obj.voting_params = message.votingParams ? VotingParams.toAmino(message.votingParams) : VotingParams.toAmino(VotingParams.fromPartial({}));
obj.tally_params = message.tallyParams ? TallyParams.toAmino(message.tallyParams) : TallyParams.toAmino(TallyParams.fromPartial({}));
return obj;
},
fromAminoMsg(object) {
return GenesisState.fromAmino(object.value);
},
toAminoMsg(message) {
return {
type: "cosmos-sdk/GenesisState",
value: GenesisState.toAmino(message)
};
},
fromProtoMsg(message) {
return GenesisState.decode(message.value);
},
toProto(message) {
return GenesisState.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/cosmos.gov.v1beta1.GenesisState",
value: GenesisState.encode(message).finish()
};
}
};
GlobalDecoderRegistry.register(GenesisState.typeUrl, GenesisState);
GlobalDecoderRegistry.registerAminoProtoMapping(GenesisState.aminoType, GenesisState.typeUrl);