{"version":3,"file":"browser.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"],"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"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","require","Link$Type","MessageType","constructor","super","no","name","kind","T","L","create","message","cid","size","globalThis","MESSAGE_TYPE","this","undefined","reflectionMergePartial","internalBinaryRead","reader","length","options","target","end","pos","fieldNo","wireType","tag","string","uint64","toBigInt","u","readUnknownField","Error","typeName","d","skip","UnknownFieldHandler","onRead","internalBinaryWrite","writer","WireType","LengthDelimited","Varint","writeUnknownFields","onWrite","Link","SearchType","Tag$Type","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":""}