UNPKG

interchainjs

Version:

InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.

372 lines (371 loc) 13.9 kB
import { isSet } from "../../../helpers"; import { BinaryReader, BinaryWriter } from "../../../binary"; import { GlobalDecoderRegistry } from "../../../registry"; /** Level is the permission level. */ export var Permissions_Level; (function (Permissions_Level) { /** * LEVEL_NONE_UNSPECIFIED - LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit * breaker permissions. */ Permissions_Level[Permissions_Level["LEVEL_NONE_UNSPECIFIED"] = 0] = "LEVEL_NONE_UNSPECIFIED"; /** * LEVEL_SOME_MSGS - LEVEL_SOME_MSGS indicates that the account will have permission to * trip or reset the circuit breaker for some Msg type URLs. If this level * is chosen, a non-empty list of Msg type URLs must be provided in * limit_type_urls. */ Permissions_Level[Permissions_Level["LEVEL_SOME_MSGS"] = 1] = "LEVEL_SOME_MSGS"; /** * LEVEL_ALL_MSGS - LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit * breaker for Msg's of all type URLs. */ Permissions_Level[Permissions_Level["LEVEL_ALL_MSGS"] = 2] = "LEVEL_ALL_MSGS"; /** * LEVEL_SUPER_ADMIN - LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker * actions and can grant permissions to other accounts. */ Permissions_Level[Permissions_Level["LEVEL_SUPER_ADMIN"] = 3] = "LEVEL_SUPER_ADMIN"; Permissions_Level[Permissions_Level["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; })(Permissions_Level || (Permissions_Level = {})); export const Permissions_LevelAmino = Permissions_Level; export function permissions_LevelFromJSON(object) { switch (object) { case 0: case "LEVEL_NONE_UNSPECIFIED": return Permissions_Level.LEVEL_NONE_UNSPECIFIED; case 1: case "LEVEL_SOME_MSGS": return Permissions_Level.LEVEL_SOME_MSGS; case 2: case "LEVEL_ALL_MSGS": return Permissions_Level.LEVEL_ALL_MSGS; case 3: case "LEVEL_SUPER_ADMIN": return Permissions_Level.LEVEL_SUPER_ADMIN; case -1: case "UNRECOGNIZED": default: return Permissions_Level.UNRECOGNIZED; } } export function permissions_LevelToJSON(object) { switch (object) { case Permissions_Level.LEVEL_NONE_UNSPECIFIED: return "LEVEL_NONE_UNSPECIFIED"; case Permissions_Level.LEVEL_SOME_MSGS: return "LEVEL_SOME_MSGS"; case Permissions_Level.LEVEL_ALL_MSGS: return "LEVEL_ALL_MSGS"; case Permissions_Level.LEVEL_SUPER_ADMIN: return "LEVEL_SUPER_ADMIN"; case Permissions_Level.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } function createBasePermissions() { return { level: 0, limitTypeUrls: [] }; } /** * Permissions are the permissions that an account has to trip * or reset the circuit breaker. * @name Permissions * @package cosmos.circuit.v1 * @see proto type: cosmos.circuit.v1.Permissions */ export const Permissions = { typeUrl: "/cosmos.circuit.v1.Permissions", aminoType: "cosmos-sdk/Permissions", is(o) { return o && (o.$typeUrl === Permissions.typeUrl || isSet(o.level) && Array.isArray(o.limitTypeUrls) && (!o.limitTypeUrls.length || typeof o.limitTypeUrls[0] === "string")); }, isAmino(o) { return o && (o.$typeUrl === Permissions.typeUrl || isSet(o.level) && Array.isArray(o.limit_type_urls) && (!o.limit_type_urls.length || typeof o.limit_type_urls[0] === "string")); }, encode(message, writer = BinaryWriter.create()) { if (message.level !== 0) { writer.uint32(8).int32(message.level); } for (const v of message.limitTypeUrls) { writer.uint32(18).string(v); } 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 = createBasePermissions(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.level = reader.int32(); break; case 2: message.limitTypeUrls.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBasePermissions(); message.level = object.level ?? 0; message.limitTypeUrls = object.limitTypeUrls?.map(e => e) || []; return message; }, fromAmino(object) { const message = createBasePermissions(); if (object.level !== undefined && object.level !== null) { message.level = object.level; } message.limitTypeUrls = object.limit_type_urls?.map(e => e) || []; return message; }, toAmino(message) { const obj = {}; obj.level = message.level === 0 ? undefined : message.level; if (message.limitTypeUrls) { obj.limit_type_urls = message.limitTypeUrls.map(e => e); } else { obj.limit_type_urls = message.limitTypeUrls; } return obj; }, fromAminoMsg(object) { return Permissions.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/Permissions", value: Permissions.toAmino(message) }; }, fromProtoMsg(message) { return Permissions.decode(message.value); }, toProto(message) { return Permissions.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.circuit.v1.Permissions", value: Permissions.encode(message).finish() }; }, registerTypeUrl() { } }; function createBaseGenesisAccountPermissions() { return { address: "", permissions: undefined }; } /** * GenesisAccountPermissions is the account permissions for the circuit breaker in genesis * @name GenesisAccountPermissions * @package cosmos.circuit.v1 * @see proto type: cosmos.circuit.v1.GenesisAccountPermissions */ export const GenesisAccountPermissions = { typeUrl: "/cosmos.circuit.v1.GenesisAccountPermissions", aminoType: "cosmos-sdk/GenesisAccountPermissions", is(o) { return o && (o.$typeUrl === GenesisAccountPermissions.typeUrl || typeof o.address === "string"); }, isAmino(o) { return o && (o.$typeUrl === GenesisAccountPermissions.typeUrl || typeof o.address === "string"); }, encode(message, writer = BinaryWriter.create()) { if (message.address !== "") { writer.uint32(10).string(message.address); } if (message.permissions !== undefined) { Permissions.encode(message.permissions, 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 = createBaseGenesisAccountPermissions(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.address = reader.string(); break; case 2: message.permissions = Permissions.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseGenesisAccountPermissions(); message.address = object.address ?? ""; message.permissions = object.permissions !== undefined && object.permissions !== null ? Permissions.fromPartial(object.permissions) : undefined; return message; }, fromAmino(object) { const message = createBaseGenesisAccountPermissions(); if (object.address !== undefined && object.address !== null) { message.address = object.address; } if (object.permissions !== undefined && object.permissions !== null) { message.permissions = Permissions.fromAmino(object.permissions); } return message; }, toAmino(message) { const obj = {}; obj.address = message.address === "" ? undefined : message.address; obj.permissions = message.permissions ? Permissions.toAmino(message.permissions) : undefined; return obj; }, fromAminoMsg(object) { return GenesisAccountPermissions.fromAmino(object.value); }, toAminoMsg(message) { return { type: "cosmos-sdk/GenesisAccountPermissions", value: GenesisAccountPermissions.toAmino(message) }; }, fromProtoMsg(message) { return GenesisAccountPermissions.decode(message.value); }, toProto(message) { return GenesisAccountPermissions.encode(message).finish(); }, toProtoMsg(message) { return { typeUrl: "/cosmos.circuit.v1.GenesisAccountPermissions", value: GenesisAccountPermissions.encode(message).finish() }; }, registerTypeUrl() { if (!GlobalDecoderRegistry.registerExistingTypeUrl(GenesisAccountPermissions.typeUrl)) { return; } Permissions.registerTypeUrl(); } }; function createBaseGenesisState() { return { accountPermissions: [], disabledTypeUrls: [] }; } /** * GenesisState is the state that must be provided at genesis. * @name GenesisState * @package cosmos.circuit.v1 * @see proto type: cosmos.circuit.v1.GenesisState */ export const GenesisState = { typeUrl: "/cosmos.circuit.v1.GenesisState", aminoType: "cosmos-sdk/GenesisState", is(o) { return o && (o.$typeUrl === GenesisState.typeUrl || Array.isArray(o.accountPermissions) && (!o.accountPermissions.length || GenesisAccountPermissions.is(o.accountPermissions[0])) && Array.isArray(o.disabledTypeUrls) && (!o.disabledTypeUrls.length || typeof o.disabledTypeUrls[0] === "string")); }, isAmino(o) { return o && (o.$typeUrl === GenesisState.typeUrl || Array.isArray(o.account_permissions) && (!o.account_permissions.length || GenesisAccountPermissions.isAmino(o.account_permissions[0])) && Array.isArray(o.disabled_type_urls) && (!o.disabled_type_urls.length || typeof o.disabled_type_urls[0] === "string")); }, encode(message, writer = BinaryWriter.create()) { for (const v of message.accountPermissions) { GenesisAccountPermissions.encode(v, writer.uint32(10).fork()).ldelim(); } for (const v of message.disabledTypeUrls) { writer.uint32(18).string(v); } 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.accountPermissions.push(GenesisAccountPermissions.decode(reader, reader.uint32())); break; case 2: message.disabledTypeUrls.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object) { const message = createBaseGenesisState(); message.accountPermissions = object.accountPermissions?.map(e => GenesisAccountPermissions.fromPartial(e)) || []; message.disabledTypeUrls = object.disabledTypeUrls?.map(e => e) || []; return message; }, fromAmino(object) { const message = createBaseGenesisState(); message.accountPermissions = object.account_permissions?.map(e => GenesisAccountPermissions.fromAmino(e)) || []; message.disabledTypeUrls = object.disabled_type_urls?.map(e => e) || []; return message; }, toAmino(message) { const obj = {}; if (message.accountPermissions) { obj.account_permissions = message.accountPermissions.map(e => e ? GenesisAccountPermissions.toAmino(e) : undefined); } else { obj.account_permissions = message.accountPermissions; } if (message.disabledTypeUrls) { obj.disabled_type_urls = message.disabledTypeUrls.map(e => e); } else { obj.disabled_type_urls = message.disabledTypeUrls; } 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.circuit.v1.GenesisState", value: GenesisState.encode(message).finish() }; }, registerTypeUrl() { if (!GlobalDecoderRegistry.registerExistingTypeUrl(GenesisState.typeUrl)) { return; } GenesisAccountPermissions.registerTypeUrl(); } };