@bandprotocol/bandchain.js
Version:
TypeScript library for Cosmos SDK and BandChain
577 lines (576 loc) • 24.2 kB
JavaScript
//@ts-nocheck
import { Timestamp } from "../../../google/protobuf/timestamp";
import { Coin } from "../../../cosmos/base/v1beta1/coin";
import { BinaryReader, BinaryWriter } from "../../../binary";
import { toTimestamp, fromTimestamp, bytesFromBase64, base64FromBytes } from "../../../helpers";
/** TransitionStatus is an enumeration of the possible statuses of a group transition process. */
export var TransitionStatus;
(function (TransitionStatus) {
/** TRANSITION_STATUS_UNSPECIFIED - TRANSITION_STATUS_UNSPECIFIED is the status of a group transition that has not been specified. */
TransitionStatus[TransitionStatus["TRANSITION_STATUS_UNSPECIFIED"] = 0] = "TRANSITION_STATUS_UNSPECIFIED";
/**
* TRANSITION_STATUS_CREATING_GROUP - TRANSITION_STATUS_CREATING_GROUP is the status of a group transition that a new group
* is being created.
*/
TransitionStatus[TransitionStatus["TRANSITION_STATUS_CREATING_GROUP"] = 1] = "TRANSITION_STATUS_CREATING_GROUP";
/**
* TRANSITION_STATUS_WAITING_SIGN - TRANSITION_STATUS_WAITING_SIGN is the status of a group transition that waits members in
* a current group to sign the transition message.
*/
TransitionStatus[TransitionStatus["TRANSITION_STATUS_WAITING_SIGN"] = 2] = "TRANSITION_STATUS_WAITING_SIGN";
/**
* TRANSITION_STATUS_WAITING_EXECUTION - TRANSITION_STATUS_WAITING_EXECUTION is the status of a group transition that
* a transition process is completed, either from a forceTransition or having a current-group
* signature on a transition message, but waits for the execution time.
*/
TransitionStatus[TransitionStatus["TRANSITION_STATUS_WAITING_EXECUTION"] = 3] = "TRANSITION_STATUS_WAITING_EXECUTION";
TransitionStatus[TransitionStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(TransitionStatus || (TransitionStatus = {}));
export const TransitionStatusSDKType = TransitionStatus;
export const TransitionStatusAmino = TransitionStatus;
export function transitionStatusFromJSON(object) {
switch (object) {
case 0:
case "TRANSITION_STATUS_UNSPECIFIED":
return TransitionStatus.TRANSITION_STATUS_UNSPECIFIED;
case 1:
case "TRANSITION_STATUS_CREATING_GROUP":
return TransitionStatus.TRANSITION_STATUS_CREATING_GROUP;
case 2:
case "TRANSITION_STATUS_WAITING_SIGN":
return TransitionStatus.TRANSITION_STATUS_WAITING_SIGN;
case 3:
case "TRANSITION_STATUS_WAITING_EXECUTION":
return TransitionStatus.TRANSITION_STATUS_WAITING_EXECUTION;
case -1:
case "UNRECOGNIZED":
default:
return TransitionStatus.UNRECOGNIZED;
}
}
export function transitionStatusToJSON(object) {
switch (object) {
case TransitionStatus.TRANSITION_STATUS_UNSPECIFIED:
return "TRANSITION_STATUS_UNSPECIFIED";
case TransitionStatus.TRANSITION_STATUS_CREATING_GROUP:
return "TRANSITION_STATUS_CREATING_GROUP";
case TransitionStatus.TRANSITION_STATUS_WAITING_SIGN:
return "TRANSITION_STATUS_WAITING_SIGN";
case TransitionStatus.TRANSITION_STATUS_WAITING_EXECUTION:
return "TRANSITION_STATUS_WAITING_EXECUTION";
case TransitionStatus.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
function createBaseMember() {
return {
address: "",
groupId: BigInt(0),
isActive: false,
since: new Date()
};
}
export const Member = {
typeUrl: "/band.bandtss.v1beta1.Member",
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.isActive === true) {
writer.uint32(24).bool(message.isActive);
}
if (message.since !== undefined) {
Timestamp.encode(toTimestamp(message.since), 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.groupId = reader.uint64();
break;
case 3:
message.isActive = reader.bool();
break;
case 4:
message.since = 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.groupId = object.groupId !== undefined && object.groupId !== null ? BigInt(object.groupId.toString()) : BigInt(0);
message.isActive = object.isActive ?? false;
message.since = object.since ?? undefined;
return message;
},
fromAmino(object) {
const message = createBaseMember();
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.is_active !== undefined && object.is_active !== null) {
message.isActive = object.is_active;
}
if (object.since !== undefined && object.since !== null) {
message.since = fromTimestamp(Timestamp.fromAmino(object.since));
}
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.is_active = message.isActive === false ? undefined : message.isActive;
obj.since = message.since ? Timestamp.toAmino(toTimestamp(message.since)) : undefined;
return obj;
},
fromAminoMsg(object) {
return Member.fromAmino(object.value);
},
fromProtoMsg(message) {
return Member.decode(message.value);
},
toProto(message) {
return Member.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/band.bandtss.v1beta1.Member",
value: Member.encode(message).finish()
};
}
};
function createBaseCurrentGroup() {
return {
groupId: BigInt(0),
activeTime: new Date()
};
}
export const CurrentGroup = {
typeUrl: "/band.bandtss.v1beta1.CurrentGroup",
encode(message, writer = BinaryWriter.create()) {
if (message.groupId !== BigInt(0)) {
writer.uint32(8).uint64(message.groupId);
}
if (message.activeTime !== undefined) {
Timestamp.encode(toTimestamp(message.activeTime), 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 = createBaseCurrentGroup();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.groupId = reader.uint64();
break;
case 2:
message.activeTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseCurrentGroup();
message.groupId = object.groupId !== undefined && object.groupId !== null ? BigInt(object.groupId.toString()) : BigInt(0);
message.activeTime = object.activeTime ?? undefined;
return message;
},
fromAmino(object) {
const message = createBaseCurrentGroup();
if (object.group_id !== undefined && object.group_id !== null) {
message.groupId = BigInt(object.group_id);
}
if (object.active_time !== undefined && object.active_time !== null) {
message.activeTime = fromTimestamp(Timestamp.fromAmino(object.active_time));
}
return message;
},
toAmino(message) {
const obj = {};
obj.group_id = message.groupId !== BigInt(0) ? message.groupId?.toString() : undefined;
obj.active_time = message.activeTime ? Timestamp.toAmino(toTimestamp(message.activeTime)) : undefined;
return obj;
},
fromAminoMsg(object) {
return CurrentGroup.fromAmino(object.value);
},
fromProtoMsg(message) {
return CurrentGroup.decode(message.value);
},
toProto(message) {
return CurrentGroup.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/band.bandtss.v1beta1.CurrentGroup",
value: CurrentGroup.encode(message).finish()
};
}
};
function createBaseSigning() {
return {
id: BigInt(0),
feePerSigner: [],
requester: "",
currentGroupSigningId: BigInt(0),
incomingGroupSigningId: BigInt(0)
};
}
export const Signing = {
typeUrl: "/band.bandtss.v1beta1.Signing",
encode(message, writer = BinaryWriter.create()) {
if (message.id !== BigInt(0)) {
writer.uint32(8).uint64(message.id);
}
for (const v of message.feePerSigner) {
Coin.encode(v, writer.uint32(18).fork()).ldelim();
}
if (message.requester !== "") {
writer.uint32(26).string(message.requester);
}
if (message.currentGroupSigningId !== BigInt(0)) {
writer.uint32(32).uint64(message.currentGroupSigningId);
}
if (message.incomingGroupSigningId !== BigInt(0)) {
writer.uint32(40).uint64(message.incomingGroupSigningId);
}
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 = createBaseSigning();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.id = reader.uint64();
break;
case 2:
message.feePerSigner.push(Coin.decode(reader, reader.uint32()));
break;
case 3:
message.requester = reader.string();
break;
case 4:
message.currentGroupSigningId = reader.uint64();
break;
case 5:
message.incomingGroupSigningId = reader.uint64();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseSigning();
message.id = object.id !== undefined && object.id !== null ? BigInt(object.id.toString()) : BigInt(0);
message.feePerSigner = object.feePerSigner?.map(e => Coin.fromPartial(e)) || [];
message.requester = object.requester ?? "";
message.currentGroupSigningId = object.currentGroupSigningId !== undefined && object.currentGroupSigningId !== null ? BigInt(object.currentGroupSigningId.toString()) : BigInt(0);
message.incomingGroupSigningId = object.incomingGroupSigningId !== undefined && object.incomingGroupSigningId !== null ? BigInt(object.incomingGroupSigningId.toString()) : BigInt(0);
return message;
},
fromAmino(object) {
const message = createBaseSigning();
if (object.id !== undefined && object.id !== null) {
message.id = BigInt(object.id);
}
message.feePerSigner = object.fee_per_signer?.map(e => Coin.fromAmino(e)) || [];
if (object.requester !== undefined && object.requester !== null) {
message.requester = object.requester;
}
if (object.current_group_signing_id !== undefined && object.current_group_signing_id !== null) {
message.currentGroupSigningId = BigInt(object.current_group_signing_id);
}
if (object.incoming_group_signing_id !== undefined && object.incoming_group_signing_id !== null) {
message.incomingGroupSigningId = BigInt(object.incoming_group_signing_id);
}
return message;
},
toAmino(message) {
const obj = {};
obj.id = message.id !== BigInt(0) ? message.id?.toString() : undefined;
if (message.feePerSigner) {
obj.fee_per_signer = message.feePerSigner.map(e => e ? Coin.toAmino(e) : undefined);
}
else {
obj.fee_per_signer = message.feePerSigner;
}
obj.requester = message.requester === "" ? undefined : message.requester;
obj.current_group_signing_id = message.currentGroupSigningId !== BigInt(0) ? message.currentGroupSigningId?.toString() : undefined;
obj.incoming_group_signing_id = message.incomingGroupSigningId !== BigInt(0) ? message.incomingGroupSigningId?.toString() : undefined;
return obj;
},
fromAminoMsg(object) {
return Signing.fromAmino(object.value);
},
fromProtoMsg(message) {
return Signing.decode(message.value);
},
toProto(message) {
return Signing.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/band.bandtss.v1beta1.Signing",
value: Signing.encode(message).finish()
};
}
};
function createBaseGroupTransition() {
return {
signingId: BigInt(0),
currentGroupId: BigInt(0),
currentGroupPubKey: new Uint8Array(),
incomingGroupId: BigInt(0),
incomingGroupPubKey: new Uint8Array(),
status: 0,
execTime: new Date(),
isForceTransition: false
};
}
export const GroupTransition = {
typeUrl: "/band.bandtss.v1beta1.GroupTransition",
encode(message, writer = BinaryWriter.create()) {
if (message.signingId !== BigInt(0)) {
writer.uint32(8).uint64(message.signingId);
}
if (message.currentGroupId !== BigInt(0)) {
writer.uint32(16).uint64(message.currentGroupId);
}
if (message.currentGroupPubKey.length !== 0) {
writer.uint32(26).bytes(message.currentGroupPubKey);
}
if (message.incomingGroupId !== BigInt(0)) {
writer.uint32(32).uint64(message.incomingGroupId);
}
if (message.incomingGroupPubKey.length !== 0) {
writer.uint32(42).bytes(message.incomingGroupPubKey);
}
if (message.status !== 0) {
writer.uint32(48).int32(message.status);
}
if (message.execTime !== undefined) {
Timestamp.encode(toTimestamp(message.execTime), writer.uint32(58).fork()).ldelim();
}
if (message.isForceTransition === true) {
writer.uint32(64).bool(message.isForceTransition);
}
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 = createBaseGroupTransition();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.signingId = reader.uint64();
break;
case 2:
message.currentGroupId = reader.uint64();
break;
case 3:
message.currentGroupPubKey = reader.bytes();
break;
case 4:
message.incomingGroupId = reader.uint64();
break;
case 5:
message.incomingGroupPubKey = reader.bytes();
break;
case 6:
message.status = reader.int32();
break;
case 7:
message.execTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
break;
case 8:
message.isForceTransition = reader.bool();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseGroupTransition();
message.signingId = object.signingId !== undefined && object.signingId !== null ? BigInt(object.signingId.toString()) : BigInt(0);
message.currentGroupId = object.currentGroupId !== undefined && object.currentGroupId !== null ? BigInt(object.currentGroupId.toString()) : BigInt(0);
message.currentGroupPubKey = object.currentGroupPubKey ?? new Uint8Array();
message.incomingGroupId = object.incomingGroupId !== undefined && object.incomingGroupId !== null ? BigInt(object.incomingGroupId.toString()) : BigInt(0);
message.incomingGroupPubKey = object.incomingGroupPubKey ?? new Uint8Array();
message.status = object.status ?? 0;
message.execTime = object.execTime ?? undefined;
message.isForceTransition = object.isForceTransition ?? false;
return message;
},
fromAmino(object) {
const message = createBaseGroupTransition();
if (object.signing_id !== undefined && object.signing_id !== null) {
message.signingId = BigInt(object.signing_id);
}
if (object.current_group_id !== undefined && object.current_group_id !== null) {
message.currentGroupId = BigInt(object.current_group_id);
}
if (object.current_group_pub_key !== undefined && object.current_group_pub_key !== null) {
message.currentGroupPubKey = bytesFromBase64(object.current_group_pub_key);
}
if (object.incoming_group_id !== undefined && object.incoming_group_id !== null) {
message.incomingGroupId = BigInt(object.incoming_group_id);
}
if (object.incoming_group_pub_key !== undefined && object.incoming_group_pub_key !== null) {
message.incomingGroupPubKey = bytesFromBase64(object.incoming_group_pub_key);
}
if (object.status !== undefined && object.status !== null) {
message.status = object.status;
}
if (object.exec_time !== undefined && object.exec_time !== null) {
message.execTime = fromTimestamp(Timestamp.fromAmino(object.exec_time));
}
if (object.is_force_transition !== undefined && object.is_force_transition !== null) {
message.isForceTransition = object.is_force_transition;
}
return message;
},
toAmino(message) {
const obj = {};
obj.signing_id = message.signingId !== BigInt(0) ? message.signingId?.toString() : undefined;
obj.current_group_id = message.currentGroupId !== BigInt(0) ? message.currentGroupId?.toString() : undefined;
obj.current_group_pub_key = message.currentGroupPubKey ? base64FromBytes(message.currentGroupPubKey) : undefined;
obj.incoming_group_id = message.incomingGroupId !== BigInt(0) ? message.incomingGroupId?.toString() : undefined;
obj.incoming_group_pub_key = message.incomingGroupPubKey ? base64FromBytes(message.incomingGroupPubKey) : undefined;
obj.status = message.status === 0 ? undefined : message.status;
obj.exec_time = message.execTime ? Timestamp.toAmino(toTimestamp(message.execTime)) : undefined;
obj.is_force_transition = message.isForceTransition === false ? undefined : message.isForceTransition;
return obj;
},
fromAminoMsg(object) {
return GroupTransition.fromAmino(object.value);
},
fromProtoMsg(message) {
return GroupTransition.decode(message.value);
},
toProto(message) {
return GroupTransition.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/band.bandtss.v1beta1.GroupTransition",
value: GroupTransition.encode(message).finish()
};
}
};
function createBaseGroupTransitionSignatureOrder() {
return {
$typeUrl: "/band.bandtss.v1beta1.GroupTransitionSignatureOrder",
pubKey: new Uint8Array(),
transitionTime: new Date()
};
}
export const GroupTransitionSignatureOrder = {
typeUrl: "/band.bandtss.v1beta1.GroupTransitionSignatureOrder",
encode(message, writer = BinaryWriter.create()) {
if (message.pubKey.length !== 0) {
writer.uint32(10).bytes(message.pubKey);
}
if (message.transitionTime !== undefined) {
Timestamp.encode(toTimestamp(message.transitionTime), 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 = createBaseGroupTransitionSignatureOrder();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.pubKey = reader.bytes();
break;
case 2:
message.transitionTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromPartial(object) {
const message = createBaseGroupTransitionSignatureOrder();
message.pubKey = object.pubKey ?? new Uint8Array();
message.transitionTime = object.transitionTime ?? undefined;
return message;
},
fromAmino(object) {
const message = createBaseGroupTransitionSignatureOrder();
if (object.pub_key !== undefined && object.pub_key !== null) {
message.pubKey = bytesFromBase64(object.pub_key);
}
if (object.transition_time !== undefined && object.transition_time !== null) {
message.transitionTime = fromTimestamp(Timestamp.fromAmino(object.transition_time));
}
return message;
},
toAmino(message) {
const obj = {};
obj.pub_key = message.pubKey ? base64FromBytes(message.pubKey) : undefined;
obj.transition_time = message.transitionTime ? Timestamp.toAmino(toTimestamp(message.transitionTime)) : undefined;
return obj;
},
fromAminoMsg(object) {
return GroupTransitionSignatureOrder.fromAmino(object.value);
},
fromProtoMsg(message) {
return GroupTransitionSignatureOrder.decode(message.value);
},
toProto(message) {
return GroupTransitionSignatureOrder.encode(message).finish();
},
toProtoMsg(message) {
return {
typeUrl: "/band.bandtss.v1beta1.GroupTransitionSignatureOrder",
value: GroupTransitionSignatureOrder.encode(message).finish()
};
}
};