{"version":3,"file":"index.cjs","mappings":"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","sources":["webpack://@cere-ddc-sdk/proto/webpack/bootstrap","webpack://@cere-ddc-sdk/proto/webpack/runtime/define property getters","webpack://@cere-ddc-sdk/proto/webpack/runtime/hasOwnProperty shorthand","webpack://@cere-ddc-sdk/proto/webpack/runtime/make namespace object","webpack://@cere-ddc-sdk/proto/external commonjs \"@protobuf-ts/runtime\"","webpack://@cere-ddc-sdk/proto/./src/link.ts","webpack://@cere-ddc-sdk/proto/./src/tag.ts","webpack://@cere-ddc-sdk/proto/./src/query.ts","webpack://@cere-ddc-sdk/proto/./src/signature.ts","webpack://@cere-ddc-sdk/proto/./src/log_record.ts","webpack://@cere-ddc-sdk/proto/./src/piece.ts","webpack://@cere-ddc-sdk/proto/./src/request.ts","webpack://@cere-ddc-sdk/proto/./src/response.ts","webpack://@cere-ddc-sdk/proto/./src/session_status.ts","webpack://@cere-ddc-sdk/proto/./src/signed_piece.ts","webpack://@cere-ddc-sdk/proto/./src/search_result.ts","webpack://@cere-ddc-sdk/proto/./src/ack.ts","webpack://@cere-ddc-sdk/proto/./src/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@protobuf-ts/runtime\");","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"link.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n *\n * A link is a pointer from one piece to another.\n *\n * @generated from protobuf message pb.Link\n */\nexport interface Link {\n    /**\n     * The CID of the linked piece.\n     *\n     * @generated from protobuf field: string cid = 1;\n     */\n    cid: string;\n    /**\n     * The size of the payload of the linked piece.\n     *\n     * @generated from protobuf field: uint64 size = 2;\n     */\n    size: bigint;\n    /**\n     * The name of the linked piece, in the context of the linking piece.\n     *\n     * @generated from protobuf field: string name = 3;\n     */\n    name: string;\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Link$Type extends MessageType<Link> {\n    constructor() {\n        super(\"pb.Link\", [\n            { no: 1, name: \"cid\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"size\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 3, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<Link>): Link {\n        const message = { cid: \"\", size: 0n, name: \"\" };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<Link>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Link): Link {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string cid */ 1:\n                    message.cid = reader.string();\n                    break;\n                case /* uint64 size */ 2:\n                    message.size = reader.uint64().toBigInt();\n                    break;\n                case /* string name */ 3:\n                    message.name = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Link, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string cid = 1; */\n        if (message.cid !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.cid);\n        /* uint64 size = 2; */\n        if (message.size !== 0n)\n            writer.tag(2, WireType.Varint).uint64(message.size);\n        /* string name = 3; */\n        if (message.name !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.name);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.Link\n */\nexport const Link = new Link$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"tag.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n *\n * A tag is a `key/value` attribute attached to a piece.\n *\n * Tags can be used to search or filter pieces in storage. If search is not needed, disable it\n * using the `searchable` field.\n *\n * Specific tags are used to implement different higher protocols, such as a file system.\n * Each key should start with a prefix indicating which protocol or application relies on it. Below is a non-exhaustive table of known tag keys:\n *\n * Tag Key      | Description\n * ------------ | -----------\n * content-type | The MIME type of the payload of a piece or file. This is returned by the CDN web interface as HTTP Content-Type.\n * file-*       | Tags to implement a filesystem over object storage. Example: `file-path`\n * kv-*         | Tags to implement a key/value store over object storage.\n * enc-*        | Tags to organize data encryption and data sharing keys.\n *\n * Below is the structure of a tag:\n *\n * @generated from protobuf message pb.Tag\n */\nexport interface Tag {\n    /**\n     * The key of the tag. It is usually a UTF-8 string, but it may be any data.\n     *\n     * @generated from protobuf field: bytes key = 1;\n     */\n    key: Uint8Array;\n    /**\n     * The value of the tag for this key. The value should be interpreted based on the key.\n     *\n     * @generated from protobuf field: bytes value = 2;\n     */\n    value: Uint8Array;\n    /**\n     * Whether this tag is searchable or not. Yes by default.\n     *\n     * @generated from protobuf field: pb.SearchType searchable = 3;\n     */\n    searchable: SearchType;\n}\n/**\n * How can this tag be searched.\n *\n * @generated from protobuf enum pb.SearchType\n */\nexport enum SearchType {\n    /**\n     * RANGE tags should be indexed by nodes into their database to allow efficient queries on a key\n     * for an exact value or a range of values. This is the default.\n     *\n     * @generated from protobuf enum value: RANGE = 0;\n     */\n    RANGE = 0,\n    /**\n     * NOT_SEARCHABLE tags should not be indexed. This option should be set when possible to save\n     * node space and speed.\n     *\n     * @generated from protobuf enum value: NOT_SEARCHABLE = 1;\n     */\n    NOT_SEARCHABLE = 1\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Tag$Type extends MessageType<Tag> {\n    constructor() {\n        super(\"pb.Tag\", [\n            { no: 1, name: \"key\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 2, name: \"value\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 3, name: \"searchable\", kind: \"enum\", T: () => [\"pb.SearchType\", SearchType] }\n        ]);\n    }\n    create(value?: PartialMessage<Tag>): Tag {\n        const message = { key: new Uint8Array(0), value: new Uint8Array(0), searchable: 0 };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<Tag>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Tag): Tag {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* bytes key */ 1:\n                    message.key = reader.bytes();\n                    break;\n                case /* bytes value */ 2:\n                    message.value = reader.bytes();\n                    break;\n                case /* pb.SearchType searchable */ 3:\n                    message.searchable = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Tag, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* bytes key = 1; */\n        if (message.key.length)\n            writer.tag(1, WireType.LengthDelimited).bytes(message.key);\n        /* bytes value = 2; */\n        if (message.value.length)\n            writer.tag(2, WireType.LengthDelimited).bytes(message.value);\n        /* pb.SearchType searchable = 3; */\n        if (message.searchable !== 0)\n            writer.tag(3, WireType.Varint).int32(message.searchable);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.Tag\n */\nexport const Tag = new Tag$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"query.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\nimport { Tag } from \"./tag\";\n/**\n *\n * A query represents a search of pieces by tags.\n *\n * @generated from protobuf message pb.Query\n */\nexport interface Query {\n    /**\n     * The ID of the bucket to search.\n     *\n     * @generated from protobuf field: uint32 bucketId = 1;\n     */\n    bucketId: number;\n    /**\n     * A list of tags to match against the tags of stored pieces.\n     * There can be multiple tags with the same key.\n     *\n     * @generated from protobuf field: repeated pb.Tag tags = 2;\n     */\n    tags: Tag[];\n    /**\n     * Skip piece data in search result.\n     *\n     * @generated from protobuf field: bool skipData = 3;\n     */\n    skipData: boolean;\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Query$Type extends MessageType<Query> {\n    constructor() {\n        super(\"pb.Query\", [\n            { no: 1, name: \"bucketId\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n            { no: 2, name: \"tags\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => Tag },\n            { no: 3, name: \"skipData\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ }\n        ]);\n    }\n    create(value?: PartialMessage<Query>): Query {\n        const message = { bucketId: 0, tags: [], skipData: false };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<Query>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Query): Query {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* uint32 bucketId */ 1:\n                    message.bucketId = reader.uint32();\n                    break;\n                case /* repeated pb.Tag tags */ 2:\n                    message.tags.push(Tag.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* bool skipData */ 3:\n                    message.skipData = reader.bool();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Query, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* uint32 bucketId = 1; */\n        if (message.bucketId !== 0)\n            writer.tag(1, WireType.Varint).uint32(message.bucketId);\n        /* repeated pb.Tag tags = 2; */\n        for (let i = 0; i < message.tags.length; i++)\n            Tag.internalBinaryWrite(message.tags[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        /* bool skipData = 3; */\n        if (message.skipData !== false)\n            writer.tag(3, WireType.Varint).bool(message.skipData);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.Query\n */\nexport const Query = new Query$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"signature.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n *\n * A signature and details to help verify it.\n *\n * #### Generation\n *\n * - Compute a CID from the `piece` bytes using details from `signature`:\n *     - [CIDv1](https://github.com/multiformats/cid).\n *     - The hash function should be blake2b-256 and `multiHashType` should be empty.\n *     - Content type codec `0x55`\n *     - Base encoded in Base32 with the prefix `b`\n *     - Example: bafk2bzacea73ycjnxe2qov7cvnhx52lzfp6nf5jcblnfus6gqreh6ygganbws\n *\n * - Store the public key of the signer in `publicKey` in binary encoding.\n *\n * - Store the current time in `timestamp`\n *     - In JavaScript: `timestamp = +new Date()`\n *\n * - Format the current time in ISO 8601 `YYYY-MM-DDTHH:mm:ss.sssZ`\n * - In JavaScript: `timeText = new Date(timestamp).toISOString()`\n * - In Go format: `2006-01-02T15:04:05.000Z`\n *\n * - The signed message to store a piece is:\n *     - `<Bytes>DDC store ${CID} at ${timeText}</Bytes>`\n *     - Note: the `<Bytes>` part is enforced by the Polkadot.js browser extension.\n *     - Example: `<Bytes>DDC store bafk2bzacea73ycjnxe2qov7cvnhx52lzfp6nf5jcblnfus6gqreh6ygganbws at 2022-06-27T07:33:44.607Z</Bytes>`\n *\n * - The signing scheme should be sr25519, and `scheme` should be empty.\n *     - If this not supported by a signer, then `scheme` should be \"ed25519\".\n *\n * - Sign and store the signature in `sig` in binary encoding.\n *\n * #### Verification\n *\n * - Recompute the signed message using the details in `signature`.\n * - Verify `sig` given the scheme, the message, and the public key.\n *\n * #### Legacy signatures before v0.1.4\n *\n * If `timestamp == 0`, assume an older version:\n * - Decode `value` and `signer` from hexadecimal with or without `0x`.\n * - Then the signed message is either `${CID}` or `<Bytes>${CID}</Bytes>`.\n *\n *\n * @generated from protobuf message pb.Signature\n */\nexport interface Signature {\n    /**\n     * The cryptographic signature in binary encoding as per the scheme.\n     *\n     * @generated from protobuf field: bytes value = 1;\n     */\n    value: Uint8Array;\n    /**\n     * The public key of the signer in binary encoding as per the scheme.\n     *\n     * @generated from protobuf field: bytes signer = 2;\n     */\n    signer: Uint8Array;\n    /**\n     * The name of the signature scheme (sr25519, secp256k1, ed25519).\n     * Default and recommended value: \"\" or \"sr25519\".\n     *\n     * @generated from protobuf field: string scheme = 3;\n     */\n    scheme: string;\n    /**\n     * The ID of the hashing algorithm as per multiformats/multihash.\n     * Default and recommended value: 0 or 0xb220, meaning blake2b-256.\n     *\n     * @generated from protobuf field: uint64 multiHashType = 4;\n     */\n    multiHashType: bigint;\n    /**\n     * The timestamp in UNIX milliseconds.\n     *\n     * @generated from protobuf field: uint64 timestamp = 5;\n     */\n    timestamp: bigint;\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Signature$Type extends MessageType<Signature> {\n    constructor() {\n        super(\"pb.Signature\", [\n            { no: 1, name: \"value\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 2, name: \"signer\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 3, name: \"scheme\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"multiHashType\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 5, name: \"timestamp\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n        ]);\n    }\n    create(value?: PartialMessage<Signature>): Signature {\n        const message = { value: new Uint8Array(0), signer: new Uint8Array(0), scheme: \"\", multiHashType: 0n, timestamp: 0n };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<Signature>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Signature): Signature {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* bytes value */ 1:\n                    message.value = reader.bytes();\n                    break;\n                case /* bytes signer */ 2:\n                    message.signer = reader.bytes();\n                    break;\n                case /* string scheme */ 3:\n                    message.scheme = reader.string();\n                    break;\n                case /* uint64 multiHashType */ 4:\n                    message.multiHashType = reader.uint64().toBigInt();\n                    break;\n                case /* uint64 timestamp */ 5:\n                    message.timestamp = reader.uint64().toBigInt();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Signature, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* bytes value = 1; */\n        if (message.value.length)\n            writer.tag(1, WireType.LengthDelimited).bytes(message.value);\n        /* bytes signer = 2; */\n        if (message.signer.length)\n            writer.tag(2, WireType.LengthDelimited).bytes(message.signer);\n        /* string scheme = 3; */\n        if (message.scheme !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.scheme);\n        /* uint64 multiHashType = 4; */\n        if (message.multiHashType !== 0n)\n            writer.tag(4, WireType.Varint).uint64(message.multiHashType);\n        /* uint64 timestamp = 5; */\n        if (message.timestamp !== 0n)\n            writer.tag(5, WireType.Varint).uint64(message.timestamp);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.Signature\n */\nexport const Signature = new Signature$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"log_record.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\nimport { Query } from \"./query\";\nimport { Signature } from \"./signature\";\n/**\n *\n * A log record is a record for logging activity of each request to node.\n *\n * @generated from protobuf message pb.LogRecord\n */\nexport interface LogRecord {\n    /**\n     * @generated from protobuf oneof: request\n     */\n    request: {\n        oneofKind: \"writeRequest\";\n        /**\n         * write request metadata\n         *\n         * @generated from protobuf field: pb.WriteRequest writeRequest = 1;\n         */\n        writeRequest: WriteRequest;\n    } | {\n        oneofKind: \"readRequest\";\n        /**\n         * read request metadata\n         *\n         * @generated from protobuf field: pb.ReadRequest readRequest = 2;\n         */\n        readRequest: ReadRequest;\n    } | {\n        oneofKind: \"queryRequest\";\n        /**\n         * search request metadata\n         *\n         * @generated from protobuf field: pb.QueryRequest queryRequest = 3;\n         */\n        queryRequest: QueryRequest;\n    } | {\n        oneofKind: undefined;\n    };\n    /**\n     * timestamp of request in UNIX nanoseconds.\n     *\n     * @generated from protobuf field: uint64 timestamp = 4 [jstype = JS_STRING];\n     */\n    timestamp: string;\n    /**\n     * ip address of user who sent request\n     *\n     * @generated from protobuf field: string address = 5;\n     */\n    address: string;\n    /**\n     * number of used gas for processing request\n     *\n     * @generated from protobuf field: uint32 gas = 6;\n     */\n    gas: number;\n    /**\n     * users publicKey\n     *\n     * @generated from protobuf field: bytes publicKey = 7;\n     */\n    publicKey: Uint8Array;\n    /**\n     * session id\n     *\n     * @generated from protobuf field: bytes sessionId = 9;\n     */\n    sessionId: Uint8Array;\n    /**\n     * request id\n     *\n     * @generated from protobuf field: string requestId = 10;\n     */\n    requestId: string;\n    /**\n     * list of pieces returned by request\n     *\n     * @generated from protobuf field: repeated pb.ResponsePiece responsePieces = 12;\n     */\n    responsePieces: ResponsePiece[];\n}\n/**\n *\n * A log records list\n *\n * @generated from protobuf message pb.LogRecordList\n */\nexport interface LogRecordList {\n    /**\n     * @generated from protobuf field: repeated pb.LogRecord logRecords = 1;\n     */\n    logRecords: LogRecord[];\n}\n/**\n *\n * A write request is a container of metadata for upload piece requests\n *\n * @generated from protobuf message pb.WriteRequest\n */\nexport interface WriteRequest {\n    /**\n     * CID of saved piece\n     *\n     * @generated from protobuf field: string cid = 1;\n     */\n    cid: string;\n    /**\n     * bucket identifier where was stored piece\n     *\n     * @generated from protobuf field: uint32 bucketId = 2;\n     */\n    bucketId: number;\n    /**\n     * size of stored piece\n     *\n     * @generated from protobuf field: uint32 size = 3;\n     */\n    size: number;\n    /**\n     * piece signature\n     *\n     * @generated from protobuf field: pb.Signature signature = 4;\n     */\n    signature?: Signature;\n}\n/**\n *\n * A read request is a container of metadata for download piece requests\n *\n * @generated from protobuf message pb.ReadRequest\n */\nexport interface ReadRequest {\n    /**\n     * CID of requested piece\n     *\n     * @generated from protobuf field: string cid = 1;\n     */\n    cid: string;\n    /**\n     * bucket identifier of requested piece\n     *\n     * @generated from protobuf field: uint32 bucketId = 2;\n     */\n    bucketId: number;\n    /**\n     * piece signature\n     *\n     * @generated from protobuf field: pb.Signature signature = 3;\n     */\n    signature?: Signature;\n}\n/**\n *\n * A query request is a container of metadata for search requests\n *\n * @generated from protobuf message pb.QueryRequest\n */\nexport interface QueryRequest {\n    /**\n     * query for search\n     *\n     * @generated from protobuf field: pb.Query query = 1;\n     */\n    query?: Query;\n}\n/**\n * @generated from protobuf message pb.ResponsePiece\n */\nexport interface ResponsePiece {\n    /**\n     * CID of piece\n     *\n     * @generated from protobuf field: string cid = 1;\n     */\n    cid: string;\n    /**\n     * size of piece\n     *\n     * @generated from protobuf field: uint32 size = 3;\n     */\n    size: number;\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass LogRecord$Type extends MessageType<LogRecord> {\n    constructor() {\n        super(\"pb.LogRecord\", [\n            { no: 1, name: \"writeRequest\", kind: \"message\", oneof: \"request\", T: () => WriteRequest },\n            { no: 2, name: \"readRequest\", kind: \"message\", oneof: \"request\", T: () => ReadRequest },\n            { no: 3, name: \"queryRequest\", kind: \"message\", oneof: \"request\", T: () => QueryRequest },\n            { no: 4, name: \"timestamp\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/ },\n            { no: 5, name: \"address\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 6, name: \"gas\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n            { no: 7, name: \"publicKey\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 9, name: \"sessionId\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 10, name: \"requestId\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 12, name: \"responsePieces\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => ResponsePiece }\n        ]);\n    }\n    create(value?: PartialMessage<LogRecord>): LogRecord {\n        const message = { request: { oneofKind: undefined }, timestamp: \"0\", address: \"\", gas: 0, publicKey: new Uint8Array(0), sessionId: new Uint8Array(0), requestId: \"\", responsePieces: [] };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<LogRecord>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogRecord): LogRecord {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* pb.WriteRequest writeRequest */ 1:\n                    message.request = {\n                        oneofKind: \"writeRequest\",\n                        writeRequest: WriteRequest.internalBinaryRead(reader, reader.uint32(), options, (message.request as any).writeRequest)\n                    };\n                    break;\n                case /* pb.ReadRequest readRequest */ 2:\n                    message.request = {\n                        oneofKind: \"readRequest\",\n                        readRequest: ReadRequest.internalBinaryRead(reader, reader.uint32(), options, (message.request as any).readRequest)\n                    };\n                    break;\n                case /* pb.QueryRequest queryRequest */ 3:\n                    message.request = {\n                        oneofKind: \"queryRequest\",\n                        queryRequest: QueryRequest.internalBinaryRead(reader, reader.uint32(), options, (message.request as any).queryRequest)\n                    };\n                    break;\n                case /* uint64 timestamp = 4 [jstype = JS_STRING];*/ 4:\n                    message.timestamp = reader.uint64().toString();\n                    break;\n                case /* string address */ 5:\n                    message.address = reader.string();\n                    break;\n                case /* uint32 gas */ 6:\n                    message.gas = reader.uint32();\n                    break;\n                case /* bytes publicKey */ 7:\n                    message.publicKey = reader.bytes();\n                    break;\n                case /* bytes sessionId */ 9:\n                    message.sessionId = reader.bytes();\n                    break;\n                case /* string requestId */ 10:\n                    message.requestId = reader.string();\n                    break;\n                case /* repeated pb.ResponsePiece responsePieces */ 12:\n                    message.responsePieces.push(ResponsePiece.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: LogRecord, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* pb.WriteRequest writeRequest = 1; */\n        if (message.request.oneofKind === \"writeRequest\")\n            WriteRequest.internalBinaryWrite(message.request.writeRequest, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* pb.ReadRequest readRequest = 2; */\n        if (message.request.oneofKind === \"readRequest\")\n            ReadRequest.internalBinaryWrite(message.request.readRequest, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        /* pb.QueryRequest queryRequest = 3; */\n        if (message.request.oneofKind === \"queryRequest\")\n            QueryRequest.internalBinaryWrite(message.request.queryRequest, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n        /* uint64 timestamp = 4 [jstype = JS_STRING]; */\n        if (message.timestamp !== \"0\")\n            writer.tag(4, WireType.Varint).uint64(message.timestamp);\n        /* string address = 5; */\n        if (message.address !== \"\")\n            writer.tag(5, WireType.LengthDelimited).string(message.address);\n        /* uint32 gas = 6; */\n        if (message.gas !== 0)\n            writer.tag(6, WireType.Varint).uint32(message.gas);\n        /* bytes publicKey = 7; */\n        if (message.publicKey.length)\n            writer.tag(7, WireType.LengthDelimited).bytes(message.publicKey);\n        /* bytes sessionId = 9; */\n        if (message.sessionId.length)\n            writer.tag(9, WireType.LengthDelimited).bytes(message.sessionId);\n        /* string requestId = 10; */\n        if (message.requestId !== \"\")\n            writer.tag(10, WireType.LengthDelimited).string(message.requestId);\n        /* repeated pb.ResponsePiece responsePieces = 12; */\n        for (let i = 0; i < message.responsePieces.length; i++)\n            ResponsePiece.internalBinaryWrite(message.responsePieces[i], writer.tag(12, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.LogRecord\n */\nexport const LogRecord = new LogRecord$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass LogRecordList$Type extends MessageType<LogRecordList> {\n    constructor() {\n        super(\"pb.LogRecordList\", [\n            { no: 1, name: \"logRecords\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => LogRecord }\n        ]);\n    }\n    create(value?: PartialMessage<LogRecordList>): LogRecordList {\n        const message = { logRecords: [] };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<LogRecordList>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogRecordList): LogRecordList {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated pb.LogRecord logRecords */ 1:\n                    message.logRecords.push(LogRecord.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: LogRecordList, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated pb.LogRecord logRecords = 1; */\n        for (let i = 0; i < message.logRecords.length; i++)\n            LogRecord.internalBinaryWrite(message.logRecords[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.LogRecordList\n */\nexport const LogRecordList = new LogRecordList$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass WriteRequest$Type extends MessageType<WriteRequest> {\n    constructor() {\n        super(\"pb.WriteRequest\", [\n            { no: 1, name: \"cid\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"bucketId\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n            { no: 3, name: \"size\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n            { no: 4, name: \"signature\", kind: \"message\", T: () => Signature }\n        ]);\n    }\n    create(value?: PartialMessage<WriteRequest>): WriteRequest {\n        const message = { cid: \"\", bucketId: 0, size: 0 };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<WriteRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: WriteRequest): WriteRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string cid */ 1:\n                    message.cid = reader.string();\n                    break;\n                case /* uint32 bucketId */ 2:\n                    message.bucketId = reader.uint32();\n                    break;\n                case /* uint32 size */ 3:\n                    message.size = reader.uint32();\n                    break;\n                case /* pb.Signature signature */ 4:\n                    message.signature = Signature.internalBinaryRead(reader, reader.uint32(), options, message.signature);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: WriteRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string cid = 1; */\n        if (message.cid !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.cid);\n        /* uint32 bucketId = 2; */\n        if (message.bucketId !== 0)\n            writer.tag(2, WireType.Varint).uint32(message.bucketId);\n        /* uint32 size = 3; */\n        if (message.size !== 0)\n            writer.tag(3, WireType.Varint).uint32(message.size);\n        /* pb.Signature signature = 4; */\n        if (message.signature)\n            Signature.internalBinaryWrite(message.signature, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.WriteRequest\n */\nexport const WriteRequest = new WriteRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ReadRequest$Type extends MessageType<ReadRequest> {\n    constructor() {\n        super(\"pb.ReadRequest\", [\n            { no: 1, name: \"cid\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"bucketId\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n            { no: 3, name: \"signature\", kind: \"message\", T: () => Signature }\n        ]);\n    }\n    create(value?: PartialMessage<ReadRequest>): ReadRequest {\n        const message = { cid: \"\", bucketId: 0 };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<ReadRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ReadRequest): ReadRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string cid */ 1:\n                    message.cid = reader.string();\n                    break;\n                case /* uint32 bucketId */ 2:\n                    message.bucketId = reader.uint32();\n                    break;\n                case /* pb.Signature signature */ 3:\n                    message.signature = Signature.internalBinaryRead(reader, reader.uint32(), options, message.signature);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: ReadRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string cid = 1; */\n        if (message.cid !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.cid);\n        /* uint32 bucketId = 2; */\n        if (message.bucketId !== 0)\n            writer.tag(2, WireType.Varint).uint32(message.bucketId);\n        /* pb.Signature signature = 3; */\n        if (message.signature)\n            Signature.internalBinaryWrite(message.signature, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.ReadRequest\n */\nexport const ReadRequest = new ReadRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass QueryRequest$Type extends MessageType<QueryRequest> {\n    constructor() {\n        super(\"pb.QueryRequest\", [\n            { no: 1, name: \"query\", kind: \"message\", T: () => Query }\n        ]);\n    }\n    create(value?: PartialMessage<QueryRequest>): QueryRequest {\n        const message = {};\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<QueryRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QueryRequest): QueryRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* pb.Query query */ 1:\n                    message.query = Query.internalBinaryRead(reader, reader.uint32(), options, message.query);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: QueryRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* pb.Query query = 1; */\n        if (message.query)\n            Query.internalBinaryWrite(message.query, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.QueryRequest\n */\nexport const QueryRequest = new QueryRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass ResponsePiece$Type extends MessageType<ResponsePiece> {\n    constructor() {\n        super(\"pb.ResponsePiece\", [\n            { no: 1, name: \"cid\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"size\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<ResponsePiece>): ResponsePiece {\n        const message = { cid: \"\", size: 0 };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<ResponsePiece>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ResponsePiece): ResponsePiece {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string cid */ 1:\n                    message.cid = reader.string();\n                    break;\n                case /* uint32 size */ 3:\n                    message.size = reader.uint32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: ResponsePiece, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string cid = 1; */\n        if (message.cid !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.cid);\n        /* uint32 size = 3; */\n        if (message.size !== 0)\n            writer.tag(3, WireType.Varint).uint32(message.size);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.ResponsePiece\n */\nexport const ResponsePiece = new ResponsePiece$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"piece.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\nimport { Link } from \"./link\";\nimport { Tag } from \"./tag\";\n/**\n *\n * A piece is a container of data and metadata.\n * It is the smallest indivisible unit stored in DDC object storage.\n *\n * @generated from protobuf message pb.Piece\n */\nexport interface Piece {\n    /**\n     * The opaque payload carried by the piece.\n     *\n     * @generated from protobuf field: bytes data = 1;\n     */\n    data: Uint8Array;\n    /**\n     * The ID of a bucket that contains the piece.\n     *\n     * @generated from protobuf field: uint32 bucketId = 2;\n     */\n    bucketId: number;\n    /**\n     * A list of tags with which the piece may be searched.\n     * There can be multiple tags with the same key.\n     *\n     * @generated from protobuf field: repeated pb.Tag tags = 3;\n     */\n    tags: Tag[];\n    /**\n     * A list of links to other pieces.\n     * If this piece is interpreted as a file, the linked pieces make up the file content.\n     *\n     * @generated from protobuf field: repeated pb.Link links = 4;\n     */\n    links: Link[];\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Piece$Type extends MessageType<Piece> {\n    constructor() {\n        super(\"pb.Piece\", [\n            { no: 1, name: \"data\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 2, name: \"bucketId\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n            { no: 3, name: \"tags\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => Tag },\n            { no: 4, name: \"links\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => Link }\n        ]);\n    }\n    create(value?: PartialMessage<Piece>): Piece {\n        const message = { data: new Uint8Array(0), bucketId: 0, tags: [], links: [] };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<Piece>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Piece): Piece {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* bytes data */ 1:\n                    message.data = reader.bytes();\n                    break;\n                case /* uint32 bucketId */ 2:\n                    message.bucketId = reader.uint32();\n                    break;\n                case /* repeated pb.Tag tags */ 3:\n                    message.tags.push(Tag.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* repeated pb.Link links */ 4:\n                    message.links.push(Link.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Piece, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* bytes data = 1; */\n        if (message.data.length)\n            writer.tag(1, WireType.LengthDelimited).bytes(message.data);\n        /* uint32 bucketId = 2; */\n        if (message.bucketId !== 0)\n            writer.tag(2, WireType.Varint).uint32(message.bucketId);\n        /* repeated pb.Tag tags = 3; */\n        for (let i = 0; i < message.tags.length; i++)\n            Tag.internalBinaryWrite(message.tags[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n        /* repeated pb.Link links = 4; */\n        for (let i = 0; i < message.links.length; i++)\n            Link.internalBinaryWrite(message.links[i], writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.Piece\n */\nexport const Piece = new Piece$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"request.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n *\n * Request structure for API v1\n *\n * @generated from protobuf message pb.Request\n */\nexport interface Request {\n    /**\n     * Request body\n     *\n     * @generated from protobuf field: bytes body = 1;\n     */\n    body: Uint8Array;\n    /**\n     * User public key\n     *\n     * @generated from protobuf field: bytes publicKey = 3;\n     */\n    publicKey: Uint8Array;\n    /**\n     * User signature sign(CID(HTTP method size + HTTP method + url size + url + varint body size + body + varint sessionId size + sessionId))\n     *\n     * @generated from protobuf field: bytes signature = 4;\n     */\n    signature: Uint8Array;\n    /**\n     * The name of the signature scheme (sr25519, ed25519).\n     * Default and recommended value: \"\" or \"sr25519\".\n     *\n     * @generated from protobuf field: string scheme = 5;\n     */\n    scheme: string;\n    /**\n     * The ID of the hashing algorithm as per multiformats/multihash.\n     * Default and recommended value: 0 or 0xb220, meaning blake2b-256.\n     *\n     * @generated from protobuf field: uint64 multiHashType = 6;\n     */\n    multiHashType: bigint;\n    /**\n     * Session Id\n     *\n     * @generated from protobuf field: bytes sessionId = 7;\n     */\n    sessionId: Uint8Array;\n    /**\n     * Request ID\n     *\n     * @generated from protobuf field: string requestId = 8;\n     */\n    requestId: string;\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Request$Type extends MessageType<Request> {\n    constructor() {\n        super(\"pb.Request\", [\n            { no: 1, name: \"body\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 3, name: \"publicKey\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 4, name: \"signature\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 5, name: \"scheme\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 6, name: \"multiHashType\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 7, name: \"sessionId\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 8, name: \"requestId\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<Request>): Request {\n        const message = { body: new Uint8Array(0), publicKey: new Uint8Array(0), signature: new Uint8Array(0), scheme: \"\", multiHashType: 0n, sessionId: new Uint8Array(0), requestId: \"\" };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<Request>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Request): Request {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* bytes body */ 1:\n                    message.body = reader.bytes();\n                    break;\n                case /* bytes publicKey */ 3:\n                    message.publicKey = reader.bytes();\n                    break;\n                case /* bytes signature */ 4:\n                    message.signature = reader.bytes();\n                    break;\n                case /* string scheme */ 5:\n                    message.scheme = reader.string();\n                    break;\n                case /* uint64 multiHashType */ 6:\n                    message.multiHashType = reader.uint64().toBigInt();\n                    break;\n                case /* bytes sessionId */ 7:\n                    message.sessionId = reader.bytes();\n                    break;\n                case /* string requestId */ 8:\n                    message.requestId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* bytes body = 1; */\n        if (message.body.length)\n            writer.tag(1, WireType.LengthDelimited).bytes(message.body);\n        /* bytes publicKey = 3; */\n        if (message.publicKey.length)\n            writer.tag(3, WireType.LengthDelimited).bytes(message.publicKey);\n        /* bytes signature = 4; */\n        if (message.signature.length)\n            writer.tag(4, WireType.LengthDelimited).bytes(message.signature);\n        /* string scheme = 5; */\n        if (message.scheme !== \"\")\n            writer.tag(5, WireType.LengthDelimited).string(message.scheme);\n        /* uint64 multiHashType = 6; */\n        if (message.multiHashType !== 0n)\n            writer.tag(6, WireType.Varint).uint64(message.multiHashType);\n        /* bytes sessionId = 7; */\n        if (message.sessionId.length)\n            writer.tag(7, WireType.LengthDelimited).bytes(message.sessionId);\n        /* string requestId = 8; */\n        if (message.requestId !== \"\")\n            writer.tag(8, WireType.LengthDelimited).string(message.requestId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.Request\n */\nexport const Request = new Request$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"response.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n *\n * Response structure for API v1\n *\n * @generated from protobuf message pb.Response\n */\nexport interface Response {\n    /**\n     * Response body\n     *\n     * @generated from protobuf field: bytes body = 1;\n     */\n    body: Uint8Array;\n    /**\n     * Response code\n     *\n     * @generated from protobuf field: pb.Code responseCode = 2;\n     */\n    responseCode: Code;\n    /**\n     * Used gas for executing request\n     *\n     * @generated from protobuf field: uint32 gas = 3;\n     */\n    gas: number;\n    /**\n     * CDN public key\n     *\n     * @generated from protobuf field: bytes publicKey = 4;\n     */\n    publicKey: Uint8Array;\n    /**\n     * CDN signature sign(CID(varint body + body + varint response code + varint resources))\n     *\n     * @generated from protobuf field: bytes signature = 5;\n     */\n    signature: Uint8Array;\n    /**\n     * The name of the signature scheme (sr25519, ed25519).\n     * Default and recommended value: \"\" or \"sr25519\".\n     *\n     * @generated from protobuf field: string scheme = 6;\n     */\n    scheme: string;\n    /**\n     * The ID of the hashing algorithm as per multiformats/multihash.\n     * Default and recommended value: 0 or 0xb220, meaning blake2b-256.\n     *\n     * @generated from protobuf field: uint64 multiHashType = 7;\n     */\n    multiHashType: bigint;\n}\n/**\n *\n * Response codes\n *\n * @generated from protobuf enum pb.Code\n */\nexport enum Code {\n    /**\n     * @generated from protobuf enum value: SUCCESS = 0;\n     */\n    SUCCESS = 0,\n    /**\n     * @generated from protobuf enum value: CREATED = 1;\n     */\n    CREATED = 1,\n    /**\n     * @generated from protobuf enum value: NOT_FOUND = 2;\n     */\n    NOT_FOUND = 2,\n    /**\n     * @generated from protobuf enum value: FAILED_READ_BODY = 3;\n     */\n    FAILED_READ_BODY = 3,\n    /**\n     * @generated from protobuf enum value: FAILED_UNMARSHAL_BODY = 4;\n     */\n    FAILED_UNMARSHAL_BODY = 4,\n    /**\n     * @generated from protobuf enum value: FAILED_MARSHAL_BODY = 5;\n     */\n    FAILED_MARSHAL_BODY = 5,\n    /**\n     * @generated from protobuf enum value: FAILED_GET_BLOCKCHAIN_DATA = 6;\n     */\n    FAILED_GET_BLOCKCHAIN_DATA = 6,\n    /**\n     * @generated from protobuf enum value: BUCKET_RENT_EXPIRED = 7;\n     */\n    BUCKET_RENT_EXPIRED = 7,\n    /**\n     * @generated from protobuf enum value: INVALID_PUBLIC_KEY = 8;\n     */\n    INVALID_PUBLIC_KEY = 8,\n    /**\n     * @generated from protobuf enum value: INVALID_SIGNATURE = 9;\n     */\n    INVALID_SIGNATURE = 9,\n    /**\n     * @generated from protobuf enum value: INVALID_PARAMETER = 10;\n     */\n    INVALID_PARAMETER = 10,\n    /**\n     * @generated from protobuf enum value: BUCKET_NO_ACCESS = 11;\n     */\n    BUCKET_NO_ACCESS = 11,\n    /**\n     * @generated from protobuf enum value: INTERNAL_ERROR = 12;\n     */\n    INTERNAL_ERROR = 12,\n    /**\n     * @generated from protobuf enum value: BAD_GATEWAY = 13;\n     */\n    BAD_GATEWAY = 13,\n    /**\n     * @generated from protobuf enum value: INVALID_SESSION_ID = 14;\n     */\n    INVALID_SESSION_ID = 14,\n    /**\n     * @generated from protobuf enum value: ACCOUNT_DEPOSIT_REQUIRED = 15;\n     */\n    ACCOUNT_DEPOSIT_REQUIRED = 15,\n    /**\n     * @generated from protobuf enum value: GAS_EXPIRED = 16;\n     */\n    GAS_EXPIRED = 16,\n    /**\n     * @generated from protobuf enum value: REQUEST_TOO_LARGE = 17;\n     */\n    REQUEST_TOO_LARGE = 17\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Response$Type extends MessageType<Response> {\n    constructor() {\n        super(\"pb.Response\", [\n            { no: 1, name: \"body\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 2, name: \"responseCode\", kind: \"enum\", T: () => [\"pb.Code\", Code] },\n            { no: 3, name: \"gas\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n            { no: 4, name: \"publicKey\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 5, name: \"signature\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 6, name: \"scheme\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 7, name: \"multiHashType\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n        ]);\n    }\n    create(value?: PartialMessage<Response>): Response {\n        const message = { body: new Uint8Array(0), responseCode: 0, gas: 0, publicKey: new Uint8Array(0), signature: new Uint8Array(0), scheme: \"\", multiHashType: 0n };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<Response>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Response): Response {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* bytes body */ 1:\n                    message.body = reader.bytes();\n                    break;\n                case /* pb.Code responseCode */ 2:\n                    message.responseCode = reader.int32();\n                    break;\n                case /* uint32 gas */ 3:\n                    message.gas = reader.uint32();\n                    break;\n                case /* bytes publicKey */ 4:\n                    message.publicKey = reader.bytes();\n                    break;\n                case /* bytes signature */ 5:\n                    message.signature = reader.bytes();\n                    break;\n                case /* string scheme */ 6:\n                    message.scheme = reader.string();\n                    break;\n                case /* uint64 multiHashType */ 7:\n                    message.multiHashType = reader.uint64().toBigInt();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* bytes body = 1; */\n        if (message.body.length)\n            writer.tag(1, WireType.LengthDelimited).bytes(message.body);\n        /* pb.Code responseCode = 2; */\n        if (message.responseCode !== 0)\n            writer.tag(2, WireType.Varint).int32(message.responseCode);\n        /* uint32 gas = 3; */\n        if (message.gas !== 0)\n            writer.tag(3, WireType.Varint).uint32(message.gas);\n        /* bytes publicKey = 4; */\n        if (message.publicKey.length)\n            writer.tag(4, WireType.LengthDelimited).bytes(message.publicKey);\n        /* bytes signature = 5; */\n        if (message.signature.length)\n            writer.tag(5, WireType.LengthDelimited).bytes(message.signature);\n        /* string scheme = 6; */\n        if (message.scheme !== \"\")\n            writer.tag(6, WireType.LengthDelimited).string(message.scheme);\n        /* uint64 multiHashType = 7; */\n        if (message.multiHashType !== 0n)\n            writer.tag(7, WireType.Varint).uint64(message.multiHashType);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.Response\n */\nexport const Response = new Response$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"session_status.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n *\n * Session status update request\n *\n * @generated from protobuf message pb.SessionStatus\n */\nexport interface SessionStatus {\n    /**\n     * Node public key\n     *\n     * @generated from protobuf field: bytes publicKey = 1;\n     */\n    publicKey: Uint8Array;\n    /**\n     * Reserved gas number (incremental after each status update)\n     *\n     * @generated from protobuf field: uint32 gas = 2;\n     */\n    gas: number;\n    /**\n     * Session identifier (secret value)\n     *\n     * @generated from protobuf field: bytes sessionId = 3;\n     */\n    sessionId: Uint8Array;\n    /**\n     * Session expiration time in UNIX milliseconds\n     *\n     * @generated from protobuf field: uint64 endOfEpoch = 4;\n     */\n    endOfEpoch: bigint;\n    /**\n     * Bucket Id for which session\n     *\n     * @generated from protobuf field: uint32 bucketId = 5;\n     */\n    bucketId: number;\n}\n/**\n *\n * Session status record in storage\n *\n * @generated from protobuf message pb.SessionStatusRecord\n */\nexport interface SessionStatusRecord {\n    /**\n     * Session status\n     *\n     * @generated from protobuf field: pb.SessionStatus sessionStatus = 1;\n     */\n    sessionStatus?: SessionStatus;\n    /**\n     * Payer publicKey\n     *\n     * @generated from protobuf field: bytes publicKey = 2;\n     */\n    publicKey: Uint8Array;\n    /**\n     * Payer signature\n     *\n     * @generated from protobuf field: bytes signature = 3;\n     */\n    signature: Uint8Array;\n    /**\n     * timestamp of request in UNIX milliseconds.\n     *\n     * @generated from protobuf field: uint64 timestamp = 4;\n     */\n    timestamp: bigint;\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass SessionStatus$Type extends MessageType<SessionStatus> {\n    constructor() {\n        super(\"pb.SessionStatus\", [\n            { no: 1, name: \"publicKey\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 2, name: \"gas\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ },\n            { no: 3, name: \"sessionId\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 4, name: \"endOfEpoch\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 5, name: \"bucketId\", kind: \"scalar\", T: 13 /*ScalarType.UINT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<SessionStatus>): SessionStatus {\n        const message = { publicKey: new Uint8Array(0), gas: 0, sessionId: new Uint8Array(0), endOfEpoch: 0n, bucketId: 0 };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<SessionStatus>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SessionStatus): SessionStatus {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* bytes publicKey */ 1:\n                    message.publicKey = reader.bytes();\n                    break;\n                case /* uint32 gas */ 2:\n                    message.gas = reader.uint32();\n                    break;\n                case /* bytes sessionId */ 3:\n                    message.sessionId = reader.bytes();\n                    break;\n                case /* uint64 endOfEpoch */ 4:\n                    message.endOfEpoch = reader.uint64().toBigInt();\n                    break;\n                case /* uint32 bucketId */ 5:\n                    message.bucketId = reader.uint32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: SessionStatus, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* bytes publicKey = 1; */\n        if (message.publicKey.length)\n            writer.tag(1, WireType.LengthDelimited).bytes(message.publicKey);\n        /* uint32 gas = 2; */\n        if (message.gas !== 0)\n            writer.tag(2, WireType.Varint).uint32(message.gas);\n        /* bytes sessionId = 3; */\n        if (message.sessionId.length)\n            writer.tag(3, WireType.LengthDelimited).bytes(message.sessionId);\n        /* uint64 endOfEpoch = 4; */\n        if (message.endOfEpoch !== 0n)\n            writer.tag(4, WireType.Varint).uint64(message.endOfEpoch);\n        /* uint32 bucketId = 5; */\n        if (message.bucketId !== 0)\n            writer.tag(5, WireType.Varint).uint32(message.bucketId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.SessionStatus\n */\nexport const SessionStatus = new SessionStatus$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass SessionStatusRecord$Type extends MessageType<SessionStatusRecord> {\n    constructor() {\n        super(\"pb.SessionStatusRecord\", [\n            { no: 1, name: \"sessionStatus\", kind: \"message\", T: () => SessionStatus },\n            { no: 2, name: \"publicKey\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 3, name: \"signature\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 4, name: \"timestamp\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }\n        ]);\n    }\n    create(value?: PartialMessage<SessionStatusRecord>): SessionStatusRecord {\n        const message = { publicKey: new Uint8Array(0), signature: new Uint8Array(0), timestamp: 0n };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<SessionStatusRecord>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SessionStatusRecord): SessionStatusRecord {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* pb.SessionStatus sessionStatus */ 1:\n                    message.sessionStatus = SessionStatus.internalBinaryRead(reader, reader.uint32(), options, message.sessionStatus);\n                    break;\n                case /* bytes publicKey */ 2:\n                    message.publicKey = reader.bytes();\n                    break;\n                case /* bytes signature */ 3:\n                    message.signature = reader.bytes();\n                    break;\n                case /* uint64 timestamp */ 4:\n                    message.timestamp = reader.uint64().toBigInt();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: SessionStatusRecord, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* pb.SessionStatus sessionStatus = 1; */\n        if (message.sessionStatus)\n            SessionStatus.internalBinaryWrite(message.sessionStatus, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* bytes publicKey = 2; */\n        if (message.publicKey.length)\n            writer.tag(2, WireType.LengthDelimited).bytes(message.publicKey);\n        /* bytes signature = 3; */\n        if (message.signature.length)\n            writer.tag(3, WireType.LengthDelimited).bytes(message.signature);\n        /* uint64 timestamp = 4; */\n        if (message.timestamp !== 0n)\n            writer.tag(4, WireType.Varint).uint64(message.timestamp);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.SessionStatusRecord\n */\nexport const SessionStatusRecord = new SessionStatusRecord$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"signed_piece.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\nimport { Signature } from \"./signature\";\n/**\n *\n * A piece signed by an account.\n * This can be used to verify the intent of the account holder to upload the piece.\n *\n * @generated from protobuf message pb.SignedPiece\n */\nexport interface SignedPiece {\n    /**\n     * A Piece message serialized in protobuf.\n     *\n     * @generated from protobuf field: bytes piece = 1;\n     */\n    piece: Uint8Array;\n    /**\n     * A signature of the piece by the keypair of the uploader.\n     *\n     * @generated from protobuf field: pb.Signature signature = 2;\n     */\n    signature?: Signature;\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass SignedPiece$Type extends MessageType<SignedPiece> {\n    constructor() {\n        super(\"pb.SignedPiece\", [\n            { no: 1, name: \"piece\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 2, name: \"signature\", kind: \"message\", T: () => Signature }\n        ]);\n    }\n    create(value?: PartialMessage<SignedPiece>): SignedPiece {\n        const message = { piece: new Uint8Array(0) };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<SignedPiece>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SignedPiece): SignedPiece {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* bytes piece */ 1:\n                    message.piece = reader.bytes();\n                    break;\n                case /* pb.Signature signature */ 2:\n                    message.signature = Signature.internalBinaryRead(reader, reader.uint32(), options, message.signature);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: SignedPiece, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* bytes piece = 1; */\n        if (message.piece.length)\n            writer.tag(1, WireType.LengthDelimited).bytes(message.piece);\n        /* pb.Signature signature = 2; */\n        if (message.signature)\n            Signature.internalBinaryWrite(message.signature, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.SignedPiece\n */\nexport const SignedPiece = new SignedPiece$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"search_result.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\nimport { SignedPiece } from \"./signed_piece\";\n/**\n *\n * A search result contains the pieces found from a search.\n *\n * @generated from protobuf message pb.SearchResult\n */\nexport interface SearchResult {\n    /**\n     * The list of pieces found in storage.\n     *\n     * @generated from protobuf field: repeated pb.SearchedPiece searchedPieces = 1;\n     */\n    searchedPieces: SearchedPiece[];\n}\n/**\n *\n * A searched piece found in storage.\n *\n * @generated from protobuf message pb.SearchedPiece\n */\nexport interface SearchedPiece {\n    /**\n     * Found signed piece.\n     *\n     * @generated from protobuf field: pb.SignedPiece signedPiece = 1;\n     */\n    signedPiece?: SignedPiece;\n    /**\n     * CID of the found piece.\n     *\n     * @generated from protobuf field: string cid = 2;\n     */\n    cid: string;\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass SearchResult$Type extends MessageType<SearchResult> {\n    constructor() {\n        super(\"pb.SearchResult\", [\n            { no: 1, name: \"searchedPieces\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => SearchedPiece }\n        ]);\n    }\n    create(value?: PartialMessage<SearchResult>): SearchResult {\n        const message = { searchedPieces: [] };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<SearchResult>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SearchResult): SearchResult {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated pb.SearchedPiece searchedPieces */ 1:\n                    message.searchedPieces.push(SearchedPiece.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: SearchResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated pb.SearchedPiece searchedPieces = 1; */\n        for (let i = 0; i < message.searchedPieces.length; i++)\n            SearchedPiece.internalBinaryWrite(message.searchedPieces[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.SearchResult\n */\nexport const SearchResult = new SearchResult$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass SearchedPiece$Type extends MessageType<SearchedPiece> {\n    constructor() {\n        super(\"pb.SearchedPiece\", [\n            { no: 1, name: \"signedPiece\", kind: \"message\", T: () => SignedPiece },\n            { no: 2, name: \"cid\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<SearchedPiece>): SearchedPiece {\n        const message = { cid: \"\" };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<SearchedPiece>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SearchedPiece): SearchedPiece {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* pb.SignedPiece signedPiece */ 1:\n                    message.signedPiece = SignedPiece.internalBinaryRead(reader, reader.uint32(), options, message.signedPiece);\n                    break;\n                case /* string cid */ 2:\n                    message.cid = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: SearchedPiece, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* pb.SignedPiece signedPiece = 1; */\n        if (message.signedPiece)\n            SignedPiece.internalBinaryWrite(message.signedPiece, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* string cid = 2; */\n        if (message.cid !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.cid);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.SearchedPiece\n */\nexport const SearchedPiece = new SearchedPiece$Type();\n","// @generated by protobuf-ts 2.9.0\n// @generated from protobuf file \"ack.proto\" (package \"pb\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MESSAGE_TYPE } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n *\n * Acknowledgment data\n *\n * @generated from protobuf message pb.Ack\n */\nexport interface Ack {\n    /**\n     * user timestamp of request in UNIX milliseconds.\n     *\n     * @generated from protobuf field: uint64 timestamp = 1;\n     */\n    timestamp: bigint;\n    /**\n     * node public key where gas was used\n     *\n     * @generated from protobuf field: bytes publicKey = 2;\n     */\n    publicKey: Uint8Array;\n    /**\n     * confirmed used gas\n     *\n     * @generated from protobuf field: uint64 gas = 3;\n     */\n    gas: bigint;\n    /**\n     * nonce for avoiding ack duplicates\n     *\n     * @generated from protobuf field: bytes nonce = 4;\n     */\n    nonce: Uint8Array;\n    /**\n     * request id for log record\n     *\n     * @generated from protobuf field: string requestId = 5;\n     */\n    requestId: string;\n    /**\n     * The CID of the piece.\n     *\n     * @generated from protobuf field: string cid = 6;\n     */\n    cid: string;\n    /**\n     * session id\n     *\n     * @generated from protobuf field: bytes sessionId = 7;\n     */\n    sessionId: Uint8Array;\n    /**\n     * signature of acknowledgment data\n     * sign(CID(requestId) + timestamp + gas + nonce + sessionID)\n     *\n     * @generated from protobuf field: bytes signature = 8;\n     */\n    signature: Uint8Array;\n    /**\n     * The name of the signature scheme (sr25519, ed25519).\n     * Default and recommended value: \"\" or \"sr25519\".\n     *\n     * @generated from protobuf field: string scheme = 9;\n     */\n    scheme: string;\n    /**\n     * The ID of the hashing algorithm as per multiformats/multihash.\n     * Default and recommended value: 0 or 0xb220, meaning blake2b-256.\n     *\n     * @generated from protobuf field: uint64 multiHashType = 10;\n     */\n    multiHashType: bigint;\n    /**\n     * list of chunk cIds, requested by client\n     *\n     * @generated from protobuf field: repeated string chunks = 11;\n     */\n    chunks: string[];\n}\n/**\n * @generated from protobuf message pb.AckRecord\n */\nexport interface AckRecord {\n    /**\n     * acknowledgment data\n     *\n     * @generated from protobuf field: pb.Ack ack = 1;\n     */\n    ack?: Ack;\n    /**\n     * user public key\n     *\n     * @generated from protobuf field: bytes publicKey = 2;\n     */\n    publicKey: Uint8Array;\n    /**\n     * timestamp when record was saved in UNIX nanoseconds\n     *\n     * @generated from protobuf field: uint64 timestamp = 3 [jstype = JS_STRING];\n     */\n    timestamp: string;\n}\n/**\n *\n * A ack records list\n *\n * @generated from protobuf message pb.AckRecordList\n */\nexport interface AckRecordList {\n    /**\n     * @generated from protobuf field: repeated pb.AckRecord ackRecords = 1;\n     */\n    ackRecords: AckRecord[];\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Ack$Type extends MessageType<Ack> {\n    constructor() {\n        super(\"pb.Ack\", [\n            { no: 1, name: \"timestamp\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 2, name: \"publicKey\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 3, name: \"gas\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 4, name: \"nonce\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 5, name: \"requestId\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 6, name: \"cid\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 7, name: \"sessionId\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 8, name: \"signature\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 9, name: \"scheme\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 10, name: \"multiHashType\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 11, name: \"chunks\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<Ack>): Ack {\n        const message = { timestamp: 0n, publicKey: new Uint8Array(0), gas: 0n, nonce: new Uint8Array(0), requestId: \"\", cid: \"\", sessionId: new Uint8Array(0), signature: new Uint8Array(0), scheme: \"\", multiHashType: 0n, chunks: [] };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<Ack>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Ack): Ack {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* uint64 timestamp */ 1:\n                    message.timestamp = reader.uint64().toBigInt();\n                    break;\n                case /* bytes publicKey */ 2:\n                    message.publicKey = reader.bytes();\n                    break;\n                case /* uint64 gas */ 3:\n                    message.gas = reader.uint64().toBigInt();\n                    break;\n                case /* bytes nonce */ 4:\n                    message.nonce = reader.bytes();\n                    break;\n                case /* string requestId */ 5:\n                    message.requestId = reader.string();\n                    break;\n                case /* string cid */ 6:\n                    message.cid = reader.string();\n                    break;\n                case /* bytes sessionId */ 7:\n                    message.sessionId = reader.bytes();\n                    break;\n                case /* bytes signature */ 8:\n                    message.signature = reader.bytes();\n                    break;\n                case /* string scheme */ 9:\n                    message.scheme = reader.string();\n                    break;\n                case /* uint64 multiHashType */ 10:\n                    message.multiHashType = reader.uint64().toBigInt();\n                    break;\n                case /* repeated string chunks */ 11:\n                    message.chunks.push(reader.string());\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Ack, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* uint64 timestamp = 1; */\n        if (message.timestamp !== 0n)\n            writer.tag(1, WireType.Varint).uint64(message.timestamp);\n        /* bytes publicKey = 2; */\n        if (message.publicKey.length)\n            writer.tag(2, WireType.LengthDelimited).bytes(message.publicKey);\n        /* uint64 gas = 3; */\n        if (message.gas !== 0n)\n            writer.tag(3, WireType.Varint).uint64(message.gas);\n        /* bytes nonce = 4; */\n        if (message.nonce.length)\n            writer.tag(4, WireType.LengthDelimited).bytes(message.nonce);\n        /* string requestId = 5; */\n        if (message.requestId !== \"\")\n            writer.tag(5, WireType.LengthDelimited).string(message.requestId);\n        /* string cid = 6; */\n        if (message.cid !== \"\")\n            writer.tag(6, WireType.LengthDelimited).string(message.cid);\n        /* bytes sessionId = 7; */\n        if (message.sessionId.length)\n            writer.tag(7, WireType.LengthDelimited).bytes(message.sessionId);\n        /* bytes signature = 8; */\n        if (message.signature.length)\n            writer.tag(8, WireType.LengthDelimited).bytes(message.signature);\n        /* string scheme = 9; */\n        if (message.scheme !== \"\")\n            writer.tag(9, WireType.LengthDelimited).string(message.scheme);\n        /* uint64 multiHashType = 10; */\n        if (message.multiHashType !== 0n)\n            writer.tag(10, WireType.Varint).uint64(message.multiHashType);\n        /* repeated string chunks = 11; */\n        for (let i = 0; i < message.chunks.length; i++)\n            writer.tag(11, WireType.LengthDelimited).string(message.chunks[i]);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.Ack\n */\nexport const Ack = new Ack$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass AckRecord$Type extends MessageType<AckRecord> {\n    constructor() {\n        super(\"pb.AckRecord\", [\n            { no: 1, name: \"ack\", kind: \"message\", T: () => Ack },\n            { no: 2, name: \"publicKey\", kind: \"scalar\", T: 12 /*ScalarType.BYTES*/ },\n            { no: 3, name: \"timestamp\", kind: \"scalar\", T: 4 /*ScalarType.UINT64*/ }\n        ]);\n    }\n    create(value?: PartialMessage<AckRecord>): AckRecord {\n        const message = { publicKey: new Uint8Array(0), timestamp: \"0\" };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<AckRecord>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AckRecord): AckRecord {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* pb.Ack ack */ 1:\n                    message.ack = Ack.internalBinaryRead(reader, reader.uint32(), options, message.ack);\n                    break;\n                case /* bytes publicKey */ 2:\n                    message.publicKey = reader.bytes();\n                    break;\n                case /* uint64 timestamp = 3 [jstype = JS_STRING];*/ 3:\n                    message.timestamp = reader.uint64().toString();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: AckRecord, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* pb.Ack ack = 1; */\n        if (message.ack)\n            Ack.internalBinaryWrite(message.ack, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* bytes publicKey = 2; */\n        if (message.publicKey.length)\n            writer.tag(2, WireType.LengthDelimited).bytes(message.publicKey);\n        /* uint64 timestamp = 3 [jstype = JS_STRING]; */\n        if (message.timestamp !== \"0\")\n            writer.tag(3, WireType.Varint).uint64(message.timestamp);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.AckRecord\n */\nexport const AckRecord = new AckRecord$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass AckRecordList$Type extends MessageType<AckRecordList> {\n    constructor() {\n        super(\"pb.AckRecordList\", [\n            { no: 1, name: \"ackRecords\", kind: \"message\", repeat: 1 /*RepeatType.PACKED*/, T: () => AckRecord }\n        ]);\n    }\n    create(value?: PartialMessage<AckRecordList>): AckRecordList {\n        const message = { ackRecords: [] };\n        globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });\n        if (value !== undefined)\n            reflectionMergePartial<AckRecordList>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AckRecordList): AckRecordList {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated pb.AckRecord ackRecords */ 1:\n                    message.ackRecords.push(AckRecord.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: AckRecordList, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated pb.AckRecord ackRecords = 1; */\n        for (let i = 0; i < message.ackRecords.length; i++)\n            AckRecord.internalBinaryWrite(message.ackRecords[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message pb.AckRecordList\n */\nexport const AckRecordList = new AckRecordList$Type();\n","export {Link} from \"./link\";\nexport * from \"./log_record\";\nexport {Piece} from \"./piece\";\nexport * from \"./query\";\nexport * from \"./request\";\nexport * from \"./response\";\nexport * from \"./session_status\";\nexport * from \"./search_result\";\nexport * from \"./signature\";\nexport * from \"./signed_piece\";\nexport * from \"./tag\";\nexport * from \"./ack\";\n"],"names":["WireType","UnknownFieldHandler","reflectionMergePartial","MESSAGE_TYPE","MessageType","Link$Type","constructor","no","name","kind","T","L","create","value","message","cid","size","globalThis","Object","defineProperty","enumerable","undefined","internalBinaryRead","reader","length","options","target","end","pos","fieldNo","wireType","tag","string","uint64","toBigInt","u","readUnknownField","Error","typeName","d","skip","onRead","internalBinaryWrite","writer","LengthDelimited","Varint","writeUnknownFields","onWrite","Link","SearchType","Tag$Type","key","Uint8Array","searchable","bytes","int32","Tag","Query$Type","repeat","bucketId","tags","skipData","uint32","push","bool","i","fork","join","Query","Signature$Type","signer","scheme","multiHashType","timestamp","Signature","LogRecord$Type","oneof","WriteRequest","ReadRequest","QueryRequest","ResponsePiece","request","oneofKind","address","gas","publicKey","sessionId","requestId","responsePieces","writeRequest","readRequest","queryRequest","toString","LogRecord","LogRecordList$Type","logRecords","LogRecordList","WriteRequest$Type","signature","ReadRequest$Type","QueryRequest$Type","query","ResponsePiece$Type","Piece$Type","data","links","Piece","Request$Type","body","Request","Code","Response$Type","responseCode","Response","SessionStatus$Type","endOfEpoch","SessionStatus","SessionStatusRecord$Type","sessionStatus","SessionStatusRecord","SignedPiece$Type","piece","SignedPiece","SearchResult$Type","SearchedPiece","searchedPieces","SearchResult","SearchedPiece$Type","signedPiece","Ack$Type","nonce","chunks","Ack","AckRecord$Type","ack","AckRecord","AckRecordList$Type","ackRecords","AckRecordList"],"sourceRoot":""}