import * as _m0 from "protobufjs/minimal"; import { DeepPartial } from "../../../../helpers"; /** Module is the config object for the auth module. */ export interface Module { /** bech32_prefix is the bech32 account prefix for the app. */ bech32Prefix: string; /** module_account_permissions are module account permissions. */ moduleAccountPermissions: ModuleAccountPermission[]; /** authority defines the custom module authority. If not set, defaults to the governance module. */ authority: string; } /** Module is the config object for the auth module. */ export interface ModuleSDKType { bech32_prefix: string; module_account_permissions: ModuleAccountPermissionSDKType[]; authority: string; } /** ModuleAccountPermission represents permissions for a module account. */ export interface ModuleAccountPermission { /** account is the name of the module. */ account: string; /** * permissions are the permissions this module has. Currently recognized * values are minter, burner and staking. */ permissions: string[]; } /** ModuleAccountPermission represents permissions for a module account. */ export interface ModuleAccountPermissionSDKType { account: string; permissions: string[]; } function createBaseModule(): Module { return { bech32Prefix: "", moduleAccountPermissions: [], authority: "" }; } export const Module = { encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.bech32Prefix !== "") { writer.uint32(10).string(message.bech32Prefix); } for (const v of message.moduleAccountPermissions) { ModuleAccountPermission.encode(v!, writer.uint32(18).fork()).ldelim(); } if (message.authority !== "") { writer.uint32(26).string(message.authority); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): Module { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseModule(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.bech32Prefix = reader.string(); break; case 2: message.moduleAccountPermissions.push(ModuleAccountPermission.decode(reader, reader.uint32())); break; case 3: message.authority = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): Module { const message = createBaseModule(); message.bech32Prefix = object.bech32Prefix ?? ""; message.moduleAccountPermissions = object.moduleAccountPermissions?.map(e => ModuleAccountPermission.fromPartial(e)) || []; message.authority = object.authority ?? ""; return message; } }; function createBaseModuleAccountPermission(): ModuleAccountPermission { return { account: "", permissions: [] }; } export const ModuleAccountPermission = { encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.account !== "") { writer.uint32(10).string(message.account); } for (const v of message.permissions) { writer.uint32(18).string(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseModuleAccountPermission(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.account = reader.string(); break; case 2: message.permissions.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromPartial(object: DeepPartial): ModuleAccountPermission { const message = createBaseModuleAccountPermission(); message.account = object.account ?? ""; message.permissions = object.permissions?.map(e => e) || []; return message; } };