@apibara/beaconchain 2.1.0-beta.4 → 2.1.0-beta.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/proto/common.ts","../src/proto/google/protobuf/timestamp.ts","../src/proto/data.ts","../src/proto/filter.ts","../src/common.ts","../src/block.ts","../src/filter.ts","../src/index.ts"],"sourcesContent":["// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v1.176.0\n// protoc unknown\n// source: common.proto\n\n/* eslint-disable */\nimport Long from \"long\";\nimport _m0 from \"protobufjs/minimal.js\";\n\nexport const protobufPackage = \"beaconchain.v2\";\n\n/** Validator status */\nexport enum ValidatorStatus {\n UNKNOWN = 0,\n PENDING_INITIALIZED = 1,\n PENDING_QUEUED = 2,\n ACTIVE_ONGOING = 3,\n ACTIVE_EXITING = 4,\n ACTIVE_SLASHED = 5,\n EXITED_UNSLASHED = 6,\n EXITED_SLASHED = 7,\n WITHDRAWAL_POSSIBLE = 8,\n WITHDRAWAL_DONE = 9,\n UNRECOGNIZED = -1,\n}\n\nexport function validatorStatusFromJSON(object: any): ValidatorStatus {\n switch (object) {\n case 0:\n case \"VALIDATOR_STATUS_UNKNOWN\":\n return ValidatorStatus.UNKNOWN;\n case 1:\n case \"VALIDATOR_STATUS_PENDING_INITIALIZED\":\n return ValidatorStatus.PENDING_INITIALIZED;\n case 2:\n case \"VALIDATOR_STATUS_PENDING_QUEUED\":\n return ValidatorStatus.PENDING_QUEUED;\n case 3:\n case \"VALIDATOR_STATUS_ACTIVE_ONGOING\":\n return ValidatorStatus.ACTIVE_ONGOING;\n case 4:\n case \"VALIDATOR_STATUS_ACTIVE_EXITING\":\n return ValidatorStatus.ACTIVE_EXITING;\n case 5:\n case \"VALIDATOR_STATUS_ACTIVE_SLASHED\":\n return ValidatorStatus.ACTIVE_SLASHED;\n case 6:\n case \"VALIDATOR_STATUS_EXITED_UNSLASHED\":\n return ValidatorStatus.EXITED_UNSLASHED;\n case 7:\n case \"VALIDATOR_STATUS_EXITED_SLASHED\":\n return ValidatorStatus.EXITED_SLASHED;\n case 8:\n case \"VALIDATOR_STATUS_WITHDRAWAL_POSSIBLE\":\n return ValidatorStatus.WITHDRAWAL_POSSIBLE;\n case 9:\n case \"VALIDATOR_STATUS_WITHDRAWAL_DONE\":\n return ValidatorStatus.WITHDRAWAL_DONE;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return ValidatorStatus.UNRECOGNIZED;\n }\n}\n\nexport function validatorStatusToJSON(object: ValidatorStatus): string {\n switch (object) {\n case ValidatorStatus.UNKNOWN:\n return \"VALIDATOR_STATUS_UNKNOWN\";\n case ValidatorStatus.PENDING_INITIALIZED:\n return \"VALIDATOR_STATUS_PENDING_INITIALIZED\";\n case ValidatorStatus.PENDING_QUEUED:\n return \"VALIDATOR_STATUS_PENDING_QUEUED\";\n case ValidatorStatus.ACTIVE_ONGOING:\n return \"VALIDATOR_STATUS_ACTIVE_ONGOING\";\n case ValidatorStatus.ACTIVE_EXITING:\n return \"VALIDATOR_STATUS_ACTIVE_EXITING\";\n case ValidatorStatus.ACTIVE_SLASHED:\n return \"VALIDATOR_STATUS_ACTIVE_SLASHED\";\n case ValidatorStatus.EXITED_UNSLASHED:\n return \"VALIDATOR_STATUS_EXITED_UNSLASHED\";\n case ValidatorStatus.EXITED_SLASHED:\n return \"VALIDATOR_STATUS_EXITED_SLASHED\";\n case ValidatorStatus.WITHDRAWAL_POSSIBLE:\n return \"VALIDATOR_STATUS_WITHDRAWAL_POSSIBLE\";\n case ValidatorStatus.WITHDRAWAL_DONE:\n return \"VALIDATOR_STATUS_WITHDRAWAL_DONE\";\n case ValidatorStatus.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\n/**\n * An address of 160 bits.\n *\n * As a separate type so that the API is clearer.\n */\nexport interface Address {\n readonly x0?: bigint | undefined;\n readonly x1?: bigint | undefined;\n readonly x2?: number | undefined;\n}\n\n/** Unsigned integer of 256 bits. */\nexport interface U256 {\n readonly x0?: bigint | undefined;\n readonly x1?: bigint | undefined;\n readonly x2?: bigint | undefined;\n readonly x3?: bigint | undefined;\n}\n\n/** Byte array of 256 bits. */\nexport interface B256 {\n readonly x0?: bigint | undefined;\n readonly x1?: bigint | undefined;\n readonly x2?: bigint | undefined;\n readonly x3?: bigint | undefined;\n}\n\n/** Byte array of 384 bits. */\nexport interface B384 {\n readonly x0?: bigint | undefined;\n readonly x1?: bigint | undefined;\n readonly x2?: bigint | undefined;\n readonly x3?: bigint | undefined;\n readonly x4?: bigint | undefined;\n readonly x5?: bigint | undefined;\n}\n\n/** Unsigned integer of 128 bits. */\nexport interface U128 {\n readonly x0?: bigint | undefined;\n readonly x1?: bigint | undefined;\n}\n\nfunction createBaseAddress(): Address {\n return { x0: BigInt(\"0\"), x1: BigInt(\"0\"), x2: 0 };\n}\n\nexport const Address = {\n encode(message: Address, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x0) !== message.x0) {\n throw new globalThis.Error(\"value provided for field message.x0 of type fixed64 too large\");\n }\n writer.uint32(9).fixed64(message.x0.toString());\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x1) !== message.x1) {\n throw new globalThis.Error(\"value provided for field message.x1 of type fixed64 too large\");\n }\n writer.uint32(17).fixed64(message.x1.toString());\n }\n if (message.x2 !== undefined && message.x2 !== 0) {\n writer.uint32(29).fixed32(message.x2);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Address {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAddress() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 9) {\n break;\n }\n\n message.x0 = longToBigint(reader.fixed64() as Long);\n continue;\n case 2:\n if (tag !== 17) {\n break;\n }\n\n message.x1 = longToBigint(reader.fixed64() as Long);\n continue;\n case 3:\n if (tag !== 29) {\n break;\n }\n\n message.x2 = reader.fixed32();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Address {\n return {\n x0: isSet(object.x0) ? BigInt(object.x0) : BigInt(\"0\"),\n x1: isSet(object.x1) ? BigInt(object.x1) : BigInt(\"0\"),\n x2: isSet(object.x2) ? globalThis.Number(object.x2) : 0,\n };\n },\n\n toJSON(message: Address): unknown {\n const obj: any = {};\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n obj.x0 = message.x0.toString();\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n obj.x1 = message.x1.toString();\n }\n if (message.x2 !== undefined && message.x2 !== 0) {\n obj.x2 = Math.round(message.x2);\n }\n return obj;\n },\n\n create(base?: DeepPartial<Address>): Address {\n return Address.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Address>): Address {\n const message = createBaseAddress() as any;\n message.x0 = object.x0 ?? BigInt(\"0\");\n message.x1 = object.x1 ?? BigInt(\"0\");\n message.x2 = object.x2 ?? 0;\n return message;\n },\n};\n\nfunction createBaseU256(): U256 {\n return { x0: BigInt(\"0\"), x1: BigInt(\"0\"), x2: BigInt(\"0\"), x3: BigInt(\"0\") };\n}\n\nexport const U256 = {\n encode(message: U256, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x0) !== message.x0) {\n throw new globalThis.Error(\"value provided for field message.x0 of type fixed64 too large\");\n }\n writer.uint32(9).fixed64(message.x0.toString());\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x1) !== message.x1) {\n throw new globalThis.Error(\"value provided for field message.x1 of type fixed64 too large\");\n }\n writer.uint32(17).fixed64(message.x1.toString());\n }\n if (message.x2 !== undefined && message.x2 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x2) !== message.x2) {\n throw new globalThis.Error(\"value provided for field message.x2 of type fixed64 too large\");\n }\n writer.uint32(25).fixed64(message.x2.toString());\n }\n if (message.x3 !== undefined && message.x3 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x3) !== message.x3) {\n throw new globalThis.Error(\"value provided for field message.x3 of type fixed64 too large\");\n }\n writer.uint32(33).fixed64(message.x3.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): U256 {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseU256() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 9) {\n break;\n }\n\n message.x0 = longToBigint(reader.fixed64() as Long);\n continue;\n case 2:\n if (tag !== 17) {\n break;\n }\n\n message.x1 = longToBigint(reader.fixed64() as Long);\n continue;\n case 3:\n if (tag !== 25) {\n break;\n }\n\n message.x2 = longToBigint(reader.fixed64() as Long);\n continue;\n case 4:\n if (tag !== 33) {\n break;\n }\n\n message.x3 = longToBigint(reader.fixed64() as Long);\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): U256 {\n return {\n x0: isSet(object.x0) ? BigInt(object.x0) : BigInt(\"0\"),\n x1: isSet(object.x1) ? BigInt(object.x1) : BigInt(\"0\"),\n x2: isSet(object.x2) ? BigInt(object.x2) : BigInt(\"0\"),\n x3: isSet(object.x3) ? BigInt(object.x3) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: U256): unknown {\n const obj: any = {};\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n obj.x0 = message.x0.toString();\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n obj.x1 = message.x1.toString();\n }\n if (message.x2 !== undefined && message.x2 !== BigInt(\"0\")) {\n obj.x2 = message.x2.toString();\n }\n if (message.x3 !== undefined && message.x3 !== BigInt(\"0\")) {\n obj.x3 = message.x3.toString();\n }\n return obj;\n },\n\n create(base?: DeepPartial<U256>): U256 {\n return U256.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<U256>): U256 {\n const message = createBaseU256() as any;\n message.x0 = object.x0 ?? BigInt(\"0\");\n message.x1 = object.x1 ?? BigInt(\"0\");\n message.x2 = object.x2 ?? BigInt(\"0\");\n message.x3 = object.x3 ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseB256(): B256 {\n return { x0: BigInt(\"0\"), x1: BigInt(\"0\"), x2: BigInt(\"0\"), x3: BigInt(\"0\") };\n}\n\nexport const B256 = {\n encode(message: B256, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x0) !== message.x0) {\n throw new globalThis.Error(\"value provided for field message.x0 of type fixed64 too large\");\n }\n writer.uint32(9).fixed64(message.x0.toString());\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x1) !== message.x1) {\n throw new globalThis.Error(\"value provided for field message.x1 of type fixed64 too large\");\n }\n writer.uint32(17).fixed64(message.x1.toString());\n }\n if (message.x2 !== undefined && message.x2 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x2) !== message.x2) {\n throw new globalThis.Error(\"value provided for field message.x2 of type fixed64 too large\");\n }\n writer.uint32(25).fixed64(message.x2.toString());\n }\n if (message.x3 !== undefined && message.x3 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x3) !== message.x3) {\n throw new globalThis.Error(\"value provided for field message.x3 of type fixed64 too large\");\n }\n writer.uint32(33).fixed64(message.x3.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): B256 {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseB256() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 9) {\n break;\n }\n\n message.x0 = longToBigint(reader.fixed64() as Long);\n continue;\n case 2:\n if (tag !== 17) {\n break;\n }\n\n message.x1 = longToBigint(reader.fixed64() as Long);\n continue;\n case 3:\n if (tag !== 25) {\n break;\n }\n\n message.x2 = longToBigint(reader.fixed64() as Long);\n continue;\n case 4:\n if (tag !== 33) {\n break;\n }\n\n message.x3 = longToBigint(reader.fixed64() as Long);\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): B256 {\n return {\n x0: isSet(object.x0) ? BigInt(object.x0) : BigInt(\"0\"),\n x1: isSet(object.x1) ? BigInt(object.x1) : BigInt(\"0\"),\n x2: isSet(object.x2) ? BigInt(object.x2) : BigInt(\"0\"),\n x3: isSet(object.x3) ? BigInt(object.x3) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: B256): unknown {\n const obj: any = {};\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n obj.x0 = message.x0.toString();\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n obj.x1 = message.x1.toString();\n }\n if (message.x2 !== undefined && message.x2 !== BigInt(\"0\")) {\n obj.x2 = message.x2.toString();\n }\n if (message.x3 !== undefined && message.x3 !== BigInt(\"0\")) {\n obj.x3 = message.x3.toString();\n }\n return obj;\n },\n\n create(base?: DeepPartial<B256>): B256 {\n return B256.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<B256>): B256 {\n const message = createBaseB256() as any;\n message.x0 = object.x0 ?? BigInt(\"0\");\n message.x1 = object.x1 ?? BigInt(\"0\");\n message.x2 = object.x2 ?? BigInt(\"0\");\n message.x3 = object.x3 ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseB384(): B384 {\n return { x0: BigInt(\"0\"), x1: BigInt(\"0\"), x2: BigInt(\"0\"), x3: BigInt(\"0\"), x4: BigInt(\"0\"), x5: BigInt(\"0\") };\n}\n\nexport const B384 = {\n encode(message: B384, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x0) !== message.x0) {\n throw new globalThis.Error(\"value provided for field message.x0 of type fixed64 too large\");\n }\n writer.uint32(9).fixed64(message.x0.toString());\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x1) !== message.x1) {\n throw new globalThis.Error(\"value provided for field message.x1 of type fixed64 too large\");\n }\n writer.uint32(17).fixed64(message.x1.toString());\n }\n if (message.x2 !== undefined && message.x2 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x2) !== message.x2) {\n throw new globalThis.Error(\"value provided for field message.x2 of type fixed64 too large\");\n }\n writer.uint32(25).fixed64(message.x2.toString());\n }\n if (message.x3 !== undefined && message.x3 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x3) !== message.x3) {\n throw new globalThis.Error(\"value provided for field message.x3 of type fixed64 too large\");\n }\n writer.uint32(33).fixed64(message.x3.toString());\n }\n if (message.x4 !== undefined && message.x4 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x4) !== message.x4) {\n throw new globalThis.Error(\"value provided for field message.x4 of type fixed64 too large\");\n }\n writer.uint32(41).fixed64(message.x4.toString());\n }\n if (message.x5 !== undefined && message.x5 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x5) !== message.x5) {\n throw new globalThis.Error(\"value provided for field message.x5 of type fixed64 too large\");\n }\n writer.uint32(49).fixed64(message.x5.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): B384 {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseB384() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 9) {\n break;\n }\n\n message.x0 = longToBigint(reader.fixed64() as Long);\n continue;\n case 2:\n if (tag !== 17) {\n break;\n }\n\n message.x1 = longToBigint(reader.fixed64() as Long);\n continue;\n case 3:\n if (tag !== 25) {\n break;\n }\n\n message.x2 = longToBigint(reader.fixed64() as Long);\n continue;\n case 4:\n if (tag !== 33) {\n break;\n }\n\n message.x3 = longToBigint(reader.fixed64() as Long);\n continue;\n case 5:\n if (tag !== 41) {\n break;\n }\n\n message.x4 = longToBigint(reader.fixed64() as Long);\n continue;\n case 6:\n if (tag !== 49) {\n break;\n }\n\n message.x5 = longToBigint(reader.fixed64() as Long);\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): B384 {\n return {\n x0: isSet(object.x0) ? BigInt(object.x0) : BigInt(\"0\"),\n x1: isSet(object.x1) ? BigInt(object.x1) : BigInt(\"0\"),\n x2: isSet(object.x2) ? BigInt(object.x2) : BigInt(\"0\"),\n x3: isSet(object.x3) ? BigInt(object.x3) : BigInt(\"0\"),\n x4: isSet(object.x4) ? BigInt(object.x4) : BigInt(\"0\"),\n x5: isSet(object.x5) ? BigInt(object.x5) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: B384): unknown {\n const obj: any = {};\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n obj.x0 = message.x0.toString();\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n obj.x1 = message.x1.toString();\n }\n if (message.x2 !== undefined && message.x2 !== BigInt(\"0\")) {\n obj.x2 = message.x2.toString();\n }\n if (message.x3 !== undefined && message.x3 !== BigInt(\"0\")) {\n obj.x3 = message.x3.toString();\n }\n if (message.x4 !== undefined && message.x4 !== BigInt(\"0\")) {\n obj.x4 = message.x4.toString();\n }\n if (message.x5 !== undefined && message.x5 !== BigInt(\"0\")) {\n obj.x5 = message.x5.toString();\n }\n return obj;\n },\n\n create(base?: DeepPartial<B384>): B384 {\n return B384.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<B384>): B384 {\n const message = createBaseB384() as any;\n message.x0 = object.x0 ?? BigInt(\"0\");\n message.x1 = object.x1 ?? BigInt(\"0\");\n message.x2 = object.x2 ?? BigInt(\"0\");\n message.x3 = object.x3 ?? BigInt(\"0\");\n message.x4 = object.x4 ?? BigInt(\"0\");\n message.x5 = object.x5 ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseU128(): U128 {\n return { x0: BigInt(\"0\"), x1: BigInt(\"0\") };\n}\n\nexport const U128 = {\n encode(message: U128, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x0) !== message.x0) {\n throw new globalThis.Error(\"value provided for field message.x0 of type fixed64 too large\");\n }\n writer.uint32(9).fixed64(message.x0.toString());\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.x1) !== message.x1) {\n throw new globalThis.Error(\"value provided for field message.x1 of type fixed64 too large\");\n }\n writer.uint32(17).fixed64(message.x1.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): U128 {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseU128() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 9) {\n break;\n }\n\n message.x0 = longToBigint(reader.fixed64() as Long);\n continue;\n case 2:\n if (tag !== 17) {\n break;\n }\n\n message.x1 = longToBigint(reader.fixed64() as Long);\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): U128 {\n return {\n x0: isSet(object.x0) ? BigInt(object.x0) : BigInt(\"0\"),\n x1: isSet(object.x1) ? BigInt(object.x1) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: U128): unknown {\n const obj: any = {};\n if (message.x0 !== undefined && message.x0 !== BigInt(\"0\")) {\n obj.x0 = message.x0.toString();\n }\n if (message.x1 !== undefined && message.x1 !== BigInt(\"0\")) {\n obj.x1 = message.x1.toString();\n }\n return obj;\n },\n\n create(base?: DeepPartial<U128>): U128 {\n return U128.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<U128>): U128 {\n const message = createBaseU128() as any;\n message.x0 = object.x0 ?? BigInt(\"0\");\n message.x1 = object.x1 ?? BigInt(\"0\");\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\nexport type DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends { readonly $case: string }\n ? { [K in keyof Omit<T, \"$case\">]?: DeepPartial<T[K]> } & { readonly $case: T[\"$case\"] }\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction longToBigint(long: Long) {\n return BigInt(long.toString());\n}\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v1.176.0\n// protoc unknown\n// source: google/protobuf/timestamp.proto\n\n/* eslint-disable */\nimport Long from \"long\";\nimport _m0 from \"protobufjs/minimal.js\";\n\nexport const protobufPackage = \"google.protobuf\";\n\n/**\n * A Timestamp represents a point in time independent of any time zone or local\n * calendar, encoded as a count of seconds and fractions of seconds at\n * nanosecond resolution. The count is relative to an epoch at UTC midnight on\n * January 1, 1970, in the proleptic Gregorian calendar which extends the\n * Gregorian calendar backwards to year one.\n *\n * All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n * second table is needed for interpretation, using a [24-hour linear\n * smear](https://developers.google.com/time/smear).\n *\n * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n * restricting to that range, we ensure that we can convert to and from [RFC\n * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n *\n * # Examples\n *\n * Example 1: Compute Timestamp from POSIX `time()`.\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(time(NULL));\n * timestamp.set_nanos(0);\n *\n * Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n *\n * struct timeval tv;\n * gettimeofday(&tv, NULL);\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(tv.tv_sec);\n * timestamp.set_nanos(tv.tv_usec * 1000);\n *\n * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n *\n * FILETIME ft;\n * GetSystemTimeAsFileTime(&ft);\n * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n *\n * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n * Timestamp timestamp;\n * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n *\n * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n *\n * long millis = System.currentTimeMillis();\n *\n * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n * .setNanos((int) ((millis % 1000) * 1000000)).build();\n *\n * Example 5: Compute Timestamp from Java `Instant.now()`.\n *\n * Instant now = Instant.now();\n *\n * Timestamp timestamp =\n * Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n * .setNanos(now.getNano()).build();\n *\n * Example 6: Compute Timestamp from current time in Python.\n *\n * timestamp = Timestamp()\n * timestamp.GetCurrentTime()\n *\n * # JSON Mapping\n *\n * In JSON format, the Timestamp type is encoded as a string in the\n * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n * format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n * where {year} is always expressed using four digits while {month}, {day},\n * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n * are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n * is required. A proto3 JSON serializer should always use UTC (as indicated by\n * \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n * able to accept both UTC and other timezones (as indicated by an offset).\n *\n * For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n * 01:30 UTC on January 15, 2017.\n *\n * In JavaScript, one can convert a Date object to this format using the\n * standard\n * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n * method. In Python, a standard `datetime.datetime` object can be converted\n * to this format using\n * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n * the Joda Time's [`ISODateTimeFormat.dateTime()`](\n * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n * ) to obtain a formatter capable of generating timestamps in this format.\n */\nexport interface Timestamp {\n /**\n * Represents seconds of UTC time since Unix epoch\n * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n * 9999-12-31T23:59:59Z inclusive.\n */\n readonly seconds?:\n | bigint\n | undefined;\n /**\n * Non-negative fractions of a second at nanosecond resolution. Negative\n * second values with fractions must still have non-negative nanos values\n * that count forward in time. Must be from 0 to 999,999,999\n * inclusive.\n */\n readonly nanos?: number | undefined;\n}\n\nfunction createBaseTimestamp(): Timestamp {\n return { seconds: BigInt(\"0\"), nanos: 0 };\n}\n\nexport const Timestamp = {\n encode(message: Timestamp, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.seconds !== undefined && message.seconds !== BigInt(\"0\")) {\n if (BigInt.asIntN(64, message.seconds) !== message.seconds) {\n throw new globalThis.Error(\"value provided for field message.seconds of type int64 too large\");\n }\n writer.uint32(8).int64(message.seconds.toString());\n }\n if (message.nanos !== undefined && message.nanos !== 0) {\n writer.uint32(16).int32(message.nanos);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Timestamp {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTimestamp() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 8) {\n break;\n }\n\n message.seconds = longToBigint(reader.int64() as Long);\n continue;\n case 2:\n if (tag !== 16) {\n break;\n }\n\n message.nanos = reader.int32();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Timestamp {\n return {\n seconds: isSet(object.seconds) ? BigInt(object.seconds) : BigInt(\"0\"),\n nanos: isSet(object.nanos) ? globalThis.Number(object.nanos) : 0,\n };\n },\n\n toJSON(message: Timestamp): unknown {\n const obj: any = {};\n if (message.seconds !== undefined && message.seconds !== BigInt(\"0\")) {\n obj.seconds = message.seconds.toString();\n }\n if (message.nanos !== undefined && message.nanos !== 0) {\n obj.nanos = Math.round(message.nanos);\n }\n return obj;\n },\n\n create(base?: DeepPartial<Timestamp>): Timestamp {\n return Timestamp.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Timestamp>): Timestamp {\n const message = createBaseTimestamp() as any;\n message.seconds = object.seconds ?? BigInt(\"0\");\n message.nanos = object.nanos ?? 0;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\nexport type DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends { readonly $case: string }\n ? { [K in keyof Omit<T, \"$case\">]?: DeepPartial<T[K]> } & { readonly $case: T[\"$case\"] }\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction longToBigint(long: Long) {\n return BigInt(long.toString());\n}\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v1.176.0\n// protoc unknown\n// source: data.proto\n\n/* eslint-disable */\nimport Long from \"long\";\nimport _m0 from \"protobufjs/minimal.js\";\nimport {\n Address,\n B256,\n B384,\n U128,\n U256,\n ValidatorStatus,\n validatorStatusFromJSON,\n validatorStatusToJSON,\n} from \"./common.js\";\nimport { Timestamp } from \"./google/protobuf/timestamp.js\";\n\nexport const protobufPackage = \"beaconchain.v2\";\n\n/** Beacon Chain DNA definitions (data). */\n\n/** Requested data, grouped by block. */\nexport interface Block {\n /** The header. */\n readonly header?:\n | BlockHeader\n | undefined;\n /** List of transactions. */\n readonly transactions?:\n | readonly Transaction[]\n | undefined;\n /** List of validators. */\n readonly validators?:\n | readonly Validator[]\n | undefined;\n /** List of blobs. */\n readonly blobs?: readonly Blob[] | undefined;\n}\n\nexport interface BlockHeader {\n /** Block slot. */\n readonly slot?:\n | bigint\n | undefined;\n /** Proposer index. */\n readonly proposerIndex?:\n | number\n | undefined;\n /** Parent root. */\n readonly parentRoot?:\n | B256\n | undefined;\n /** State root. */\n readonly stateRoot?:\n | B256\n | undefined;\n /** Randao reveal. */\n readonly randaoReveal?:\n | Uint8Array\n | undefined;\n /** Deposit count. */\n readonly depositCount?:\n | bigint\n | undefined;\n /** Deposit state root. */\n readonly depositRoot?:\n | B256\n | undefined;\n /** Block hash. */\n readonly blockHash?:\n | B256\n | undefined;\n /** Graffiti. */\n readonly graffiti?:\n | B256\n | undefined;\n /** Execution payload. */\n readonly executionPayload?:\n | ExecutionPayload\n | undefined;\n /** Blob kzg commitments. */\n readonly blobKzgCommitments?: readonly B384[] | undefined;\n}\n\nexport interface Transaction {\n readonly filterIds?:\n | readonly number[]\n | undefined;\n /** Transaction hash. */\n readonly transactionHash?:\n | B256\n | undefined;\n /** Nonce. */\n readonly nonce?:\n | bigint\n | undefined;\n /** Transaction index in the block. */\n readonly transactionIndex?:\n | number\n | undefined;\n /** Sender. */\n readonly from?:\n | Address\n | undefined;\n /** Recipient. */\n readonly to?:\n | Address\n | undefined;\n /** Amount of wei transferred. */\n readonly value?:\n | U256\n | undefined;\n /** Gas price. */\n readonly gasPrice?:\n | U128\n | undefined;\n /** Gas amount. */\n readonly gasLimit?:\n | U128\n | undefined;\n /** Max base fee per gas the sender is willing to pay. */\n readonly maxFeePerGas?:\n | U128\n | undefined;\n /** Miner's tip. */\n readonly maxPriorityFeePerGas?:\n | U128\n | undefined;\n /** Data. */\n readonly input?:\n | Uint8Array\n | undefined;\n /** The signature's r,s,v,yParity values. */\n readonly signature?:\n | Signature\n | undefined;\n /** Chain ID. */\n readonly chainId?:\n | bigint\n | undefined;\n /** EIP-2930 access list. */\n readonly accessList?:\n | readonly AccessListItem[]\n | undefined;\n /** EIP-2718 transaction type. */\n readonly transactionType?:\n | bigint\n | undefined;\n /** EIP-4844 max gas fee per blob. */\n readonly maxFeePerBlobGas?:\n | U128\n | undefined;\n /** EIP-4844 blob hashes. */\n readonly blobVersionedHashes?: readonly B256[] | undefined;\n}\n\nexport interface Validator {\n readonly filterIds?: readonly number[] | undefined;\n readonly validatorIndex?: number | undefined;\n readonly balance?: bigint | undefined;\n readonly status?: ValidatorStatus | undefined;\n readonly pubkey?: B384 | undefined;\n readonly withdrawalCredentials?: B256 | undefined;\n readonly effectiveBalance?: bigint | undefined;\n readonly slashed?: boolean | undefined;\n readonly activationEligibilityEpoch?: bigint | undefined;\n readonly activationEpoch?: bigint | undefined;\n readonly exitEpoch?: bigint | undefined;\n readonly withdrawableEpoch?: bigint | undefined;\n}\n\nexport interface Blob {\n readonly filterIds?:\n | readonly number[]\n | undefined;\n /** Blob index in the block. */\n readonly blobIndex?:\n | number\n | undefined;\n /** Blob data. */\n readonly blob?:\n | Uint8Array\n | undefined;\n /** KZG commitment. */\n readonly kzgCommitment?:\n | B384\n | undefined;\n /** KZG proof. */\n readonly kzgProof?:\n | B384\n | undefined;\n /** KZG commitment inclusion proof. */\n readonly kzgCommitmentInclusionProof?:\n | readonly B256[]\n | undefined;\n /** Blob hash. */\n readonly blobHash?:\n | B256\n | undefined;\n /** Index of the transaction that posted the blob. */\n readonly transactionIndex?:\n | number\n | undefined;\n /** Hash of the transaction that posted the blob. */\n readonly transactionHash?: B256 | undefined;\n}\n\nexport interface ExecutionPayload {\n /** Parent block hash. */\n readonly parentHash?:\n | B256\n | undefined;\n /** Address of the fee recipient. */\n readonly feeRecipient?:\n | Address\n | undefined;\n /** State root. */\n readonly stateRoot?:\n | B256\n | undefined;\n /** Receipts root. */\n readonly receiptsRoot?:\n | B256\n | undefined;\n /** Logs bloom. */\n readonly logsBloom?:\n | Uint8Array\n | undefined;\n /** Previous RANDAO. */\n readonly prevRandao?:\n | B256\n | undefined;\n /** Block number. */\n readonly blockNumber?:\n | bigint\n | undefined;\n /** Block timestamp. */\n readonly timestamp?: Date | undefined;\n}\n\nexport interface Signature {\n /** The signature's r value. */\n readonly r?:\n | U256\n | undefined;\n /** The signature's s value. */\n readonly s?: U256 | undefined;\n}\n\nexport interface AccessListItem {\n /** Account address to be loaded at the start of the transaction. */\n readonly address?:\n | Address\n | undefined;\n /** Storage keys to be loaded at the start of the transaction. */\n readonly storageKeys?: readonly B256[] | undefined;\n}\n\nfunction createBaseBlock(): Block {\n return { header: undefined, transactions: [], validators: [], blobs: [] };\n}\n\nexport const Block = {\n encode(message: Block, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.header !== undefined) {\n BlockHeader.encode(message.header, writer.uint32(10).fork()).ldelim();\n }\n if (message.transactions !== undefined && message.transactions.length !== 0) {\n for (const v of message.transactions) {\n Transaction.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n }\n if (message.validators !== undefined && message.validators.length !== 0) {\n for (const v of message.validators) {\n Validator.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n }\n if (message.blobs !== undefined && message.blobs.length !== 0) {\n for (const v of message.blobs) {\n Blob.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Block {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlock() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.header = BlockHeader.decode(reader, reader.uint32());\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.transactions!.push(Transaction.decode(reader, reader.uint32()));\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.validators!.push(Validator.decode(reader, reader.uint32()));\n continue;\n case 4:\n if (tag !== 34) {\n break;\n }\n\n message.blobs!.push(Blob.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Block {\n return {\n header: isSet(object.header) ? BlockHeader.fromJSON(object.header) : undefined,\n transactions: globalThis.Array.isArray(object?.transactions)\n ? object.transactions.map((e: any) => Transaction.fromJSON(e))\n : [],\n validators: globalThis.Array.isArray(object?.validators)\n ? object.validators.map((e: any) => Validator.fromJSON(e))\n : [],\n blobs: globalThis.Array.isArray(object?.blobs) ? object.blobs.map((e: any) => Blob.fromJSON(e)) : [],\n };\n },\n\n toJSON(message: Block): unknown {\n const obj: any = {};\n if (message.header !== undefined) {\n obj.header = BlockHeader.toJSON(message.header);\n }\n if (message.transactions?.length) {\n obj.transactions = message.transactions.map((e) => Transaction.toJSON(e));\n }\n if (message.validators?.length) {\n obj.validators = message.validators.map((e) => Validator.toJSON(e));\n }\n if (message.blobs?.length) {\n obj.blobs = message.blobs.map((e) => Blob.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<Block>): Block {\n return Block.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Block>): Block {\n const message = createBaseBlock() as any;\n message.header = (object.header !== undefined && object.header !== null)\n ? BlockHeader.fromPartial(object.header)\n : undefined;\n message.transactions = object.transactions?.map((e) => Transaction.fromPartial(e)) || [];\n message.validators = object.validators?.map((e) => Validator.fromPartial(e)) || [];\n message.blobs = object.blobs?.map((e) => Blob.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseBlockHeader(): BlockHeader {\n return {\n slot: BigInt(\"0\"),\n proposerIndex: 0,\n parentRoot: undefined,\n stateRoot: undefined,\n randaoReveal: new Uint8Array(0),\n depositCount: BigInt(\"0\"),\n depositRoot: undefined,\n blockHash: undefined,\n graffiti: undefined,\n executionPayload: undefined,\n blobKzgCommitments: [],\n };\n}\n\nexport const BlockHeader = {\n encode(message: BlockHeader, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.slot !== undefined && message.slot !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.slot) !== message.slot) {\n throw new globalThis.Error(\"value provided for field message.slot of type uint64 too large\");\n }\n writer.uint32(8).uint64(message.slot.toString());\n }\n if (message.proposerIndex !== undefined && message.proposerIndex !== 0) {\n writer.uint32(16).uint32(message.proposerIndex);\n }\n if (message.parentRoot !== undefined) {\n B256.encode(message.parentRoot, writer.uint32(26).fork()).ldelim();\n }\n if (message.stateRoot !== undefined) {\n B256.encode(message.stateRoot, writer.uint32(34).fork()).ldelim();\n }\n if (message.randaoReveal !== undefined && message.randaoReveal.length !== 0) {\n writer.uint32(42).bytes(message.randaoReveal);\n }\n if (message.depositCount !== undefined && message.depositCount !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.depositCount) !== message.depositCount) {\n throw new globalThis.Error(\"value provided for field message.depositCount of type uint64 too large\");\n }\n writer.uint32(48).uint64(message.depositCount.toString());\n }\n if (message.depositRoot !== undefined) {\n B256.encode(message.depositRoot, writer.uint32(58).fork()).ldelim();\n }\n if (message.blockHash !== undefined) {\n B256.encode(message.blockHash, writer.uint32(66).fork()).ldelim();\n }\n if (message.graffiti !== undefined) {\n B256.encode(message.graffiti, writer.uint32(74).fork()).ldelim();\n }\n if (message.executionPayload !== undefined) {\n ExecutionPayload.encode(message.executionPayload, writer.uint32(82).fork()).ldelim();\n }\n if (message.blobKzgCommitments !== undefined && message.blobKzgCommitments.length !== 0) {\n for (const v of message.blobKzgCommitments) {\n B384.encode(v!, writer.uint32(90).fork()).ldelim();\n }\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BlockHeader {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlockHeader() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 8) {\n break;\n }\n\n message.slot = longToBigint(reader.uint64() as Long);\n continue;\n case 2:\n if (tag !== 16) {\n break;\n }\n\n message.proposerIndex = reader.uint32();\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.parentRoot = B256.decode(reader, reader.uint32());\n continue;\n case 4:\n if (tag !== 34) {\n break;\n }\n\n message.stateRoot = B256.decode(reader, reader.uint32());\n continue;\n case 5:\n if (tag !== 42) {\n break;\n }\n\n message.randaoReveal = reader.bytes();\n continue;\n case 6:\n if (tag !== 48) {\n break;\n }\n\n message.depositCount = longToBigint(reader.uint64() as Long);\n continue;\n case 7:\n if (tag !== 58) {\n break;\n }\n\n message.depositRoot = B256.decode(reader, reader.uint32());\n continue;\n case 8:\n if (tag !== 66) {\n break;\n }\n\n message.blockHash = B256.decode(reader, reader.uint32());\n continue;\n case 9:\n if (tag !== 74) {\n break;\n }\n\n message.graffiti = B256.decode(reader, reader.uint32());\n continue;\n case 10:\n if (tag !== 82) {\n break;\n }\n\n message.executionPayload = ExecutionPayload.decode(reader, reader.uint32());\n continue;\n case 11:\n if (tag !== 90) {\n break;\n }\n\n message.blobKzgCommitments!.push(B384.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): BlockHeader {\n return {\n slot: isSet(object.slot) ? BigInt(object.slot) : BigInt(\"0\"),\n proposerIndex: isSet(object.proposerIndex) ? globalThis.Number(object.proposerIndex) : 0,\n parentRoot: isSet(object.parentRoot) ? B256.fromJSON(object.parentRoot) : undefined,\n stateRoot: isSet(object.stateRoot) ? B256.fromJSON(object.stateRoot) : undefined,\n randaoReveal: isSet(object.randaoReveal) ? bytesFromBase64(object.randaoReveal) : new Uint8Array(0),\n depositCount: isSet(object.depositCount) ? BigInt(object.depositCount) : BigInt(\"0\"),\n depositRoot: isSet(object.depositRoot) ? B256.fromJSON(object.depositRoot) : undefined,\n blockHash: isSet(object.blockHash) ? B256.fromJSON(object.blockHash) : undefined,\n graffiti: isSet(object.graffiti) ? B256.fromJSON(object.graffiti) : undefined,\n executionPayload: isSet(object.executionPayload) ? ExecutionPayload.fromJSON(object.executionPayload) : undefined,\n blobKzgCommitments: globalThis.Array.isArray(object?.blobKzgCommitments)\n ? object.blobKzgCommitments.map((e: any) => B384.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: BlockHeader): unknown {\n const obj: any = {};\n if (message.slot !== undefined && message.slot !== BigInt(\"0\")) {\n obj.slot = message.slot.toString();\n }\n if (message.proposerIndex !== undefined && message.proposerIndex !== 0) {\n obj.proposerIndex = Math.round(message.proposerIndex);\n }\n if (message.parentRoot !== undefined) {\n obj.parentRoot = B256.toJSON(message.parentRoot);\n }\n if (message.stateRoot !== undefined) {\n obj.stateRoot = B256.toJSON(message.stateRoot);\n }\n if (message.randaoReveal !== undefined && message.randaoReveal.length !== 0) {\n obj.randaoReveal = base64FromBytes(message.randaoReveal);\n }\n if (message.depositCount !== undefined && message.depositCount !== BigInt(\"0\")) {\n obj.depositCount = message.depositCount.toString();\n }\n if (message.depositRoot !== undefined) {\n obj.depositRoot = B256.toJSON(message.depositRoot);\n }\n if (message.blockHash !== undefined) {\n obj.blockHash = B256.toJSON(message.blockHash);\n }\n if (message.graffiti !== undefined) {\n obj.graffiti = B256.toJSON(message.graffiti);\n }\n if (message.executionPayload !== undefined) {\n obj.executionPayload = ExecutionPayload.toJSON(message.executionPayload);\n }\n if (message.blobKzgCommitments?.length) {\n obj.blobKzgCommitments = message.blobKzgCommitments.map((e) => B384.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<BlockHeader>): BlockHeader {\n return BlockHeader.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<BlockHeader>): BlockHeader {\n const message = createBaseBlockHeader() as any;\n message.slot = object.slot ?? BigInt(\"0\");\n message.proposerIndex = object.proposerIndex ?? 0;\n message.parentRoot = (object.parentRoot !== undefined && object.parentRoot !== null)\n ? B256.fromPartial(object.parentRoot)\n : undefined;\n message.stateRoot = (object.stateRoot !== undefined && object.stateRoot !== null)\n ? B256.fromPartial(object.stateRoot)\n : undefined;\n message.randaoReveal = object.randaoReveal ?? new Uint8Array(0);\n message.depositCount = object.depositCount ?? BigInt(\"0\");\n message.depositRoot = (object.depositRoot !== undefined && object.depositRoot !== null)\n ? B256.fromPartial(object.depositRoot)\n : undefined;\n message.blockHash = (object.blockHash !== undefined && object.blockHash !== null)\n ? B256.fromPartial(object.blockHash)\n : undefined;\n message.graffiti = (object.graffiti !== undefined && object.graffiti !== null)\n ? B256.fromPartial(object.graffiti)\n : undefined;\n message.executionPayload = (object.executionPayload !== undefined && object.executionPayload !== null)\n ? ExecutionPayload.fromPartial(object.executionPayload)\n : undefined;\n message.blobKzgCommitments = object.blobKzgCommitments?.map((e) => B384.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseTransaction(): Transaction {\n return {\n filterIds: [],\n transactionHash: undefined,\n nonce: BigInt(\"0\"),\n transactionIndex: 0,\n from: undefined,\n to: undefined,\n value: undefined,\n gasPrice: undefined,\n gasLimit: undefined,\n maxFeePerGas: undefined,\n maxPriorityFeePerGas: undefined,\n input: new Uint8Array(0),\n signature: undefined,\n chainId: undefined,\n accessList: [],\n transactionType: BigInt(\"0\"),\n maxFeePerBlobGas: undefined,\n blobVersionedHashes: [],\n };\n}\n\nexport const Transaction = {\n encode(message: Transaction, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.filterIds !== undefined && message.filterIds.length !== 0) {\n writer.uint32(10).fork();\n for (const v of message.filterIds) {\n writer.uint32(v);\n }\n writer.ldelim();\n }\n if (message.transactionHash !== undefined) {\n B256.encode(message.transactionHash, writer.uint32(18).fork()).ldelim();\n }\n if (message.nonce !== undefined && message.nonce !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.nonce) !== message.nonce) {\n throw new globalThis.Error(\"value provided for field message.nonce of type uint64 too large\");\n }\n writer.uint32(24).uint64(message.nonce.toString());\n }\n if (message.transactionIndex !== undefined && message.transactionIndex !== 0) {\n writer.uint32(32).uint32(message.transactionIndex);\n }\n if (message.from !== undefined) {\n Address.encode(message.from, writer.uint32(42).fork()).ldelim();\n }\n if (message.to !== undefined) {\n Address.encode(message.to, writer.uint32(50).fork()).ldelim();\n }\n if (message.value !== undefined) {\n U256.encode(message.value, writer.uint32(58).fork()).ldelim();\n }\n if (message.gasPrice !== undefined) {\n U128.encode(message.gasPrice, writer.uint32(66).fork()).ldelim();\n }\n if (message.gasLimit !== undefined) {\n U128.encode(message.gasLimit, writer.uint32(74).fork()).ldelim();\n }\n if (message.maxFeePerGas !== undefined) {\n U128.encode(message.maxFeePerGas, writer.uint32(82).fork()).ldelim();\n }\n if (message.maxPriorityFeePerGas !== undefined) {\n U128.encode(message.maxPriorityFeePerGas, writer.uint32(90).fork()).ldelim();\n }\n if (message.input !== undefined && message.input.length !== 0) {\n writer.uint32(98).bytes(message.input);\n }\n if (message.signature !== undefined) {\n Signature.encode(message.signature, writer.uint32(106).fork()).ldelim();\n }\n if (message.chainId !== undefined) {\n if (BigInt.asUintN(64, message.chainId) !== message.chainId) {\n throw new globalThis.Error(\"value provided for field message.chainId of type uint64 too large\");\n }\n writer.uint32(112).uint64(message.chainId.toString());\n }\n if (message.accessList !== undefined && message.accessList.length !== 0) {\n for (const v of message.accessList) {\n AccessListItem.encode(v!, writer.uint32(122).fork()).ldelim();\n }\n }\n if (message.transactionType !== undefined && message.transactionType !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.transactionType) !== message.transactionType) {\n throw new globalThis.Error(\"value provided for field message.transactionType of type uint64 too large\");\n }\n writer.uint32(128).uint64(message.transactionType.toString());\n }\n if (message.maxFeePerBlobGas !== undefined) {\n U128.encode(message.maxFeePerBlobGas, writer.uint32(138).fork()).ldelim();\n }\n if (message.blobVersionedHashes !== undefined && message.blobVersionedHashes.length !== 0) {\n for (const v of message.blobVersionedHashes) {\n B256.encode(v!, writer.uint32(146).fork()).ldelim();\n }\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Transaction {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTransaction() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag === 8) {\n message.filterIds!.push(reader.uint32());\n\n continue;\n }\n\n if (tag === 10) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.filterIds!.push(reader.uint32());\n }\n\n continue;\n }\n\n break;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.transactionHash = B256.decode(reader, reader.uint32());\n continue;\n case 3:\n if (tag !== 24) {\n break;\n }\n\n message.nonce = longToBigint(reader.uint64() as Long);\n continue;\n case 4:\n if (tag !== 32) {\n break;\n }\n\n message.transactionIndex = reader.uint32();\n continue;\n case 5:\n if (tag !== 42) {\n break;\n }\n\n message.from = Address.decode(reader, reader.uint32());\n continue;\n case 6:\n if (tag !== 50) {\n break;\n }\n\n message.to = Address.decode(reader, reader.uint32());\n continue;\n case 7:\n if (tag !== 58) {\n break;\n }\n\n message.value = U256.decode(reader, reader.uint32());\n continue;\n case 8:\n if (tag !== 66) {\n break;\n }\n\n message.gasPrice = U128.decode(reader, reader.uint32());\n continue;\n case 9:\n if (tag !== 74) {\n break;\n }\n\n message.gasLimit = U128.decode(reader, reader.uint32());\n continue;\n case 10:\n if (tag !== 82) {\n break;\n }\n\n message.maxFeePerGas = U128.decode(reader, reader.uint32());\n continue;\n case 11:\n if (tag !== 90) {\n break;\n }\n\n message.maxPriorityFeePerGas = U128.decode(reader, reader.uint32());\n continue;\n case 12:\n if (tag !== 98) {\n break;\n }\n\n message.input = reader.bytes();\n continue;\n case 13:\n if (tag !== 106) {\n break;\n }\n\n message.signature = Signature.decode(reader, reader.uint32());\n continue;\n case 14:\n if (tag !== 112) {\n break;\n }\n\n message.chainId = longToBigint(reader.uint64() as Long);\n continue;\n case 15:\n if (tag !== 122) {\n break;\n }\n\n message.accessList!.push(AccessListItem.decode(reader, reader.uint32()));\n continue;\n case 16:\n if (tag !== 128) {\n break;\n }\n\n message.transactionType = longToBigint(reader.uint64() as Long);\n continue;\n case 17:\n if (tag !== 138) {\n break;\n }\n\n message.maxFeePerBlobGas = U128.decode(reader, reader.uint32());\n continue;\n case 18:\n if (tag !== 146) {\n break;\n }\n\n message.blobVersionedHashes!.push(B256.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Transaction {\n return {\n filterIds: globalThis.Array.isArray(object?.filterIds)\n ? object.filterIds.map((e: any) => globalThis.Number(e))\n : [],\n transactionHash: isSet(object.transactionHash) ? B256.fromJSON(object.transactionHash) : undefined,\n nonce: isSet(object.nonce) ? BigInt(object.nonce) : BigInt(\"0\"),\n transactionIndex: isSet(object.transactionIndex) ? globalThis.Number(object.transactionIndex) : 0,\n from: isSet(object.from) ? Address.fromJSON(object.from) : undefined,\n to: isSet(object.to) ? Address.fromJSON(object.to) : undefined,\n value: isSet(object.value) ? U256.fromJSON(object.value) : undefined,\n gasPrice: isSet(object.gasPrice) ? U128.fromJSON(object.gasPrice) : undefined,\n gasLimit: isSet(object.gasLimit) ? U128.fromJSON(object.gasLimit) : undefined,\n maxFeePerGas: isSet(object.maxFeePerGas) ? U128.fromJSON(object.maxFeePerGas) : undefined,\n maxPriorityFeePerGas: isSet(object.maxPriorityFeePerGas) ? U128.fromJSON(object.maxPriorityFeePerGas) : undefined,\n input: isSet(object.input) ? bytesFromBase64(object.input) : new Uint8Array(0),\n signature: isSet(object.signature) ? Signature.fromJSON(object.signature) : undefined,\n chainId: isSet(object.chainId) ? BigInt(object.chainId) : undefined,\n accessList: globalThis.Array.isArray(object?.accessList)\n ? object.accessList.map((e: any) => AccessListItem.fromJSON(e))\n : [],\n transactionType: isSet(object.transactionType) ? BigInt(object.transactionType) : BigInt(\"0\"),\n maxFeePerBlobGas: isSet(object.maxFeePerBlobGas) ? U128.fromJSON(object.maxFeePerBlobGas) : undefined,\n blobVersionedHashes: globalThis.Array.isArray(object?.blobVersionedHashes)\n ? object.blobVersionedHashes.map((e: any) => B256.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: Transaction): unknown {\n const obj: any = {};\n if (message.filterIds?.length) {\n obj.filterIds = message.filterIds.map((e) => Math.round(e));\n }\n if (message.transactionHash !== undefined) {\n obj.transactionHash = B256.toJSON(message.transactionHash);\n }\n if (message.nonce !== undefined && message.nonce !== BigInt(\"0\")) {\n obj.nonce = message.nonce.toString();\n }\n if (message.transactionIndex !== undefined && message.transactionIndex !== 0) {\n obj.transactionIndex = Math.round(message.transactionIndex);\n }\n if (message.from !== undefined) {\n obj.from = Address.toJSON(message.from);\n }\n if (message.to !== undefined) {\n obj.to = Address.toJSON(message.to);\n }\n if (message.value !== undefined) {\n obj.value = U256.toJSON(message.value);\n }\n if (message.gasPrice !== undefined) {\n obj.gasPrice = U128.toJSON(message.gasPrice);\n }\n if (message.gasLimit !== undefined) {\n obj.gasLimit = U128.toJSON(message.gasLimit);\n }\n if (message.maxFeePerGas !== undefined) {\n obj.maxFeePerGas = U128.toJSON(message.maxFeePerGas);\n }\n if (message.maxPriorityFeePerGas !== undefined) {\n obj.maxPriorityFeePerGas = U128.toJSON(message.maxPriorityFeePerGas);\n }\n if (message.input !== undefined && message.input.length !== 0) {\n obj.input = base64FromBytes(message.input);\n }\n if (message.signature !== undefined) {\n obj.signature = Signature.toJSON(message.signature);\n }\n if (message.chainId !== undefined) {\n obj.chainId = message.chainId.toString();\n }\n if (message.accessList?.length) {\n obj.accessList = message.accessList.map((e) => AccessListItem.toJSON(e));\n }\n if (message.transactionType !== undefined && message.transactionType !== BigInt(\"0\")) {\n obj.transactionType = message.transactionType.toString();\n }\n if (message.maxFeePerBlobGas !== undefined) {\n obj.maxFeePerBlobGas = U128.toJSON(message.maxFeePerBlobGas);\n }\n if (message.blobVersionedHashes?.length) {\n obj.blobVersionedHashes = message.blobVersionedHashes.map((e) => B256.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<Transaction>): Transaction {\n return Transaction.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Transaction>): Transaction {\n const message = createBaseTransaction() as any;\n message.filterIds = object.filterIds?.map((e) => e) || [];\n message.transactionHash = (object.transactionHash !== undefined && object.transactionHash !== null)\n ? B256.fromPartial(object.transactionHash)\n : undefined;\n message.nonce = object.nonce ?? BigInt(\"0\");\n message.transactionIndex = object.transactionIndex ?? 0;\n message.from = (object.from !== undefined && object.from !== null) ? Address.fromPartial(object.from) : undefined;\n message.to = (object.to !== undefined && object.to !== null) ? Address.fromPartial(object.to) : undefined;\n message.value = (object.value !== undefined && object.value !== null) ? U256.fromPartial(object.value) : undefined;\n message.gasPrice = (object.gasPrice !== undefined && object.gasPrice !== null)\n ? U128.fromPartial(object.gasPrice)\n : undefined;\n message.gasLimit = (object.gasLimit !== undefined && object.gasLimit !== null)\n ? U128.fromPartial(object.gasLimit)\n : undefined;\n message.maxFeePerGas = (object.maxFeePerGas !== undefined && object.maxFeePerGas !== null)\n ? U128.fromPartial(object.maxFeePerGas)\n : undefined;\n message.maxPriorityFeePerGas = (object.maxPriorityFeePerGas !== undefined && object.maxPriorityFeePerGas !== null)\n ? U128.fromPartial(object.maxPriorityFeePerGas)\n : undefined;\n message.input = object.input ?? new Uint8Array(0);\n message.signature = (object.signature !== undefined && object.signature !== null)\n ? Signature.fromPartial(object.signature)\n : undefined;\n message.chainId = object.chainId ?? undefined;\n message.accessList = object.accessList?.map((e) => AccessListItem.fromPartial(e)) || [];\n message.transactionType = object.transactionType ?? BigInt(\"0\");\n message.maxFeePerBlobGas = (object.maxFeePerBlobGas !== undefined && object.maxFeePerBlobGas !== null)\n ? U128.fromPartial(object.maxFeePerBlobGas)\n : undefined;\n message.blobVersionedHashes = object.blobVersionedHashes?.map((e) => B256.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseValidator(): Validator {\n return {\n filterIds: [],\n validatorIndex: 0,\n balance: BigInt(\"0\"),\n status: 0,\n pubkey: undefined,\n withdrawalCredentials: undefined,\n effectiveBalance: BigInt(\"0\"),\n slashed: false,\n activationEligibilityEpoch: BigInt(\"0\"),\n activationEpoch: BigInt(\"0\"),\n exitEpoch: BigInt(\"0\"),\n withdrawableEpoch: BigInt(\"0\"),\n };\n}\n\nexport const Validator = {\n encode(message: Validator, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.filterIds !== undefined && message.filterIds.length !== 0) {\n writer.uint32(10).fork();\n for (const v of message.filterIds) {\n writer.uint32(v);\n }\n writer.ldelim();\n }\n if (message.validatorIndex !== undefined && message.validatorIndex !== 0) {\n writer.uint32(16).uint32(message.validatorIndex);\n }\n if (message.balance !== undefined && message.balance !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.balance) !== message.balance) {\n throw new globalThis.Error(\"value provided for field message.balance of type uint64 too large\");\n }\n writer.uint32(24).uint64(message.balance.toString());\n }\n if (message.status !== undefined && message.status !== 0) {\n writer.uint32(32).int32(message.status);\n }\n if (message.pubkey !== undefined) {\n B384.encode(message.pubkey, writer.uint32(42).fork()).ldelim();\n }\n if (message.withdrawalCredentials !== undefined) {\n B256.encode(message.withdrawalCredentials, writer.uint32(50).fork()).ldelim();\n }\n if (message.effectiveBalance !== undefined && message.effectiveBalance !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.effectiveBalance) !== message.effectiveBalance) {\n throw new globalThis.Error(\"value provided for field message.effectiveBalance of type uint64 too large\");\n }\n writer.uint32(56).uint64(message.effectiveBalance.toString());\n }\n if (message.slashed !== undefined && message.slashed !== false) {\n writer.uint32(64).bool(message.slashed);\n }\n if (message.activationEligibilityEpoch !== undefined && message.activationEligibilityEpoch !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.activationEligibilityEpoch) !== message.activationEligibilityEpoch) {\n throw new globalThis.Error(\n \"value provided for field message.activationEligibilityEpoch of type uint64 too large\",\n );\n }\n writer.uint32(72).uint64(message.activationEligibilityEpoch.toString());\n }\n if (message.activationEpoch !== undefined && message.activationEpoch !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.activationEpoch) !== message.activationEpoch) {\n throw new globalThis.Error(\"value provided for field message.activationEpoch of type uint64 too large\");\n }\n writer.uint32(80).uint64(message.activationEpoch.toString());\n }\n if (message.exitEpoch !== undefined && message.exitEpoch !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.exitEpoch) !== message.exitEpoch) {\n throw new globalThis.Error(\"value provided for field message.exitEpoch of type uint64 too large\");\n }\n writer.uint32(88).uint64(message.exitEpoch.toString());\n }\n if (message.withdrawableEpoch !== undefined && message.withdrawableEpoch !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.withdrawableEpoch) !== message.withdrawableEpoch) {\n throw new globalThis.Error(\"value provided for field message.withdrawableEpoch of type uint64 too large\");\n }\n writer.uint32(96).uint64(message.withdrawableEpoch.toString());\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Validator {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseValidator() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag === 8) {\n message.filterIds!.push(reader.uint32());\n\n continue;\n }\n\n if (tag === 10) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.filterIds!.push(reader.uint32());\n }\n\n continue;\n }\n\n break;\n case 2:\n if (tag !== 16) {\n break;\n }\n\n message.validatorIndex = reader.uint32();\n continue;\n case 3:\n if (tag !== 24) {\n break;\n }\n\n message.balance = longToBigint(reader.uint64() as Long);\n continue;\n case 4:\n if (tag !== 32) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n case 5:\n if (tag !== 42) {\n break;\n }\n\n message.pubkey = B384.decode(reader, reader.uint32());\n continue;\n case 6:\n if (tag !== 50) {\n break;\n }\n\n message.withdrawalCredentials = B256.decode(reader, reader.uint32());\n continue;\n case 7:\n if (tag !== 56) {\n break;\n }\n\n message.effectiveBalance = longToBigint(reader.uint64() as Long);\n continue;\n case 8:\n if (tag !== 64) {\n break;\n }\n\n message.slashed = reader.bool();\n continue;\n case 9:\n if (tag !== 72) {\n break;\n }\n\n message.activationEligibilityEpoch = longToBigint(reader.uint64() as Long);\n continue;\n case 10:\n if (tag !== 80) {\n break;\n }\n\n message.activationEpoch = longToBigint(reader.uint64() as Long);\n continue;\n case 11:\n if (tag !== 88) {\n break;\n }\n\n message.exitEpoch = longToBigint(reader.uint64() as Long);\n continue;\n case 12:\n if (tag !== 96) {\n break;\n }\n\n message.withdrawableEpoch = longToBigint(reader.uint64() as Long);\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Validator {\n return {\n filterIds: globalThis.Array.isArray(object?.filterIds)\n ? object.filterIds.map((e: any) => globalThis.Number(e))\n : [],\n validatorIndex: isSet(object.validatorIndex) ? globalThis.Number(object.validatorIndex) : 0,\n balance: isSet(object.balance) ? BigInt(object.balance) : BigInt(\"0\"),\n status: isSet(object.status) ? validatorStatusFromJSON(object.status) : 0,\n pubkey: isSet(object.pubkey) ? B384.fromJSON(object.pubkey) : undefined,\n withdrawalCredentials: isSet(object.withdrawalCredentials)\n ? B256.fromJSON(object.withdrawalCredentials)\n : undefined,\n effectiveBalance: isSet(object.effectiveBalance) ? BigInt(object.effectiveBalance) : BigInt(\"0\"),\n slashed: isSet(object.slashed) ? globalThis.Boolean(object.slashed) : false,\n activationEligibilityEpoch: isSet(object.activationEligibilityEpoch)\n ? BigInt(object.activationEligibilityEpoch)\n : BigInt(\"0\"),\n activationEpoch: isSet(object.activationEpoch) ? BigInt(object.activationEpoch) : BigInt(\"0\"),\n exitEpoch: isSet(object.exitEpoch) ? BigInt(object.exitEpoch) : BigInt(\"0\"),\n withdrawableEpoch: isSet(object.withdrawableEpoch) ? BigInt(object.withdrawableEpoch) : BigInt(\"0\"),\n };\n },\n\n toJSON(message: Validator): unknown {\n const obj: any = {};\n if (message.filterIds?.length) {\n obj.filterIds = message.filterIds.map((e) => Math.round(e));\n }\n if (message.validatorIndex !== undefined && message.validatorIndex !== 0) {\n obj.validatorIndex = Math.round(message.validatorIndex);\n }\n if (message.balance !== undefined && message.balance !== BigInt(\"0\")) {\n obj.balance = message.balance.toString();\n }\n if (message.status !== undefined && message.status !== 0) {\n obj.status = validatorStatusToJSON(message.status);\n }\n if (message.pubkey !== undefined) {\n obj.pubkey = B384.toJSON(message.pubkey);\n }\n if (message.withdrawalCredentials !== undefined) {\n obj.withdrawalCredentials = B256.toJSON(message.withdrawalCredentials);\n }\n if (message.effectiveBalance !== undefined && message.effectiveBalance !== BigInt(\"0\")) {\n obj.effectiveBalance = message.effectiveBalance.toString();\n }\n if (message.slashed !== undefined && message.slashed !== false) {\n obj.slashed = message.slashed;\n }\n if (message.activationEligibilityEpoch !== undefined && message.activationEligibilityEpoch !== BigInt(\"0\")) {\n obj.activationEligibilityEpoch = message.activationEligibilityEpoch.toString();\n }\n if (message.activationEpoch !== undefined && message.activationEpoch !== BigInt(\"0\")) {\n obj.activationEpoch = message.activationEpoch.toString();\n }\n if (message.exitEpoch !== undefined && message.exitEpoch !== BigInt(\"0\")) {\n obj.exitEpoch = message.exitEpoch.toString();\n }\n if (message.withdrawableEpoch !== undefined && message.withdrawableEpoch !== BigInt(\"0\")) {\n obj.withdrawableEpoch = message.withdrawableEpoch.toString();\n }\n return obj;\n },\n\n create(base?: DeepPartial<Validator>): Validator {\n return Validator.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Validator>): Validator {\n const message = createBaseValidator() as any;\n message.filterIds = object.filterIds?.map((e) => e) || [];\n message.validatorIndex = object.validatorIndex ?? 0;\n message.balance = object.balance ?? BigInt(\"0\");\n message.status = object.status ?? 0;\n message.pubkey = (object.pubkey !== undefined && object.pubkey !== null)\n ? B384.fromPartial(object.pubkey)\n : undefined;\n message.withdrawalCredentials =\n (object.withdrawalCredentials !== undefined && object.withdrawalCredentials !== null)\n ? B256.fromPartial(object.withdrawalCredentials)\n : undefined;\n message.effectiveBalance = object.effectiveBalance ?? BigInt(\"0\");\n message.slashed = object.slashed ?? false;\n message.activationEligibilityEpoch = object.activationEligibilityEpoch ?? BigInt(\"0\");\n message.activationEpoch = object.activationEpoch ?? BigInt(\"0\");\n message.exitEpoch = object.exitEpoch ?? BigInt(\"0\");\n message.withdrawableEpoch = object.withdrawableEpoch ?? BigInt(\"0\");\n return message;\n },\n};\n\nfunction createBaseBlob(): Blob {\n return {\n filterIds: [],\n blobIndex: 0,\n blob: new Uint8Array(0),\n kzgCommitment: undefined,\n kzgProof: undefined,\n kzgCommitmentInclusionProof: [],\n blobHash: undefined,\n transactionIndex: 0,\n transactionHash: undefined,\n };\n}\n\nexport const Blob = {\n encode(message: Blob, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.filterIds !== undefined && message.filterIds.length !== 0) {\n writer.uint32(10).fork();\n for (const v of message.filterIds) {\n writer.uint32(v);\n }\n writer.ldelim();\n }\n if (message.blobIndex !== undefined && message.blobIndex !== 0) {\n writer.uint32(16).uint32(message.blobIndex);\n }\n if (message.blob !== undefined && message.blob.length !== 0) {\n writer.uint32(26).bytes(message.blob);\n }\n if (message.kzgCommitment !== undefined) {\n B384.encode(message.kzgCommitment, writer.uint32(34).fork()).ldelim();\n }\n if (message.kzgProof !== undefined) {\n B384.encode(message.kzgProof, writer.uint32(42).fork()).ldelim();\n }\n if (message.kzgCommitmentInclusionProof !== undefined && message.kzgCommitmentInclusionProof.length !== 0) {\n for (const v of message.kzgCommitmentInclusionProof) {\n B256.encode(v!, writer.uint32(50).fork()).ldelim();\n }\n }\n if (message.blobHash !== undefined) {\n B256.encode(message.blobHash, writer.uint32(58).fork()).ldelim();\n }\n if (message.transactionIndex !== undefined && message.transactionIndex !== 0) {\n writer.uint32(64).uint32(message.transactionIndex);\n }\n if (message.transactionHash !== undefined) {\n B256.encode(message.transactionHash, writer.uint32(74).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Blob {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlob() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag === 8) {\n message.filterIds!.push(reader.uint32());\n\n continue;\n }\n\n if (tag === 10) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.filterIds!.push(reader.uint32());\n }\n\n continue;\n }\n\n break;\n case 2:\n if (tag !== 16) {\n break;\n }\n\n message.blobIndex = reader.uint32();\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.blob = reader.bytes();\n continue;\n case 4:\n if (tag !== 34) {\n break;\n }\n\n message.kzgCommitment = B384.decode(reader, reader.uint32());\n continue;\n case 5:\n if (tag !== 42) {\n break;\n }\n\n message.kzgProof = B384.decode(reader, reader.uint32());\n continue;\n case 6:\n if (tag !== 50) {\n break;\n }\n\n message.kzgCommitmentInclusionProof!.push(B256.decode(reader, reader.uint32()));\n continue;\n case 7:\n if (tag !== 58) {\n break;\n }\n\n message.blobHash = B256.decode(reader, reader.uint32());\n continue;\n case 8:\n if (tag !== 64) {\n break;\n }\n\n message.transactionIndex = reader.uint32();\n continue;\n case 9:\n if (tag !== 74) {\n break;\n }\n\n message.transactionHash = B256.decode(reader, reader.uint32());\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Blob {\n return {\n filterIds: globalThis.Array.isArray(object?.filterIds)\n ? object.filterIds.map((e: any) => globalThis.Number(e))\n : [],\n blobIndex: isSet(object.blobIndex) ? globalThis.Number(object.blobIndex) : 0,\n blob: isSet(object.blob) ? bytesFromBase64(object.blob) : new Uint8Array(0),\n kzgCommitment: isSet(object.kzgCommitment) ? B384.fromJSON(object.kzgCommitment) : undefined,\n kzgProof: isSet(object.kzgProof) ? B384.fromJSON(object.kzgProof) : undefined,\n kzgCommitmentInclusionProof: globalThis.Array.isArray(object?.kzgCommitmentInclusionProof)\n ? object.kzgCommitmentInclusionProof.map((e: any) => B256.fromJSON(e))\n : [],\n blobHash: isSet(object.blobHash) ? B256.fromJSON(object.blobHash) : undefined,\n transactionIndex: isSet(object.transactionIndex) ? globalThis.Number(object.transactionIndex) : 0,\n transactionHash: isSet(object.transactionHash) ? B256.fromJSON(object.transactionHash) : undefined,\n };\n },\n\n toJSON(message: Blob): unknown {\n const obj: any = {};\n if (message.filterIds?.length) {\n obj.filterIds = message.filterIds.map((e) => Math.round(e));\n }\n if (message.blobIndex !== undefined && message.blobIndex !== 0) {\n obj.blobIndex = Math.round(message.blobIndex);\n }\n if (message.blob !== undefined && message.blob.length !== 0) {\n obj.blob = base64FromBytes(message.blob);\n }\n if (message.kzgCommitment !== undefined) {\n obj.kzgCommitment = B384.toJSON(message.kzgCommitment);\n }\n if (message.kzgProof !== undefined) {\n obj.kzgProof = B384.toJSON(message.kzgProof);\n }\n if (message.kzgCommitmentInclusionProof?.length) {\n obj.kzgCommitmentInclusionProof = message.kzgCommitmentInclusionProof.map((e) => B256.toJSON(e));\n }\n if (message.blobHash !== undefined) {\n obj.blobHash = B256.toJSON(message.blobHash);\n }\n if (message.transactionIndex !== undefined && message.transactionIndex !== 0) {\n obj.transactionIndex = Math.round(message.transactionIndex);\n }\n if (message.transactionHash !== undefined) {\n obj.transactionHash = B256.toJSON(message.transactionHash);\n }\n return obj;\n },\n\n create(base?: DeepPartial<Blob>): Blob {\n return Blob.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Blob>): Blob {\n const message = createBaseBlob() as any;\n message.filterIds = object.filterIds?.map((e) => e) || [];\n message.blobIndex = object.blobIndex ?? 0;\n message.blob = object.blob ?? new Uint8Array(0);\n message.kzgCommitment = (object.kzgCommitment !== undefined && object.kzgCommitment !== null)\n ? B384.fromPartial(object.kzgCommitment)\n : undefined;\n message.kzgProof = (object.kzgProof !== undefined && object.kzgProof !== null)\n ? B384.fromPartial(object.kzgProof)\n : undefined;\n message.kzgCommitmentInclusionProof = object.kzgCommitmentInclusionProof?.map((e) => B256.fromPartial(e)) || [];\n message.blobHash = (object.blobHash !== undefined && object.blobHash !== null)\n ? B256.fromPartial(object.blobHash)\n : undefined;\n message.transactionIndex = object.transactionIndex ?? 0;\n message.transactionHash = (object.transactionHash !== undefined && object.transactionHash !== null)\n ? B256.fromPartial(object.transactionHash)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseExecutionPayload(): ExecutionPayload {\n return {\n parentHash: undefined,\n feeRecipient: undefined,\n stateRoot: undefined,\n receiptsRoot: undefined,\n logsBloom: new Uint8Array(0),\n prevRandao: undefined,\n blockNumber: BigInt(\"0\"),\n timestamp: undefined,\n };\n}\n\nexport const ExecutionPayload = {\n encode(message: ExecutionPayload, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.parentHash !== undefined) {\n B256.encode(message.parentHash, writer.uint32(10).fork()).ldelim();\n }\n if (message.feeRecipient !== undefined) {\n Address.encode(message.feeRecipient, writer.uint32(18).fork()).ldelim();\n }\n if (message.stateRoot !== undefined) {\n B256.encode(message.stateRoot, writer.uint32(26).fork()).ldelim();\n }\n if (message.receiptsRoot !== undefined) {\n B256.encode(message.receiptsRoot, writer.uint32(34).fork()).ldelim();\n }\n if (message.logsBloom !== undefined && message.logsBloom.length !== 0) {\n writer.uint32(42).bytes(message.logsBloom);\n }\n if (message.prevRandao !== undefined) {\n B256.encode(message.prevRandao, writer.uint32(50).fork()).ldelim();\n }\n if (message.blockNumber !== undefined && message.blockNumber !== BigInt(\"0\")) {\n if (BigInt.asUintN(64, message.blockNumber) !== message.blockNumber) {\n throw new globalThis.Error(\"value provided for field message.blockNumber of type uint64 too large\");\n }\n writer.uint32(56).uint64(message.blockNumber.toString());\n }\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(66).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ExecutionPayload {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseExecutionPayload() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.parentHash = B256.decode(reader, reader.uint32());\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.feeRecipient = Address.decode(reader, reader.uint32());\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.stateRoot = B256.decode(reader, reader.uint32());\n continue;\n case 4:\n if (tag !== 34) {\n break;\n }\n\n message.receiptsRoot = B256.decode(reader, reader.uint32());\n continue;\n case 5:\n if (tag !== 42) {\n break;\n }\n\n message.logsBloom = reader.bytes();\n continue;\n case 6:\n if (tag !== 50) {\n break;\n }\n\n message.prevRandao = B256.decode(reader, reader.uint32());\n continue;\n case 7:\n if (tag !== 56) {\n break;\n }\n\n message.blockNumber = longToBigint(reader.uint64() as Long);\n continue;\n case 8:\n if (tag !== 66) {\n break;\n }\n\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ExecutionPayload {\n return {\n parentHash: isSet(object.parentHash) ? B256.fromJSON(object.parentHash) : undefined,\n feeRecipient: isSet(object.feeRecipient) ? Address.fromJSON(object.feeRecipient) : undefined,\n stateRoot: isSet(object.stateRoot) ? B256.fromJSON(object.stateRoot) : undefined,\n receiptsRoot: isSet(object.receiptsRoot) ? B256.fromJSON(object.receiptsRoot) : undefined,\n logsBloom: isSet(object.logsBloom) ? bytesFromBase64(object.logsBloom) : new Uint8Array(0),\n prevRandao: isSet(object.prevRandao) ? B256.fromJSON(object.prevRandao) : undefined,\n blockNumber: isSet(object.blockNumber) ? BigInt(object.blockNumber) : BigInt(\"0\"),\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n };\n },\n\n toJSON(message: ExecutionPayload): unknown {\n const obj: any = {};\n if (message.parentHash !== undefined) {\n obj.parentHash = B256.toJSON(message.parentHash);\n }\n if (message.feeRecipient !== undefined) {\n obj.feeRecipient = Address.toJSON(message.feeRecipient);\n }\n if (message.stateRoot !== undefined) {\n obj.stateRoot = B256.toJSON(message.stateRoot);\n }\n if (message.receiptsRoot !== undefined) {\n obj.receiptsRoot = B256.toJSON(message.receiptsRoot);\n }\n if (message.logsBloom !== undefined && message.logsBloom.length !== 0) {\n obj.logsBloom = base64FromBytes(message.logsBloom);\n }\n if (message.prevRandao !== undefined) {\n obj.prevRandao = B256.toJSON(message.prevRandao);\n }\n if (message.blockNumber !== undefined && message.blockNumber !== BigInt(\"0\")) {\n obj.blockNumber = message.blockNumber.toString();\n }\n if (message.timestamp !== undefined) {\n obj.timestamp = message.timestamp.toISOString();\n }\n return obj;\n },\n\n create(base?: DeepPartial<ExecutionPayload>): ExecutionPayload {\n return ExecutionPayload.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ExecutionPayload>): ExecutionPayload {\n const message = createBaseExecutionPayload() as any;\n message.parentHash = (object.parentHash !== undefined && object.parentHash !== null)\n ? B256.fromPartial(object.parentHash)\n : undefined;\n message.feeRecipient = (object.feeRecipient !== undefined && object.feeRecipient !== null)\n ? Address.fromPartial(object.feeRecipient)\n : undefined;\n message.stateRoot = (object.stateRoot !== undefined && object.stateRoot !== null)\n ? B256.fromPartial(object.stateRoot)\n : undefined;\n message.receiptsRoot = (object.receiptsRoot !== undefined && object.receiptsRoot !== null)\n ? B256.fromPartial(object.receiptsRoot)\n : undefined;\n message.logsBloom = object.logsBloom ?? new Uint8Array(0);\n message.prevRandao = (object.prevRandao !== undefined && object.prevRandao !== null)\n ? B256.fromPartial(object.prevRandao)\n : undefined;\n message.blockNumber = object.blockNumber ?? BigInt(\"0\");\n message.timestamp = object.timestamp ?? undefined;\n return message;\n },\n};\n\nfunction createBaseSignature(): Signature {\n return { r: undefined, s: undefined };\n}\n\nexport const Signature = {\n encode(message: Signature, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.r !== undefined) {\n U256.encode(message.r, writer.uint32(10).fork()).ldelim();\n }\n if (message.s !== undefined) {\n U256.encode(message.s, writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Signature {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSignature() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.r = U256.decode(reader, reader.uint32());\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.s = U256.decode(reader, reader.uint32());\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Signature {\n return {\n r: isSet(object.r) ? U256.fromJSON(object.r) : undefined,\n s: isSet(object.s) ? U256.fromJSON(object.s) : undefined,\n };\n },\n\n toJSON(message: Signature): unknown {\n const obj: any = {};\n if (message.r !== undefined) {\n obj.r = U256.toJSON(message.r);\n }\n if (message.s !== undefined) {\n obj.s = U256.toJSON(message.s);\n }\n return obj;\n },\n\n create(base?: DeepPartial<Signature>): Signature {\n return Signature.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Signature>): Signature {\n const message = createBaseSignature() as any;\n message.r = (object.r !== undefined && object.r !== null) ? U256.fromPartial(object.r) : undefined;\n message.s = (object.s !== undefined && object.s !== null) ? U256.fromPartial(object.s) : undefined;\n return message;\n },\n};\n\nfunction createBaseAccessListItem(): AccessListItem {\n return { address: undefined, storageKeys: [] };\n}\n\nexport const AccessListItem = {\n encode(message: AccessListItem, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== undefined) {\n Address.encode(message.address, writer.uint32(10).fork()).ldelim();\n }\n if (message.storageKeys !== undefined && message.storageKeys.length !== 0) {\n for (const v of message.storageKeys) {\n B256.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AccessListItem {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAccessListItem() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 10) {\n break;\n }\n\n message.address = Address.decode(reader, reader.uint32());\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.storageKeys!.push(B256.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): AccessListItem {\n return {\n address: isSet(object.address) ? Address.fromJSON(object.address) : undefined,\n storageKeys: globalThis.Array.isArray(object?.storageKeys)\n ? object.storageKeys.map((e: any) => B256.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: AccessListItem): unknown {\n const obj: any = {};\n if (message.address !== undefined) {\n obj.address = Address.toJSON(message.address);\n }\n if (message.storageKeys?.length) {\n obj.storageKeys = message.storageKeys.map((e) => B256.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<AccessListItem>): AccessListItem {\n return AccessListItem.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<AccessListItem>): AccessListItem {\n const message = createBaseAccessListItem() as any;\n message.address = (object.address !== undefined && object.address !== null)\n ? Address.fromPartial(object.address)\n : undefined;\n message.storageKeys = object.storageKeys?.map((e) => B256.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\nexport type DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends { readonly $case: string }\n ? { [K in keyof Omit<T, \"$case\">]?: DeepPartial<T[K]> } & { readonly $case: T[\"$case\"] }\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds?.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\nfunction fromJsonTimestamp(o: any): Date {\n if (o instanceof globalThis.Date) {\n return o;\n } else if (typeof o === \"string\") {\n return new globalThis.Date(o);\n } else {\n return fromTimestamp(Timestamp.fromJSON(o));\n }\n}\n\nfunction longToBigint(long: Long) {\n return BigInt(long.toString());\n}\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v1.176.0\n// protoc unknown\n// source: filter.proto\n\n/* eslint-disable */\nimport _m0 from \"protobufjs/minimal.js\";\nimport { Address, ValidatorStatus, validatorStatusFromJSON, validatorStatusToJSON } from \"./common.js\";\n\nexport const protobufPackage = \"beaconchain.v2\";\n\n/** Beacon Chain DNA definitions (filter). */\n\nexport enum HeaderFilter {\n UNSPECIFIED = 0,\n ALWAYS = 1,\n ON_DATA = 2,\n ON_DATA_OR_ON_NEW_BLOCK = 3,\n UNRECOGNIZED = -1,\n}\n\nexport function headerFilterFromJSON(object: any): HeaderFilter {\n switch (object) {\n case 0:\n case \"HEADER_FILTER_UNSPECIFIED\":\n return HeaderFilter.UNSPECIFIED;\n case 1:\n case \"HEADER_FILTER_ALWAYS\":\n return HeaderFilter.ALWAYS;\n case 2:\n case \"HEADER_FILTER_ON_DATA\":\n return HeaderFilter.ON_DATA;\n case 3:\n case \"HEADER_FILTER_ON_DATA_OR_ON_NEW_BLOCK\":\n return HeaderFilter.ON_DATA_OR_ON_NEW_BLOCK;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return HeaderFilter.UNRECOGNIZED;\n }\n}\n\nexport function headerFilterToJSON(object: HeaderFilter): string {\n switch (object) {\n case HeaderFilter.UNSPECIFIED:\n return \"HEADER_FILTER_UNSPECIFIED\";\n case HeaderFilter.ALWAYS:\n return \"HEADER_FILTER_ALWAYS\";\n case HeaderFilter.ON_DATA:\n return \"HEADER_FILTER_ON_DATA\";\n case HeaderFilter.ON_DATA_OR_ON_NEW_BLOCK:\n return \"HEADER_FILTER_ON_DATA_OR_ON_NEW_BLOCK\";\n case HeaderFilter.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface Filter {\n /** Include header. */\n readonly header?:\n | HeaderFilter\n | undefined;\n /** Filter transactions. */\n readonly transactions?:\n | readonly TransactionFilter[]\n | undefined;\n /** Filter validators. */\n readonly validators?:\n | readonly ValidatorFilter[]\n | undefined;\n /** Filter blobs. */\n readonly blobs?: readonly BlobFilter[] | undefined;\n}\n\nexport interface TransactionFilter {\n readonly id?:\n | number\n | undefined;\n /** Filter based on the transaction's sender address. */\n readonly from?:\n | Address\n | undefined;\n /** Filter based on the transaction's recipient address. */\n readonly to?:\n | Address\n | undefined;\n /** Only return `creat` transactions. Defaults to `false`. */\n readonly create?:\n | boolean\n | undefined;\n /** Include the transaction's blob. Defaults to `false`. */\n readonly includeBlob?: boolean | undefined;\n}\n\nexport interface ValidatorFilter {\n readonly id?:\n | number\n | undefined;\n /** Filter the validator based on its index. */\n readonly validatorIndex?:\n | number\n | undefined;\n /** Filter based on the validator's status. */\n readonly status?: ValidatorStatus | undefined;\n}\n\nexport interface BlobFilter {\n readonly id?:\n | number\n | undefined;\n /** Include the transaction that posted the blob. */\n readonly includeTransaction?: boolean | undefined;\n}\n\nfunction createBaseFilter(): Filter {\n return { header: 0, transactions: [], validators: [], blobs: [] };\n}\n\nexport const Filter = {\n encode(message: Filter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.header !== undefined && message.header !== 0) {\n writer.uint32(8).int32(message.header);\n }\n if (message.transactions !== undefined && message.transactions.length !== 0) {\n for (const v of message.transactions) {\n TransactionFilter.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n }\n if (message.validators !== undefined && message.validators.length !== 0) {\n for (const v of message.validators) {\n ValidatorFilter.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n }\n if (message.blobs !== undefined && message.blobs.length !== 0) {\n for (const v of message.blobs) {\n BlobFilter.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Filter {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFilter() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 8) {\n break;\n }\n\n message.header = reader.int32() as any;\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.transactions!.push(TransactionFilter.decode(reader, reader.uint32()));\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.validators!.push(ValidatorFilter.decode(reader, reader.uint32()));\n continue;\n case 4:\n if (tag !== 34) {\n break;\n }\n\n message.blobs!.push(BlobFilter.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Filter {\n return {\n header: isSet(object.header) ? headerFilterFromJSON(object.header) : 0,\n transactions: globalThis.Array.isArray(object?.transactions)\n ? object.transactions.map((e: any) => TransactionFilter.fromJSON(e))\n : [],\n validators: globalThis.Array.isArray(object?.validators)\n ? object.validators.map((e: any) => ValidatorFilter.fromJSON(e))\n : [],\n blobs: globalThis.Array.isArray(object?.blobs) ? object.blobs.map((e: any) => BlobFilter.fromJSON(e)) : [],\n };\n },\n\n toJSON(message: Filter): unknown {\n const obj: any = {};\n if (message.header !== undefined && message.header !== 0) {\n obj.header = headerFilterToJSON(message.header);\n }\n if (message.transactions?.length) {\n obj.transactions = message.transactions.map((e) => TransactionFilter.toJSON(e));\n }\n if (message.validators?.length) {\n obj.validators = message.validators.map((e) => ValidatorFilter.toJSON(e));\n }\n if (message.blobs?.length) {\n obj.blobs = message.blobs.map((e) => BlobFilter.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<Filter>): Filter {\n return Filter.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Filter>): Filter {\n const message = createBaseFilter() as any;\n message.header = object.header ?? 0;\n message.transactions = object.transactions?.map((e) => TransactionFilter.fromPartial(e)) || [];\n message.validators = object.validators?.map((e) => ValidatorFilter.fromPartial(e)) || [];\n message.blobs = object.blobs?.map((e) => BlobFilter.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseTransactionFilter(): TransactionFilter {\n return { id: 0, from: undefined, to: undefined, create: undefined, includeBlob: undefined };\n}\n\nexport const TransactionFilter = {\n encode(message: TransactionFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.id !== undefined && message.id !== 0) {\n writer.uint32(8).uint32(message.id);\n }\n if (message.from !== undefined) {\n Address.encode(message.from, writer.uint32(18).fork()).ldelim();\n }\n if (message.to !== undefined) {\n Address.encode(message.to, writer.uint32(26).fork()).ldelim();\n }\n if (message.create !== undefined) {\n writer.uint32(32).bool(message.create);\n }\n if (message.includeBlob !== undefined) {\n writer.uint32(40).bool(message.includeBlob);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TransactionFilter {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTransactionFilter() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 8) {\n break;\n }\n\n message.id = reader.uint32();\n continue;\n case 2:\n if (tag !== 18) {\n break;\n }\n\n message.from = Address.decode(reader, reader.uint32());\n continue;\n case 3:\n if (tag !== 26) {\n break;\n }\n\n message.to = Address.decode(reader, reader.uint32());\n continue;\n case 4:\n if (tag !== 32) {\n break;\n }\n\n message.create = reader.bool();\n continue;\n case 5:\n if (tag !== 40) {\n break;\n }\n\n message.includeBlob = reader.bool();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): TransactionFilter {\n return {\n id: isSet(object.id) ? globalThis.Number(object.id) : 0,\n from: isSet(object.from) ? Address.fromJSON(object.from) : undefined,\n to: isSet(object.to) ? Address.fromJSON(object.to) : undefined,\n create: isSet(object.create) ? globalThis.Boolean(object.create) : undefined,\n includeBlob: isSet(object.includeBlob) ? globalThis.Boolean(object.includeBlob) : undefined,\n };\n },\n\n toJSON(message: TransactionFilter): unknown {\n const obj: any = {};\n if (message.id !== undefined && message.id !== 0) {\n obj.id = Math.round(message.id);\n }\n if (message.from !== undefined) {\n obj.from = Address.toJSON(message.from);\n }\n if (message.to !== undefined) {\n obj.to = Address.toJSON(message.to);\n }\n if (message.create !== undefined) {\n obj.create = message.create;\n }\n if (message.includeBlob !== undefined) {\n obj.includeBlob = message.includeBlob;\n }\n return obj;\n },\n\n create(base?: DeepPartial<TransactionFilter>): TransactionFilter {\n return TransactionFilter.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<TransactionFilter>): TransactionFilter {\n const message = createBaseTransactionFilter() as any;\n message.id = object.id ?? 0;\n message.from = (object.from !== undefined && object.from !== null) ? Address.fromPartial(object.from) : undefined;\n message.to = (object.to !== undefined && object.to !== null) ? Address.fromPartial(object.to) : undefined;\n message.create = object.create ?? undefined;\n message.includeBlob = object.includeBlob ?? undefined;\n return message;\n },\n};\n\nfunction createBaseValidatorFilter(): ValidatorFilter {\n return { id: 0, validatorIndex: undefined, status: undefined };\n}\n\nexport const ValidatorFilter = {\n encode(message: ValidatorFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.id !== undefined && message.id !== 0) {\n writer.uint32(8).uint32(message.id);\n }\n if (message.validatorIndex !== undefined) {\n writer.uint32(16).uint32(message.validatorIndex);\n }\n if (message.status !== undefined) {\n writer.uint32(24).int32(message.status);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ValidatorFilter {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseValidatorFilter() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 8) {\n break;\n }\n\n message.id = reader.uint32();\n continue;\n case 2:\n if (tag !== 16) {\n break;\n }\n\n message.validatorIndex = reader.uint32();\n continue;\n case 3:\n if (tag !== 24) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ValidatorFilter {\n return {\n id: isSet(object.id) ? globalThis.Number(object.id) : 0,\n validatorIndex: isSet(object.validatorIndex) ? globalThis.Number(object.validatorIndex) : undefined,\n status: isSet(object.status) ? validatorStatusFromJSON(object.status) : undefined,\n };\n },\n\n toJSON(message: ValidatorFilter): unknown {\n const obj: any = {};\n if (message.id !== undefined && message.id !== 0) {\n obj.id = Math.round(message.id);\n }\n if (message.validatorIndex !== undefined) {\n obj.validatorIndex = Math.round(message.validatorIndex);\n }\n if (message.status !== undefined) {\n obj.status = validatorStatusToJSON(message.status);\n }\n return obj;\n },\n\n create(base?: DeepPartial<ValidatorFilter>): ValidatorFilter {\n return ValidatorFilter.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ValidatorFilter>): ValidatorFilter {\n const message = createBaseValidatorFilter() as any;\n message.id = object.id ?? 0;\n message.validatorIndex = object.validatorIndex ?? undefined;\n message.status = object.status ?? undefined;\n return message;\n },\n};\n\nfunction createBaseBlobFilter(): BlobFilter {\n return { id: 0, includeTransaction: undefined };\n}\n\nexport const BlobFilter = {\n encode(message: BlobFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.id !== undefined && message.id !== 0) {\n writer.uint32(8).uint32(message.id);\n }\n if (message.includeTransaction !== undefined) {\n writer.uint32(16).bool(message.includeTransaction);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BlobFilter {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlobFilter() as any;\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag !== 8) {\n break;\n }\n\n message.id = reader.uint32();\n continue;\n case 2:\n if (tag !== 16) {\n break;\n }\n\n message.includeTransaction = reader.bool();\n continue;\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): BlobFilter {\n return {\n id: isSet(object.id) ? globalThis.Number(object.id) : 0,\n includeTransaction: isSet(object.includeTransaction) ? globalThis.Boolean(object.includeTransaction) : undefined,\n };\n },\n\n toJSON(message: BlobFilter): unknown {\n const obj: any = {};\n if (message.id !== undefined && message.id !== 0) {\n obj.id = Math.round(message.id);\n }\n if (message.includeTransaction !== undefined) {\n obj.includeTransaction = message.includeTransaction;\n }\n return obj;\n },\n\n create(base?: DeepPartial<BlobFilter>): BlobFilter {\n return BlobFilter.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<BlobFilter>): BlobFilter {\n const message = createBaseBlobFilter() as any;\n message.id = object.id ?? 0;\n message.includeTransaction = object.includeTransaction ?? undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\nexport type DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends { readonly $case: string }\n ? { [K in keyof Omit<T, \"$case\">]?: DeepPartial<T[K]> } & { readonly $case: T[\"$case\"] }\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n","import type { Codec, CodecType } from \"@apibara/protocol/codec\";\nimport * as proto from \"./proto\";\n\nconst MAX_U64 = 0xffffffffffffffffn;\nconst MAX_U32 = 0xffffffffn;\n\n/** An Ethereum address. */\nexport const Address: Codec<`0x${string}`, proto.common.Address> = {\n encode(x) {\n const bn = BigInt(x);\n // Ethereum address is 20 bytes (160 bits)\n // Splitting into two 64-bit chunks and one 32-bit chunk\n const x2 = bn & MAX_U32;\n const x1 = (bn >> 32n) & MAX_U64;\n const x0 = (bn >> 96n) & MAX_U64;\n return { x0, x1, x2: Number(x2) };\n },\n decode(p) {\n const x0 = p.x0 ?? 0n;\n const x1 = p.x1 ?? 0n;\n const x2 = BigInt(p.x2 ?? 0);\n const bn = x2 + (x1 << 32n) + (x0 << 96n);\n return `0x${bn.toString(16).padStart(40, \"0\")}` as `0x${string}`;\n },\n};\n\nexport type Address = CodecType<typeof Address>;\n\n/** Data with length 256 bits. */\nexport const B256: Codec<`0x${string}`, proto.common.B256> = {\n encode(x) {\n const bn = BigInt(x);\n const x3 = bn & MAX_U64;\n const x2 = (bn >> 64n) & MAX_U64;\n const x1 = (bn >> 128n) & MAX_U64;\n const x0 = (bn >> 192n) & MAX_U64;\n return { x0, x1, x2, x3 };\n },\n decode(p) {\n const x0 = p.x0 ?? 0n;\n const x1 = p.x1 ?? 0n;\n const x2 = p.x2 ?? 0n;\n const x3 = p.x3 ?? 0n;\n const bn = x3 + (x2 << 64n) + (x1 << 128n) + (x0 << 192n);\n return `0x${bn.toString(16).padStart(64, \"0\")}` as `0x${string}`;\n },\n};\n\nexport type B256 = CodecType<typeof B256>;\n\n/** Data with length 256 bits. */\nexport const U256: Codec<bigint, proto.common.U256> = {\n encode(x) {\n const bn = BigInt(x);\n const x3 = bn & MAX_U64;\n const x2 = (bn >> 64n) & MAX_U64;\n const x1 = (bn >> 128n) & MAX_U64;\n const x0 = (bn >> 192n) & MAX_U64;\n return { x0, x1, x2, x3 };\n },\n decode(p) {\n const x0 = p.x0 ?? 0n;\n const x1 = p.x1 ?? 0n;\n const x2 = p.x2 ?? 0n;\n const x3 = p.x3 ?? 0n;\n return x3 + (x2 << 64n) + (x1 << 128n) + (x0 << 192n);\n },\n};\n\nexport type U256 = CodecType<typeof U256>;\n\n/** Data with length 128 bits. */\nexport const U128: Codec<bigint, proto.common.U128> = {\n encode(x) {\n const x1 = x & MAX_U64;\n const x0 = (x >> 64n) & MAX_U64;\n return { x0, x1 };\n },\n decode(p) {\n const x0 = p.x0 ?? 0n;\n const x1 = p.x1 ?? 0n;\n return x1 + (x0 << 64n);\n },\n};\n\nexport type U128 = CodecType<typeof U128>;\n\nexport const B384: Codec<`0x${string}`, proto.common.B384> = {\n encode(x) {\n const bn = BigInt(x);\n const x5 = bn & MAX_U64;\n const x4 = (bn >> 64n) & MAX_U64;\n const x3 = (bn >> 128n) & MAX_U64;\n const x2 = (bn >> 192n) & MAX_U64;\n const x1 = (bn >> 256n) & MAX_U64;\n const x0 = (bn >> 320n) & MAX_U64;\n return { x0, x1, x2, x3, x4, x5 };\n },\n decode(p) {\n const x0 = p.x0 ?? 0n;\n const x1 = p.x1 ?? 0n;\n const x2 = p.x2 ?? 0n;\n const x3 = p.x3 ?? 0n;\n const x4 = p.x4 ?? 0n;\n const x5 = p.x5 ?? 0n;\n const bn =\n x5 +\n (x4 << 64n) +\n (x3 << 128n) +\n (x2 << 192n) +\n (x1 << 256n) +\n (x0 << 320n);\n\n return `0x${bn.toString(16).padStart(96, \"0\")}` as `0x${string}`;\n },\n};\n\nexport type B384 = CodecType<typeof B384>;\n\nexport const ValidatorStatus: Codec<\n | \"pending_initialized\"\n | \"pending_queued\"\n | \"active_ongoing\"\n | \"active_exiting\"\n | \"active_slashed\"\n | \"exited_unslashed\"\n | \"exited_slashed\"\n | \"withdrawal_possible\"\n | \"withdrawal_done\"\n | \"unknown\",\n proto.common.ValidatorStatus\n> = {\n encode(x) {\n const enumMap = {\n pending_initialized: proto.common.ValidatorStatus.PENDING_INITIALIZED,\n pending_queued: proto.common.ValidatorStatus.PENDING_QUEUED,\n active_ongoing: proto.common.ValidatorStatus.ACTIVE_ONGOING,\n active_exiting: proto.common.ValidatorStatus.ACTIVE_EXITING,\n active_slashed: proto.common.ValidatorStatus.ACTIVE_SLASHED,\n exited_unslashed: proto.common.ValidatorStatus.EXITED_UNSLASHED,\n exited_slashed: proto.common.ValidatorStatus.EXITED_SLASHED,\n withdrawal_possible: proto.common.ValidatorStatus.WITHDRAWAL_POSSIBLE,\n withdrawal_done: proto.common.ValidatorStatus.WITHDRAWAL_DONE,\n unknown: proto.common.ValidatorStatus.UNKNOWN,\n } as const;\n\n return enumMap[x] ?? proto.common.ValidatorStatus.UNKNOWN;\n },\n\n decode(p) {\n const enumMap = {\n [proto.common.ValidatorStatus.PENDING_INITIALIZED]: \"pending_initialized\",\n [proto.common.ValidatorStatus.PENDING_QUEUED]: \"pending_queued\",\n [proto.common.ValidatorStatus.ACTIVE_ONGOING]: \"active_ongoing\",\n [proto.common.ValidatorStatus.ACTIVE_EXITING]: \"active_exiting\",\n [proto.common.ValidatorStatus.ACTIVE_SLASHED]: \"active_slashed\",\n [proto.common.ValidatorStatus.EXITED_UNSLASHED]: \"exited_unslashed\",\n [proto.common.ValidatorStatus.EXITED_SLASHED]: \"exited_slashed\",\n [proto.common.ValidatorStatus.WITHDRAWAL_POSSIBLE]: \"withdrawal_possible\",\n [proto.common.ValidatorStatus.WITHDRAWAL_DONE]: \"withdrawal_done\",\n [proto.common.ValidatorStatus.UNKNOWN]: \"unknown\",\n [proto.common.ValidatorStatus.UNRECOGNIZED]: \"unknown\",\n } as const;\n\n return enumMap[p] ?? \"unknown\";\n },\n};\n\nexport type ValidatorStatus = CodecType<typeof ValidatorStatus>;\n","import { BytesFromUint8Array } from \"@apibara/protocol\";\nimport {\n ArrayCodec,\n BigIntCodec,\n BooleanCodec,\n type Codec,\n type CodecType,\n DateCodec,\n MessageCodec,\n NumberCodec,\n OptionalCodec,\n RequiredCodec,\n} from \"@apibara/protocol/codec\";\nimport { Address, B256, B384, U128, U256, ValidatorStatus } from \"./common\";\nimport * as proto from \"./proto\";\n\nexport const ExecutionPayload = MessageCodec({\n parentHash: RequiredCodec(B256),\n feeRecipient: RequiredCodec(Address),\n stateRoot: RequiredCodec(B256),\n receiptsRoot: RequiredCodec(B256),\n logsBloom: RequiredCodec(BytesFromUint8Array),\n prevRandao: RequiredCodec(B256),\n blockNumber: RequiredCodec(BigIntCodec),\n timestamp: RequiredCodec(DateCodec),\n});\n\nexport type ExecutionPayload = CodecType<typeof ExecutionPayload>;\n\nexport const BlockHeader = MessageCodec({\n slot: RequiredCodec(BigIntCodec),\n proposerIndex: RequiredCodec(NumberCodec),\n parentRoot: RequiredCodec(B256),\n stateRoot: RequiredCodec(B256),\n randaoReveal: RequiredCodec(BytesFromUint8Array),\n depositCount: RequiredCodec(BigIntCodec),\n depositRoot: RequiredCodec(B256),\n blockHash: OptionalCodec(B256),\n graffiti: RequiredCodec(B256),\n executionPayload: OptionalCodec(ExecutionPayload),\n blobKzgCommitments: ArrayCodec(B384),\n});\n\nexport type BlockHeader = CodecType<typeof BlockHeader>;\n\nexport const Validator = MessageCodec({\n filterIds: ArrayCodec(NumberCodec),\n validatorIndex: RequiredCodec(NumberCodec),\n balance: RequiredCodec(BigIntCodec),\n status: RequiredCodec(ValidatorStatus),\n pubkey: RequiredCodec(B384),\n withdrawalCredentials: RequiredCodec(B256),\n effectiveBalance: RequiredCodec(BigIntCodec),\n slashed: RequiredCodec(BooleanCodec),\n activationEligibilityEpoch: RequiredCodec(BigIntCodec),\n activationEpoch: RequiredCodec(BigIntCodec),\n exitEpoch: RequiredCodec(BigIntCodec),\n withdrawableEpoch: RequiredCodec(BigIntCodec),\n});\n\nexport type Validator = CodecType<typeof Validator>;\n\nexport const Blob = MessageCodec({\n filterIds: ArrayCodec(NumberCodec),\n blobIndex: RequiredCodec(NumberCodec),\n blob: RequiredCodec(BytesFromUint8Array),\n kzgCommitment: RequiredCodec(B384),\n kzgProof: RequiredCodec(B384),\n kzgCommitmentInclusionProof: ArrayCodec(B256),\n blobHash: RequiredCodec(B256),\n transactionIndex: RequiredCodec(NumberCodec),\n transactionHash: RequiredCodec(B256),\n});\n\nexport type Blob = CodecType<typeof Blob>;\n\nexport const Signature = MessageCodec({\n r: OptionalCodec(U256),\n s: OptionalCodec(U256),\n v: OptionalCodec(U256),\n YParity: OptionalCodec(BooleanCodec),\n});\n\nexport type Signature = CodecType<typeof Signature>;\n\nexport const AccessListItem = MessageCodec({\n address: RequiredCodec(Address),\n storageKeys: ArrayCodec(B256),\n});\n\nexport type AccessListItem = CodecType<typeof AccessListItem>;\n\nexport const Transaction = MessageCodec({\n filterIds: ArrayCodec(NumberCodec),\n transactionHash: RequiredCodec(B256),\n nonce: RequiredCodec(BigIntCodec),\n transactionIndex: RequiredCodec(NumberCodec),\n from: RequiredCodec(Address),\n to: OptionalCodec(Address),\n value: RequiredCodec(U256),\n gasPrice: OptionalCodec(U128),\n gasLimit: OptionalCodec(U128),\n maxFeePerGas: OptionalCodec(U128),\n maxPriorityFeePerGas: OptionalCodec(U128),\n input: RequiredCodec(BytesFromUint8Array),\n signature: OptionalCodec(Signature),\n chainId: OptionalCodec(BigIntCodec),\n accessList: ArrayCodec(AccessListItem),\n transactionType: RequiredCodec(BigIntCodec),\n maxFeePerBlobGas: OptionalCodec(U128),\n blobVersionedHashes: ArrayCodec(B256),\n});\n\nexport type Transaction = CodecType<typeof Transaction>;\n\nexport const Block = MessageCodec({\n header: RequiredCodec(BlockHeader),\n validators: ArrayCodec(Validator),\n blobs: ArrayCodec(Blob),\n transactions: ArrayCodec(Transaction),\n});\n\nexport type Block = CodecType<typeof Block>;\n\nexport const BlockFromBytes: Codec<Block, Uint8Array> = {\n encode(x) {\n const block = Block.encode(x);\n return proto.data.Block.encode(block).finish();\n },\n decode(p) {\n const block = proto.data.Block.decode(p);\n return Block.decode(block);\n },\n};\n","import {\n ArrayCodec,\n BooleanCodec,\n type Codec,\n type CodecType,\n MessageCodec,\n NumberCodec,\n OptionalCodec,\n} from \"@apibara/protocol/codec\";\nimport { Address, ValidatorStatus } from \"./common\";\nimport * as proto from \"./proto\";\n\n/** Header options.\n *\n * - `always`: receive all block headers.\n * - `on_data`: receive headers only if any other filter matches.\n * - `on_data_or_on_new_block`: receive headers only if any other filter matches and for \"live\" blocks.\n */\nexport const HeaderFilter: Codec<\n \"always\" | \"on_data\" | \"on_data_or_on_new_block\" | \"unknown\",\n proto.filter.HeaderFilter\n> = {\n encode(x) {\n switch (x) {\n case \"always\":\n return proto.filter.HeaderFilter.ALWAYS;\n case \"on_data\":\n return proto.filter.HeaderFilter.ON_DATA;\n case \"on_data_or_on_new_block\":\n return proto.filter.HeaderFilter.ON_DATA_OR_ON_NEW_BLOCK;\n default:\n return proto.filter.HeaderFilter.UNSPECIFIED;\n }\n },\n decode(p) {\n const enumMap = {\n [proto.filter.HeaderFilter.ALWAYS]: \"always\",\n [proto.filter.HeaderFilter.ON_DATA]: \"on_data\",\n [proto.filter.HeaderFilter.ON_DATA_OR_ON_NEW_BLOCK]:\n \"on_data_or_on_new_block\",\n [proto.filter.HeaderFilter.UNSPECIFIED]: \"unknown\",\n [proto.filter.HeaderFilter.UNRECOGNIZED]: \"unknown\",\n } as const;\n return enumMap[p] ?? \"unknown\";\n },\n};\n\nexport type HeaderFilter = CodecType<typeof HeaderFilter>;\n\n/** Filter transactions.\n *\n * @prop from Filter transactions by the sender address.\n * @prop to Filter transactions by the target address.\n * @prop includeBlob Include any blob posted by the transaction..\n */\nexport const TransactionFilter = MessageCodec({\n id: OptionalCodec(NumberCodec),\n from: OptionalCodec(Address),\n to: OptionalCodec(Address),\n create: OptionalCodec(BooleanCodec),\n includeBlob: OptionalCodec(BooleanCodec),\n});\n\nexport type TransactionFilter = CodecType<typeof TransactionFilter>;\n\n/** Filter validators.\n *\n * @prop validatorIndex Filter validators by their index.\n * @prop status Filter validators by their status.\n */\nexport const ValidatorFilter = MessageCodec({\n id: OptionalCodec(NumberCodec),\n validatorIndex: OptionalCodec(NumberCodec),\n status: OptionalCodec(ValidatorStatus),\n});\n\nexport type ValidatorFilter = CodecType<typeof ValidatorFilter>;\n\n/** Filter blobs.\n *\n * @prop includeTransaction Include the transaction that posted the blob.\n */\nexport const BlobFilter = MessageCodec({\n id: OptionalCodec(NumberCodec),\n includeTransaction: OptionalCodec(BooleanCodec),\n});\n\nexport type BlobFilter = CodecType<typeof BlobFilter>;\n\n/** Filter block data.\n *\n * @prop header Change how block headers are returned.\n * @prop validators Filter validators.\n */\nexport const Filter = MessageCodec({\n header: OptionalCodec(HeaderFilter),\n transactions: OptionalCodec(ArrayCodec(TransactionFilter)),\n validators: OptionalCodec(ArrayCodec(ValidatorFilter)),\n blobs: OptionalCodec(ArrayCodec(BlobFilter)),\n});\n\nexport type Filter = CodecType<typeof Filter>;\n\nexport const FilterFromBytes: Codec<Filter, Uint8Array> = {\n encode(value) {\n const filter = Filter.encode(value);\n return proto.filter.Filter.encode(filter).finish();\n },\n decode(value) {\n const filter = proto.filter.Filter.decode(value);\n return Filter.decode(filter);\n },\n};\n\nexport function mergeFilter(a: Filter, b: Filter): Filter {\n const header = mergeHeaderFilter(a.header, b.header);\n return {\n header,\n transactions: [...(a.transactions ?? []), ...(b.transactions ?? [])],\n validators: [...(a.validators ?? []), ...(b.validators ?? [])],\n blobs: [...(a.blobs ?? []), ...(b.blobs ?? [])],\n };\n}\n\nfunction mergeHeaderFilter(\n a?: HeaderFilter,\n b?: HeaderFilter,\n): HeaderFilter | undefined {\n if (a === undefined) {\n return b;\n }\n if (b === undefined) {\n return a;\n }\n\n if (a === \"always\" || b === \"always\") {\n return \"always\";\n }\n\n if (a === \"on_data_or_on_new_block\" || b === \"on_data_or_on_new_block\") {\n return \"on_data_or_on_new_block\";\n }\n\n return \"on_data\";\n}\n","import { StreamConfig } from \"@apibara/protocol\";\nimport { BlockFromBytes } from \"./block\";\nimport { FilterFromBytes, mergeFilter } from \"./filter\";\n\nexport * as proto from \"./proto\";\n\nexport * from \"./common\";\nexport * from \"./filter\";\nexport * from \"./block\";\n\nexport const BeaconChainStream = new StreamConfig(\n FilterFromBytes,\n BlockFromBytes,\n mergeFilter,\n \"beaconchain\",\n);\n"],"names":["protobufPackage","ValidatorStatus","Address","longToBigint","isSet","U256","B256","B384","U128","Block","BlockHeader","Transaction","Validator","Blob","ExecutionPayload","Signature","AccessListItem","HeaderFilter","Filter","TransactionFilter","ValidatorFilter","BlobFilter","proto.common.ValidatorStatus","proto.data.Block","proto.filter.HeaderFilter","proto.filter.Filter"],"mappings":"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"}