/* eslint-disable */ import Long from "long"; import * as _m0 from "protobufjs/minimal"; import { Any } from "../../../google/protobuf/any"; export const protobufPackage = "decimal.multisig.v1"; /** Wallet defines multisig wallet. */ export interface Wallet { address: string; owners: string[]; weights: number[]; threshold: number; } /** Transaction defines multisig transaction. */ export interface Transaction { id: string; wallet: string; message: Any | undefined; createdAt: number; } function createBaseWallet(): Wallet { return { address: "", owners: [], weights: [], threshold: 0 }; } export const Wallet = { encode(message: Wallet, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.address !== "") { writer.uint32(10).string(message.address); } for (const v of message.owners) { writer.uint32(18).string(v!); } writer.uint32(26).fork(); for (const v of message.weights) { writer.uint32(v); } writer.ldelim(); if (message.threshold !== 0) { writer.uint32(32).uint32(message.threshold); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): Wallet { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseWallet(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.address = reader.string(); break; case 2: message.owners.push(reader.string()); break; case 3: if ((tag & 7) === 2) { const end2 = reader.uint32() + reader.pos; while (reader.pos < end2) { message.weights.push(reader.uint32()); } } else { message.weights.push(reader.uint32()); } break; case 4: message.threshold = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): Wallet { return { address: isSet(object.address) ? String(object.address) : "", owners: Array.isArray(object?.owners) ? object.owners.map((e: any) => String(e)) : [], weights: Array.isArray(object?.weights) ? object.weights.map((e: any) => Number(e)) : [], threshold: isSet(object.threshold) ? Number(object.threshold) : 0, }; }, toJSON(message: Wallet): unknown { const obj: any = {}; message.address !== undefined && (obj.address = message.address); if (message.owners) { obj.owners = message.owners.map((e) => e); } else { obj.owners = []; } if (message.weights) { obj.weights = message.weights.map((e) => Math.round(e)); } else { obj.weights = []; } message.threshold !== undefined && (obj.threshold = Math.round(message.threshold)); return obj; }, fromPartial, I>>(object: I): Wallet { const message = createBaseWallet(); message.address = object.address ?? ""; message.owners = object.owners?.map((e) => e) || []; message.weights = object.weights?.map((e) => e) || []; message.threshold = object.threshold ?? 0; return message; }, }; function createBaseTransaction(): Transaction { return { id: "", wallet: "", message: undefined, createdAt: 0 }; } export const Transaction = { encode(message: Transaction, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } if (message.wallet !== "") { writer.uint32(18).string(message.wallet); } if (message.message !== undefined) { Any.encode(message.message, writer.uint32(26).fork()).ldelim(); } if (message.createdAt !== 0) { writer.uint32(32).int64(message.createdAt); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): Transaction { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseTransaction(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.wallet = reader.string(); break; case 3: message.message = Any.decode(reader, reader.uint32()); break; case 4: message.createdAt = longToNumber(reader.int64() as Long); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): Transaction { return { id: isSet(object.id) ? String(object.id) : "", wallet: isSet(object.wallet) ? String(object.wallet) : "", message: isSet(object.message) ? Any.fromJSON(object.message) : undefined, createdAt: isSet(object.createdAt) ? Number(object.createdAt) : 0, }; }, toJSON(message: Transaction): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.wallet !== undefined && (obj.wallet = message.wallet); message.message !== undefined && (obj.message = message.message ? Any.toJSON(message.message) : undefined); message.createdAt !== undefined && (obj.createdAt = Math.round(message.createdAt)); return obj; }, fromPartial, I>>(object: I): Transaction { const message = createBaseTransaction(); message.id = object.id ?? ""; message.wallet = object.wallet ?? ""; message.message = (object.message !== undefined && object.message !== null) ? Any.fromPartial(object.message) : undefined; message.createdAt = object.createdAt ?? 0; return message; }, }; declare var self: any | undefined; declare var window: any | undefined; declare var global: any | undefined; var globalThis: any = (() => { if (typeof globalThis !== "undefined") { return globalThis; } if (typeof self !== "undefined") { return self; } if (typeof window !== "undefined") { return window; } if (typeof global !== "undefined") { return global; } throw "Unable to locate global object"; })(); type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; function longToNumber(long: Long): number { if (long.gt(Number.MAX_SAFE_INTEGER)) { throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); } return long.toNumber(); } // If you get a compile-error about 'Constructor and ... have no overlap', // add '--ts_proto_opt=esModuleInterop=true' as a flag when calling 'protoc'. if (_m0.util.Long !== Long) { _m0.util.Long = Long as any; _m0.configure(); } function isSet(value: any): boolean { return value !== null && value !== undefined; }