interchainjs
Version:
InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.
283 lines (282 loc) • 13.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Params = exports.ValidatorSigningInfo = void 0;
const timestamp_1 = require("../../../google/protobuf/timestamp");
const duration_1 = require("../../../google/protobuf/duration");
const binary_1 = require("../../../binary");
const helpers_1 = require("../../../helpers");
function createBaseValidatorSigningInfo() {
return {
address: "",
startHeight: BigInt(0),
indexOffset: BigInt(0),
jailedUntil: new Date(),
tombstoned: false,
missedBlocksCounter: BigInt(0)
};
}
/**
* ValidatorSigningInfo defines a validator's signing info for monitoring their
* liveness activity.
* @name ValidatorSigningInfo
* @package cosmos.slashing.v1beta1
* @see proto type: cosmos.slashing.v1beta1.ValidatorSigningInfo
*/
exports.ValidatorSigningInfo = {
typeUrl: "/cosmos.slashing.v1beta1.ValidatorSigningInfo",
aminoType: "cosmos-sdk/ValidatorSigningInfo",
is(o) {
return o && (o.$typeUrl === exports.ValidatorSigningInfo.typeUrl || typeof o.address === "string" && typeof o.startHeight === "bigint" && typeof o.indexOffset === "bigint" && timestamp_1.Timestamp.is(o.jailedUntil) && typeof o.tombstoned === "boolean" && typeof o.missedBlocksCounter === "bigint");
},
isAmino(o) {
return o && (o.$typeUrl === exports.ValidatorSigningInfo.typeUrl || typeof o.address === "string" && typeof o.start_height === "bigint" && typeof o.index_offset === "bigint" && timestamp_1.Timestamp.isAmino(o.jailed_until) && typeof o.tombstoned === "boolean" && typeof o.missed_blocks_counter === "bigint");
},
encode(message, writer = binary_1.BinaryWriter.create()) {
if (message.address !== "") {
writer.uint32(10).string(message.address);
}
if (message.startHeight !== BigInt(0)) {
writer.uint32(16).int64(message.startHeight);
}
if (message.indexOffset !== BigInt(0)) {
writer.uint32(24).int64(message.indexOffset);
}
if (message.jailedUntil !== undefined) {
timestamp_1.Timestamp.encode((0, helpers_1.toTimestamp)(message.jailedUntil), writer.uint32(34).fork()).ldelim();
}
if (message.tombstoned === true) {
writer.uint32(40).bool(message.tombstoned);
}
if (message.missedBlocksCounter !== BigInt(0)) {
writer.uint32(48).int64(message.missedBlocksCounter);
}
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 = createBaseValidatorSigningInfo();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.address = reader.string();
break;
case 2:
message.startHeight = reader.int64();
break;
case 3:
message.indexOffset = reader.int64();
break;
case 4:
message.jailedUntil = (0, helpers_1.fromTimestamp)(timestamp_1.Timestamp.decode(reader, reader.uint32()));
break;
case 5:
message.tombstoned = reader.bool();
break;
case 6:
message.missedBlocksCounter = reader.int64();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseValidatorSigningInfo();
message.address = object.address ?? "";
message.startHeight = object.startHeight !== undefined && object.startHeight !== null ? BigInt(object.startHeight.toString()) : BigInt(0);
message.indexOffset = object.indexOffset !== undefined && object.indexOffset !== null ? BigInt(object.indexOffset.toString()) : BigInt(0);
message.jailedUntil = object.jailedUntil ?? undefined;
message.tombstoned = object.tombstoned ?? false;
message.missedBlocksCounter = object.missedBlocksCounter !== undefined && object.missedBlocksCounter !== null ? BigInt(object.missedBlocksCounter.toString()) : BigInt(0);
return message;
},
fromAmino(object) {
const message = createBaseValidatorSigningInfo();
if (object.address !== undefined && object.address !== null) {
message.address = object.address;
}
if (object.start_height !== undefined && object.start_height !== null) {
message.startHeight = BigInt(object.start_height);
}
if (object.index_offset !== undefined && object.index_offset !== null) {
message.indexOffset = BigInt(object.index_offset);
}
if (object.jailed_until !== undefined && object.jailed_until !== null) {
message.jailedUntil = (0, helpers_1.fromTimestamp)(timestamp_1.Timestamp.fromAmino(object.jailed_until));
}
if (object.tombstoned !== undefined && object.tombstoned !== null) {
message.tombstoned = object.tombstoned;
}
if (object.missed_blocks_counter !== undefined && object.missed_blocks_counter !== null) {
message.missedBlocksCounter = BigInt(object.missed_blocks_counter);
}
return message;
},
toAmino(message) {
const obj = {};
obj.address = message.address === "" ? undefined : message.address;
obj.start_height = message.startHeight !== BigInt(0) ? message.startHeight?.toString() : undefined;
obj.index_offset = message.indexOffset !== BigInt(0) ? message.indexOffset?.toString() : undefined;
obj.jailed_until = message.jailedUntil ? timestamp_1.Timestamp.toAmino((0, helpers_1.toTimestamp)(message.jailedUntil)) : new Date();
obj.tombstoned = message.tombstoned === false ? undefined : message.tombstoned;
obj.missed_blocks_counter = message.missedBlocksCounter !== BigInt(0) ? message.missedBlocksCounter?.toString() : undefined;
return obj;
},
fromAminoMsg(object) {
return exports.ValidatorSigningInfo.fromAmino(object.value);
},
toAminoMsg(message) {
return {
type: "cosmos-sdk/ValidatorSigningInfo",
value: exports.ValidatorSigningInfo.toAmino(message)
};
},
fromProtoMsg(message) {
return exports.ValidatorSigningInfo.decode(message.value);
},
toProto(message) {
return exports.ValidatorSigningInfo.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/cosmos.slashing.v1beta1.ValidatorSigningInfo",
value: exports.ValidatorSigningInfo.encode(message).finish()
};
},
registerTypeUrl() { }
};
function createBaseParams() {
return {
signedBlocksWindow: BigInt(0),
minSignedPerWindow: new Uint8Array(),
downtimeJailDuration: duration_1.Duration.fromPartial({}),
slashFractionDoubleSign: new Uint8Array(),
slashFractionDowntime: new Uint8Array()
};
}
/**
* Params represents the parameters used for by the slashing module.
* @name Params
* @package cosmos.slashing.v1beta1
* @see proto type: cosmos.slashing.v1beta1.Params
*/
exports.Params = {
typeUrl: "/cosmos.slashing.v1beta1.Params",
aminoType: "cosmos-sdk/x/slashing/Params",
is(o) {
return o && (o.$typeUrl === exports.Params.typeUrl || typeof o.signedBlocksWindow === "bigint" && (o.minSignedPerWindow instanceof Uint8Array || typeof o.minSignedPerWindow === "string") && duration_1.Duration.is(o.downtimeJailDuration) && (o.slashFractionDoubleSign instanceof Uint8Array || typeof o.slashFractionDoubleSign === "string") && (o.slashFractionDowntime instanceof Uint8Array || typeof o.slashFractionDowntime === "string"));
},
isAmino(o) {
return o && (o.$typeUrl === exports.Params.typeUrl || typeof o.signed_blocks_window === "bigint" && (o.min_signed_per_window instanceof Uint8Array || typeof o.min_signed_per_window === "string") && duration_1.Duration.isAmino(o.downtime_jail_duration) && (o.slash_fraction_double_sign instanceof Uint8Array || typeof o.slash_fraction_double_sign === "string") && (o.slash_fraction_downtime instanceof Uint8Array || typeof o.slash_fraction_downtime === "string"));
},
encode(message, writer = binary_1.BinaryWriter.create()) {
if (message.signedBlocksWindow !== BigInt(0)) {
writer.uint32(8).int64(message.signedBlocksWindow);
}
if (message.minSignedPerWindow.length !== 0) {
writer.uint32(18).bytes(message.minSignedPerWindow);
}
if (message.downtimeJailDuration !== undefined) {
duration_1.Duration.encode(message.downtimeJailDuration, writer.uint32(26).fork()).ldelim();
}
if (message.slashFractionDoubleSign.length !== 0) {
writer.uint32(34).bytes(message.slashFractionDoubleSign);
}
if (message.slashFractionDowntime.length !== 0) {
writer.uint32(42).bytes(message.slashFractionDowntime);
}
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 = createBaseParams();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.signedBlocksWindow = reader.int64();
break;
case 2:
message.minSignedPerWindow = reader.bytes();
break;
case 3:
message.downtimeJailDuration = duration_1.Duration.decode(reader, reader.uint32());
break;
case 4:
message.slashFractionDoubleSign = reader.bytes();
break;
case 5:
message.slashFractionDowntime = reader.bytes();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseParams();
message.signedBlocksWindow = object.signedBlocksWindow !== undefined && object.signedBlocksWindow !== null ? BigInt(object.signedBlocksWindow.toString()) : BigInt(0);
message.minSignedPerWindow = object.minSignedPerWindow ?? new Uint8Array();
message.downtimeJailDuration = object.downtimeJailDuration !== undefined && object.downtimeJailDuration !== null ? duration_1.Duration.fromPartial(object.downtimeJailDuration) : undefined;
message.slashFractionDoubleSign = object.slashFractionDoubleSign ?? new Uint8Array();
message.slashFractionDowntime = object.slashFractionDowntime ?? new Uint8Array();
return message;
},
fromAmino(object) {
const message = createBaseParams();
if (object.signed_blocks_window !== undefined && object.signed_blocks_window !== null) {
message.signedBlocksWindow = BigInt(object.signed_blocks_window);
}
if (object.min_signed_per_window !== undefined && object.min_signed_per_window !== null) {
message.minSignedPerWindow = (0, helpers_1.bytesFromBase64)(object.min_signed_per_window);
}
if (object.downtime_jail_duration !== undefined && object.downtime_jail_duration !== null) {
message.downtimeJailDuration = duration_1.Duration.fromAmino(object.downtime_jail_duration);
}
if (object.slash_fraction_double_sign !== undefined && object.slash_fraction_double_sign !== null) {
message.slashFractionDoubleSign = (0, helpers_1.bytesFromBase64)(object.slash_fraction_double_sign);
}
if (object.slash_fraction_downtime !== undefined && object.slash_fraction_downtime !== null) {
message.slashFractionDowntime = (0, helpers_1.bytesFromBase64)(object.slash_fraction_downtime);
}
return message;
},
toAmino(message) {
const obj = {};
obj.signed_blocks_window = message.signedBlocksWindow !== BigInt(0) ? message.signedBlocksWindow?.toString() : undefined;
obj.min_signed_per_window = message.minSignedPerWindow ? (0, helpers_1.base64FromBytes)(message.minSignedPerWindow) : "";
obj.downtime_jail_duration = message.downtimeJailDuration ? duration_1.Duration.toAmino(message.downtimeJailDuration) : duration_1.Duration.toAmino(duration_1.Duration.fromPartial({}));
obj.slash_fraction_double_sign = message.slashFractionDoubleSign ? (0, helpers_1.base64FromBytes)(message.slashFractionDoubleSign) : "";
obj.slash_fraction_downtime = message.slashFractionDowntime ? (0, helpers_1.base64FromBytes)(message.slashFractionDowntime) : "";
return obj;
},
fromAminoMsg(object) {
return exports.Params.fromAmino(object.value);
},
toAminoMsg(message) {
return {
type: "cosmos-sdk/x/slashing/Params",
value: exports.Params.toAmino(message)
};
},
fromProtoMsg(message) {
return exports.Params.decode(message.value);
},
toProto(message) {
return exports.Params.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/cosmos.slashing.v1beta1.Params",
value: exports.Params.encode(message).finish()
};
},
registerTypeUrl() { }
};