interchainjs
Version:
InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.
373 lines (372 loc) • 15.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SimpleValidator = exports.Validator = exports.ValidatorSet = exports.BlockIDFlagAmino = exports.BlockIDFlag = void 0;
exports.blockIDFlagFromJSON = blockIDFlagFromJSON;
exports.blockIDFlagToJSON = blockIDFlagToJSON;
const keys_1 = require("../crypto/keys");
const binary_1 = require("../../binary");
const registry_1 = require("../../registry");
const helpers_1 = require("../../helpers");
/** BlockIdFlag indicates which BlockID the signature is for */
var BlockIDFlag;
(function (BlockIDFlag) {
/** BLOCK_ID_FLAG_UNKNOWN - indicates an error condition */
BlockIDFlag[BlockIDFlag["BLOCK_ID_FLAG_UNKNOWN"] = 0] = "BLOCK_ID_FLAG_UNKNOWN";
/** BLOCK_ID_FLAG_ABSENT - the vote was not received */
BlockIDFlag[BlockIDFlag["BLOCK_ID_FLAG_ABSENT"] = 1] = "BLOCK_ID_FLAG_ABSENT";
BlockIDFlag[BlockIDFlag["BLOCK_ID_FLAG_COMMIT"] = 2] = "BLOCK_ID_FLAG_COMMIT";
/** BLOCK_ID_FLAG_NIL - voted for nil */
BlockIDFlag[BlockIDFlag["BLOCK_ID_FLAG_NIL"] = 3] = "BLOCK_ID_FLAG_NIL";
BlockIDFlag[BlockIDFlag["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(BlockIDFlag || (exports.BlockIDFlag = BlockIDFlag = {}));
exports.BlockIDFlagAmino = BlockIDFlag;
function blockIDFlagFromJSON(object) {
switch (object) {
case 0:
case "BLOCK_ID_FLAG_UNKNOWN":
return BlockIDFlag.BLOCK_ID_FLAG_UNKNOWN;
case 1:
case "BLOCK_ID_FLAG_ABSENT":
return BlockIDFlag.BLOCK_ID_FLAG_ABSENT;
case 2:
case "BLOCK_ID_FLAG_COMMIT":
return BlockIDFlag.BLOCK_ID_FLAG_COMMIT;
case 3:
case "BLOCK_ID_FLAG_NIL":
return BlockIDFlag.BLOCK_ID_FLAG_NIL;
case -1:
case "UNRECOGNIZED":
default:
return BlockIDFlag.UNRECOGNIZED;
}
}
function blockIDFlagToJSON(object) {
switch (object) {
case BlockIDFlag.BLOCK_ID_FLAG_UNKNOWN:
return "BLOCK_ID_FLAG_UNKNOWN";
case BlockIDFlag.BLOCK_ID_FLAG_ABSENT:
return "BLOCK_ID_FLAG_ABSENT";
case BlockIDFlag.BLOCK_ID_FLAG_COMMIT:
return "BLOCK_ID_FLAG_COMMIT";
case BlockIDFlag.BLOCK_ID_FLAG_NIL:
return "BLOCK_ID_FLAG_NIL";
case BlockIDFlag.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
function createBaseValidatorSet() {
return {
validators: [],
proposer: undefined,
totalVotingPower: BigInt(0)
};
}
/**
* @name ValidatorSet
* @package tendermint.types
* @see proto type: tendermint.types.ValidatorSet
*/
exports.ValidatorSet = {
typeUrl: "/tendermint.types.ValidatorSet",
is(o) {
return o && (o.$typeUrl === exports.ValidatorSet.typeUrl || Array.isArray(o.validators) && (!o.validators.length || exports.Validator.is(o.validators[0])) && typeof o.totalVotingPower === "bigint");
},
isAmino(o) {
return o && (o.$typeUrl === exports.ValidatorSet.typeUrl || Array.isArray(o.validators) && (!o.validators.length || exports.Validator.isAmino(o.validators[0])) && typeof o.total_voting_power === "bigint");
},
encode(message, writer = binary_1.BinaryWriter.create()) {
for (const v of message.validators) {
exports.Validator.encode(v, writer.uint32(10).fork()).ldelim();
}
if (message.proposer !== undefined) {
exports.Validator.encode(message.proposer, writer.uint32(18).fork()).ldelim();
}
if (message.totalVotingPower !== BigInt(0)) {
writer.uint32(24).int64(message.totalVotingPower);
}
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 = createBaseValidatorSet();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.validators.push(exports.Validator.decode(reader, reader.uint32()));
break;
case 2:
message.proposer = exports.Validator.decode(reader, reader.uint32());
break;
case 3:
message.totalVotingPower = reader.int64();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseValidatorSet();
message.validators = object.validators?.map(e => exports.Validator.fromPartial(e)) || [];
message.proposer = object.proposer !== undefined && object.proposer !== null ? exports.Validator.fromPartial(object.proposer) : undefined;
message.totalVotingPower = object.totalVotingPower !== undefined && object.totalVotingPower !== null ? BigInt(object.totalVotingPower.toString()) : BigInt(0);
return message;
},
fromAmino(object) {
const message = createBaseValidatorSet();
message.validators = object.validators?.map(e => exports.Validator.fromAmino(e)) || [];
if (object.proposer !== undefined && object.proposer !== null) {
message.proposer = exports.Validator.fromAmino(object.proposer);
}
if (object.total_voting_power !== undefined && object.total_voting_power !== null) {
message.totalVotingPower = BigInt(object.total_voting_power);
}
return message;
},
toAmino(message) {
const obj = {};
if (message.validators) {
obj.validators = message.validators.map(e => e ? exports.Validator.toAmino(e) : undefined);
}
else {
obj.validators = message.validators;
}
obj.proposer = message.proposer ? exports.Validator.toAmino(message.proposer) : undefined;
obj.total_voting_power = message.totalVotingPower !== BigInt(0) ? message.totalVotingPower?.toString() : undefined;
return obj;
},
fromAminoMsg(object) {
return exports.ValidatorSet.fromAmino(object.value);
},
fromProtoMsg(message) {
return exports.ValidatorSet.decode(message.value);
},
toProto(message) {
return exports.ValidatorSet.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/tendermint.types.ValidatorSet",
value: exports.ValidatorSet.encode(message).finish()
};
},
registerTypeUrl() {
if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.ValidatorSet.typeUrl)) {
return;
}
exports.Validator.registerTypeUrl();
}
};
function createBaseValidator() {
return {
address: new Uint8Array(),
pubKey: keys_1.PublicKey.fromPartial({}),
votingPower: BigInt(0),
proposerPriority: BigInt(0)
};
}
/**
* @name Validator
* @package tendermint.types
* @see proto type: tendermint.types.Validator
*/
exports.Validator = {
typeUrl: "/tendermint.types.Validator",
is(o) {
return o && (o.$typeUrl === exports.Validator.typeUrl || (o.address instanceof Uint8Array || typeof o.address === "string") && keys_1.PublicKey.is(o.pubKey) && typeof o.votingPower === "bigint" && typeof o.proposerPriority === "bigint");
},
isAmino(o) {
return o && (o.$typeUrl === exports.Validator.typeUrl || (o.address instanceof Uint8Array || typeof o.address === "string") && keys_1.PublicKey.isAmino(o.pub_key) && typeof o.voting_power === "bigint" && typeof o.proposer_priority === "bigint");
},
encode(message, writer = binary_1.BinaryWriter.create()) {
if (message.address.length !== 0) {
writer.uint32(10).bytes(message.address);
}
if (message.pubKey !== undefined) {
keys_1.PublicKey.encode(message.pubKey, writer.uint32(18).fork()).ldelim();
}
if (message.votingPower !== BigInt(0)) {
writer.uint32(24).int64(message.votingPower);
}
if (message.proposerPriority !== BigInt(0)) {
writer.uint32(32).int64(message.proposerPriority);
}
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 = createBaseValidator();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.address = reader.bytes();
break;
case 2:
message.pubKey = keys_1.PublicKey.decode(reader, reader.uint32());
break;
case 3:
message.votingPower = reader.int64();
break;
case 4:
message.proposerPriority = reader.int64();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseValidator();
message.address = object.address ?? new Uint8Array();
message.pubKey = object.pubKey !== undefined && object.pubKey !== null ? keys_1.PublicKey.fromPartial(object.pubKey) : undefined;
message.votingPower = object.votingPower !== undefined && object.votingPower !== null ? BigInt(object.votingPower.toString()) : BigInt(0);
message.proposerPriority = object.proposerPriority !== undefined && object.proposerPriority !== null ? BigInt(object.proposerPriority.toString()) : BigInt(0);
return message;
},
fromAmino(object) {
const message = createBaseValidator();
if (object.address !== undefined && object.address !== null) {
message.address = (0, helpers_1.bytesFromBase64)(object.address);
}
if (object.pub_key !== undefined && object.pub_key !== null) {
message.pubKey = keys_1.PublicKey.fromAmino(object.pub_key);
}
if (object.voting_power !== undefined && object.voting_power !== null) {
message.votingPower = BigInt(object.voting_power);
}
if (object.proposer_priority !== undefined && object.proposer_priority !== null) {
message.proposerPriority = BigInt(object.proposer_priority);
}
return message;
},
toAmino(message) {
const obj = {};
obj.address = message.address ? (0, helpers_1.base64FromBytes)(message.address) : undefined;
obj.pub_key = message.pubKey ? keys_1.PublicKey.toAmino(message.pubKey) : undefined;
obj.voting_power = message.votingPower !== BigInt(0) ? message.votingPower?.toString() : undefined;
obj.proposer_priority = message.proposerPriority !== BigInt(0) ? message.proposerPriority?.toString() : undefined;
return obj;
},
fromAminoMsg(object) {
return exports.Validator.fromAmino(object.value);
},
fromProtoMsg(message) {
return exports.Validator.decode(message.value);
},
toProto(message) {
return exports.Validator.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/tendermint.types.Validator",
value: exports.Validator.encode(message).finish()
};
},
registerTypeUrl() {
if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.Validator.typeUrl)) {
return;
}
keys_1.PublicKey.registerTypeUrl();
}
};
function createBaseSimpleValidator() {
return {
pubKey: undefined,
votingPower: BigInt(0)
};
}
/**
* @name SimpleValidator
* @package tendermint.types
* @see proto type: tendermint.types.SimpleValidator
*/
exports.SimpleValidator = {
typeUrl: "/tendermint.types.SimpleValidator",
is(o) {
return o && (o.$typeUrl === exports.SimpleValidator.typeUrl || typeof o.votingPower === "bigint");
},
isAmino(o) {
return o && (o.$typeUrl === exports.SimpleValidator.typeUrl || typeof o.voting_power === "bigint");
},
encode(message, writer = binary_1.BinaryWriter.create()) {
if (message.pubKey !== undefined) {
keys_1.PublicKey.encode(message.pubKey, writer.uint32(10).fork()).ldelim();
}
if (message.votingPower !== BigInt(0)) {
writer.uint32(16).int64(message.votingPower);
}
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 = createBaseSimpleValidator();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.pubKey = keys_1.PublicKey.decode(reader, reader.uint32());
break;
case 2:
message.votingPower = reader.int64();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseSimpleValidator();
message.pubKey = object.pubKey !== undefined && object.pubKey !== null ? keys_1.PublicKey.fromPartial(object.pubKey) : undefined;
message.votingPower = object.votingPower !== undefined && object.votingPower !== null ? BigInt(object.votingPower.toString()) : BigInt(0);
return message;
},
fromAmino(object) {
const message = createBaseSimpleValidator();
if (object.pub_key !== undefined && object.pub_key !== null) {
message.pubKey = keys_1.PublicKey.fromAmino(object.pub_key);
}
if (object.voting_power !== undefined && object.voting_power !== null) {
message.votingPower = BigInt(object.voting_power);
}
return message;
},
toAmino(message) {
const obj = {};
obj.pub_key = message.pubKey ? keys_1.PublicKey.toAmino(message.pubKey) : undefined;
obj.voting_power = message.votingPower !== BigInt(0) ? message.votingPower?.toString() : undefined;
return obj;
},
fromAminoMsg(object) {
return exports.SimpleValidator.fromAmino(object.value);
},
fromProtoMsg(message) {
return exports.SimpleValidator.decode(message.value);
},
toProto(message) {
return exports.SimpleValidator.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/tendermint.types.SimpleValidator",
value: exports.SimpleValidator.encode(message).finish()
};
},
registerTypeUrl() {
if (!registry_1.GlobalDecoderRegistry.registerExistingTypeUrl(exports.SimpleValidator.typeUrl)) {
return;
}
keys_1.PublicKey.registerTypeUrl();
}
};