/* eslint-disable */ import Long from "long"; import _m0 from "protobufjs/minimal"; export const protobufPackage = "tendermint.crypto"; export interface Proof { total: string; index: string; leafHash: Uint8Array; aunts: Uint8Array[]; } export interface ValueOp { /** Encoded in ProofOp.Key. */ key: Uint8Array; /** To encode in ProofOp.Data */ proof: Proof | undefined; } export interface DominoOp { key: string; input: string; output: string; } /** * ProofOp defines an operation used for calculating Merkle root * The data could be arbitrary format, providing nessecary data * for example neighbouring node hash */ export interface ProofOp { type: string; key: Uint8Array; data: Uint8Array; } /** ProofOps is Merkle proof defined by the list of ProofOps */ export interface ProofOps { ops: ProofOp[]; } function createBaseProof(): Proof { return { total: "0", index: "0", leafHash: new Uint8Array(), aunts: [] }; } export const Proof = { encode(message: Proof, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.total !== "0") { writer.uint32(8).int64(message.total); } if (message.index !== "0") { writer.uint32(16).int64(message.index); } if (message.leafHash.length !== 0) { writer.uint32(26).bytes(message.leafHash); } for (const v of message.aunts) { writer.uint32(34).bytes(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): Proof { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseProof(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.total = longToString(reader.int64() as Long); break; case 2: message.index = longToString(reader.int64() as Long); break; case 3: message.leafHash = reader.bytes(); break; case 4: message.aunts.push(reader.bytes()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): Proof { return { total: isSet(object.total) ? String(object.total) : "0", index: isSet(object.index) ? String(object.index) : "0", leafHash: isSet(object.leafHash) ? bytesFromBase64(object.leafHash) : new Uint8Array(), aunts: Array.isArray(object?.aunts) ? object.aunts.map((e: any) => bytesFromBase64(e)) : [], }; }, toJSON(message: Proof): unknown { const obj: any = {}; message.total !== undefined && (obj.total = message.total); message.index !== undefined && (obj.index = message.index); message.leafHash !== undefined && (obj.leafHash = base64FromBytes( message.leafHash !== undefined ? message.leafHash : new Uint8Array() )); if (message.aunts) { obj.aunts = message.aunts.map((e) => base64FromBytes(e !== undefined ? e : new Uint8Array()) ); } else { obj.aunts = []; } return obj; }, fromPartial, I>>(object: I): Proof { const message = createBaseProof(); message.total = object.total ?? "0"; message.index = object.index ?? "0"; message.leafHash = object.leafHash ?? new Uint8Array(); message.aunts = object.aunts?.map((e) => e) || []; return message; }, }; function createBaseValueOp(): ValueOp { return { key: new Uint8Array(), proof: undefined }; } export const ValueOp = { encode( message: ValueOp, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.key.length !== 0) { writer.uint32(10).bytes(message.key); } if (message.proof !== undefined) { Proof.encode(message.proof, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ValueOp { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseValueOp(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = reader.bytes(); break; case 2: message.proof = Proof.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ValueOp { return { key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(), proof: isSet(object.proof) ? Proof.fromJSON(object.proof) : undefined, }; }, toJSON(message: ValueOp): unknown { const obj: any = {}; message.key !== undefined && (obj.key = base64FromBytes( message.key !== undefined ? message.key : new Uint8Array() )); message.proof !== undefined && (obj.proof = message.proof ? Proof.toJSON(message.proof) : undefined); return obj; }, fromPartial, I>>(object: I): ValueOp { const message = createBaseValueOp(); message.key = object.key ?? new Uint8Array(); message.proof = object.proof !== undefined && object.proof !== null ? Proof.fromPartial(object.proof) : undefined; return message; }, }; function createBaseDominoOp(): DominoOp { return { key: "", input: "", output: "" }; } export const DominoOp = { encode( message: DominoOp, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.key !== "") { writer.uint32(10).string(message.key); } if (message.input !== "") { writer.uint32(18).string(message.input); } if (message.output !== "") { writer.uint32(26).string(message.output); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): DominoOp { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDominoOp(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = reader.string(); break; case 2: message.input = reader.string(); break; case 3: message.output = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): DominoOp { return { key: isSet(object.key) ? String(object.key) : "", input: isSet(object.input) ? String(object.input) : "", output: isSet(object.output) ? String(object.output) : "", }; }, toJSON(message: DominoOp): unknown { const obj: any = {}; message.key !== undefined && (obj.key = message.key); message.input !== undefined && (obj.input = message.input); message.output !== undefined && (obj.output = message.output); return obj; }, fromPartial, I>>(object: I): DominoOp { const message = createBaseDominoOp(); message.key = object.key ?? ""; message.input = object.input ?? ""; message.output = object.output ?? ""; return message; }, }; function createBaseProofOp(): ProofOp { return { type: "", key: new Uint8Array(), data: new Uint8Array() }; } export const ProofOp = { encode( message: ProofOp, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.type !== "") { writer.uint32(10).string(message.type); } if (message.key.length !== 0) { writer.uint32(18).bytes(message.key); } if (message.data.length !== 0) { writer.uint32(26).bytes(message.data); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ProofOp { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseProofOp(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.type = reader.string(); break; case 2: message.key = reader.bytes(); break; case 3: message.data = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ProofOp { return { type: isSet(object.type) ? String(object.type) : "", key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(), data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(), }; }, toJSON(message: ProofOp): unknown { const obj: any = {}; message.type !== undefined && (obj.type = message.type); message.key !== undefined && (obj.key = base64FromBytes( message.key !== undefined ? message.key : new Uint8Array() )); message.data !== undefined && (obj.data = base64FromBytes( message.data !== undefined ? message.data : new Uint8Array() )); return obj; }, fromPartial, I>>(object: I): ProofOp { const message = createBaseProofOp(); message.type = object.type ?? ""; message.key = object.key ?? new Uint8Array(); message.data = object.data ?? new Uint8Array(); return message; }, }; function createBaseProofOps(): ProofOps { return { ops: [] }; } export const ProofOps = { encode( message: ProofOps, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.ops) { ProofOp.encode(v!, writer.uint32(10).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ProofOps { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseProofOps(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.ops.push(ProofOp.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ProofOps { return { ops: Array.isArray(object?.ops) ? object.ops.map((e: any) => ProofOp.fromJSON(e)) : [], }; }, toJSON(message: ProofOps): unknown { const obj: any = {}; if (message.ops) { obj.ops = message.ops.map((e) => (e ? ProofOp.toJSON(e) : undefined)); } else { obj.ops = []; } return obj; }, fromPartial, I>>(object: I): ProofOps { const message = createBaseProofOps(); message.ops = object.ops?.map((e) => ProofOp.fromPartial(e)) || []; 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"; })(); const atob: (b64: string) => string = globalThis.atob || ((b64) => globalThis.Buffer.from(b64, "base64").toString("binary")); function bytesFromBase64(b64: string): Uint8Array { const bin = atob(b64); const arr = new Uint8Array(bin.length); for (let i = 0; i < bin.length; ++i) { arr[i] = bin.charCodeAt(i); } return arr; } const btoa: (bin: string) => string = globalThis.btoa || ((bin) => globalThis.Buffer.from(bin, "binary").toString("base64")); function base64FromBytes(arr: Uint8Array): string { const bin: string[] = []; for (const byte of arr) { bin.push(String.fromCharCode(byte)); } return btoa(bin.join("")); } 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 } & Record< Exclude>, never >; function longToString(long: Long) { return long.toString(); } if (_m0.util.Long !== Long) { _m0.util.Long = Long as any; _m0.configure(); } function isSet(value: any): boolean { return value !== null && value !== undefined; }