@sentio/sdk 1.23.1 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. package/lib/aptos/aptos-processor.d.ts +0 -2
  2. package/lib/aptos/aptos-processor.js +9 -55
  3. package/lib/aptos/aptos-processor.js.map +1 -1
  4. package/lib/aptos/context.d.ts +1 -1
  5. package/lib/aptos/context.js +1 -0
  6. package/lib/aptos/context.js.map +1 -1
  7. package/lib/aptos/index.d.ts +3 -2
  8. package/lib/aptos/index.js +5 -1
  9. package/lib/aptos/index.js.map +1 -1
  10. package/lib/aptos/network.d.ts +3 -1
  11. package/lib/aptos/network.js +8 -3
  12. package/lib/aptos/network.js.map +1 -1
  13. package/lib/aptos/types.d.ts +13 -2
  14. package/lib/aptos/types.js +64 -2
  15. package/lib/aptos/types.js.map +1 -1
  16. package/lib/aptos-codegen/codegen.js +1 -2
  17. package/lib/aptos-codegen/codegen.js.map +1 -1
  18. package/lib/cli/cli.js +5 -5
  19. package/lib/cli/cli.js.map +1 -1
  20. package/lib/cli/commands/run-create.js +31 -11
  21. package/lib/cli/commands/run-create.js.map +1 -1
  22. package/lib/cli/commands/run-login.js +1 -1
  23. package/lib/cli/commands/run-login.js.map +1 -1
  24. package/lib/cli/config.d.ts +0 -1
  25. package/lib/cli/config.js.map +1 -1
  26. package/lib/core/base-processor.js +6 -25
  27. package/lib/core/base-processor.js.map +1 -1
  28. package/lib/core/context.d.ts +7 -5
  29. package/lib/core/context.js +15 -0
  30. package/lib/core/context.js.map +1 -1
  31. package/lib/core/event-tracker.d.ts +22 -0
  32. package/lib/core/event-tracker.js +53 -0
  33. package/lib/core/event-tracker.js.map +1 -0
  34. package/lib/core/index.d.ts +1 -0
  35. package/lib/core/index.js +4 -1
  36. package/lib/core/index.js.map +1 -1
  37. package/lib/core/solana-processor.js +1 -5
  38. package/lib/core/solana-processor.js.map +1 -1
  39. package/lib/core/sui-processor.js +1 -5
  40. package/lib/core/sui-processor.js.map +1 -1
  41. package/lib/gen/processor/protos/processor.d.ts +72 -0
  42. package/lib/gen/processor/protos/processor.js +481 -2
  43. package/lib/gen/processor/protos/processor.js.map +1 -1
  44. package/lib/processor-state.d.ts +4 -0
  45. package/lib/processor-state.js +2 -0
  46. package/lib/processor-state.js.map +1 -1
  47. package/lib/service.d.ts +2 -0
  48. package/lib/service.js +24 -1
  49. package/lib/service.js.map +1 -1
  50. package/lib/tests/erc20.js +3 -0
  51. package/lib/tests/erc20.js.map +1 -1
  52. package/lib/tests/souffl3.js +5 -7
  53. package/lib/tests/souffl3.js.map +1 -1
  54. package/package.json +2 -2
  55. package/src/aptos/aptos-processor.ts +10 -65
  56. package/src/aptos/context.ts +2 -1
  57. package/src/aptos/index.ts +3 -2
  58. package/src/aptos/network.ts +6 -1
  59. package/src/aptos/types.ts +84 -2
  60. package/src/aptos-codegen/codegen.ts +2 -3
  61. package/src/cli/cli.ts +5 -5
  62. package/src/cli/commands/run-create.ts +33 -11
  63. package/src/cli/commands/run-login.ts +1 -1
  64. package/src/cli/config.ts +1 -1
  65. package/src/core/base-processor.ts +5 -25
  66. package/src/core/context.ts +29 -5
  67. package/src/core/event-tracker.ts +66 -0
  68. package/src/core/index.ts +1 -0
  69. package/src/core/solana-processor.ts +1 -5
  70. package/src/core/sui-processor.ts +1 -5
  71. package/src/gen/processor/protos/processor.ts +600 -1
  72. package/src/processor-state.ts +6 -0
  73. package/src/service.ts +28 -1
  74. package/src/tests/erc20.ts +4 -0
  75. package/src/tests/souffl3.ts +5 -7
  76. package/{template → templates/aptos}/.gitignore +0 -0
  77. package/templates/aptos/abis/aptos/souffle.json +389 -0
  78. package/{template → templates/aptos}/jest.config.js +0 -0
  79. package/templates/aptos/package.json +20 -0
  80. package/templates/aptos/sentio.yaml +1 -0
  81. package/templates/aptos/src/processor.test.ts +14 -0
  82. package/templates/aptos/src/processor.ts +13 -0
  83. package/{template → templates/aptos}/tsconfig.json +0 -0
  84. package/templates/evm/.gitignore +107 -0
  85. package/{template → templates/evm}/abis/evm/x2y2.json +0 -0
  86. package/templates/evm/jest.config.js +7 -0
  87. package/{template → templates/evm}/package.json +1 -1
  88. package/{template → templates/evm}/sentio.yaml +0 -0
  89. package/{template → templates/evm}/src/processor.test.ts +0 -0
  90. package/{template → templates/evm}/src/processor.ts +0 -0
  91. package/templates/evm/tsconfig.json +20 -0
  92. package/templates/raw/.gitignore +107 -0
  93. package/templates/raw/jest.config.js +7 -0
  94. package/templates/raw/package.json +20 -0
  95. package/templates/raw/sentio.yaml +3 -0
  96. package/templates/raw/src/processor.test.ts +14 -0
  97. package/templates/raw/src/processor.ts +0 -0
  98. package/templates/raw/tsconfig.json +20 -0
  99. package/templates/raw/yarn.lock +4095 -0
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/gen/processor/protos/processor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable */\nimport { CallContext, CallOptions } from \"nice-grpc-common\";\nimport Long from \"long\";\nimport { Empty } from \"../../google/protobuf/empty\";\nimport _m0 from \"protobufjs/minimal\";\n\nexport enum HandlerType {\n UNKNOWN = 0,\n ETH_LOG = 1,\n BLOCK = 2,\n TRANSACTION = 3,\n INSTRUCTION = 4,\n ETH_TRACE = 5,\n APT_EVENT = 6,\n APT_CALL = 7,\n UNRECOGNIZED = -1,\n}\n\nexport function handlerTypeFromJSON(object: any): HandlerType {\n switch (object) {\n case 0:\n case \"UNKNOWN\":\n return HandlerType.UNKNOWN;\n case 1:\n case \"ETH_LOG\":\n return HandlerType.ETH_LOG;\n case 2:\n case \"BLOCK\":\n return HandlerType.BLOCK;\n case 3:\n case \"TRANSACTION\":\n return HandlerType.TRANSACTION;\n case 4:\n case \"INSTRUCTION\":\n return HandlerType.INSTRUCTION;\n case 5:\n case \"ETH_TRACE\":\n return HandlerType.ETH_TRACE;\n case 6:\n case \"APT_EVENT\":\n return HandlerType.APT_EVENT;\n case 7:\n case \"APT_CALL\":\n return HandlerType.APT_CALL;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return HandlerType.UNRECOGNIZED;\n }\n}\n\nexport function handlerTypeToJSON(object: HandlerType): string {\n switch (object) {\n case HandlerType.UNKNOWN:\n return \"UNKNOWN\";\n case HandlerType.ETH_LOG:\n return \"ETH_LOG\";\n case HandlerType.BLOCK:\n return \"BLOCK\";\n case HandlerType.TRANSACTION:\n return \"TRANSACTION\";\n case HandlerType.INSTRUCTION:\n return \"INSTRUCTION\";\n case HandlerType.ETH_TRACE:\n return \"ETH_TRACE\";\n case HandlerType.APT_EVENT:\n return \"APT_EVENT\";\n case HandlerType.APT_CALL:\n return \"APT_CALL\";\n case HandlerType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum LogLevel {\n DEBUG = 0,\n INFO = 1,\n WARNING = 2,\n ERROR = 3,\n CRITICAL = 4,\n UNRECOGNIZED = -1,\n}\n\nexport function logLevelFromJSON(object: any): LogLevel {\n switch (object) {\n case 0:\n case \"DEBUG\":\n return LogLevel.DEBUG;\n case 1:\n case \"INFO\":\n return LogLevel.INFO;\n case 2:\n case \"WARNING\":\n return LogLevel.WARNING;\n case 3:\n case \"ERROR\":\n return LogLevel.ERROR;\n case 4:\n case \"CRITICAL\":\n return LogLevel.CRITICAL;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return LogLevel.UNRECOGNIZED;\n }\n}\n\nexport function logLevelToJSON(object: LogLevel): string {\n switch (object) {\n case LogLevel.DEBUG:\n return \"DEBUG\";\n case LogLevel.INFO:\n return \"INFO\";\n case LogLevel.WARNING:\n return \"WARNING\";\n case LogLevel.ERROR:\n return \"ERROR\";\n case LogLevel.CRITICAL:\n return \"CRITICAL\";\n case LogLevel.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface ProjectConfig {\n name: string;\n version: string;\n}\n\nexport interface ProcessConfigRequest {}\n\nexport interface ProcessConfigResponse {\n config: ProjectConfig | undefined;\n contractConfigs: ContractConfig[];\n templateInstances: TemplateInstance[];\n accountConfigs: AccountConfig[];\n}\n\nexport interface ContractConfig {\n contract: ContractInfo | undefined;\n blockConfigs: BlockHandlerConfig[];\n logConfigs: LogHandlerConfig[];\n traceConfigs: TraceHandlerConfig[];\n aptosEventConfigs: AptosEventHandlerConfig[];\n aptosCallConfigs: AptosCallHandlerConfig[];\n instructionConfig: InstructionHandlerConfig | undefined;\n startBlock: Long;\n endBlock: Long;\n processorType: string;\n}\n\nexport interface AccountConfig {}\n\nexport interface ContractInfo {\n name: string;\n chainId: string;\n address: string;\n abi: string;\n}\n\nexport interface TemplateInstance {\n contract: ContractInfo | undefined;\n startBlock: Long;\n endBlock: Long;\n templateId: number;\n}\n\nexport interface StartRequest {\n templateInstances: TemplateInstance[];\n}\n\nexport interface BlockHandlerConfig {\n handlerId: number;\n}\n\nexport interface TraceHandlerConfig {\n signature: string;\n handlerId: number;\n}\n\nexport interface LogHandlerConfig {\n filters: LogFilter[];\n handlerId: number;\n}\n\nexport interface LogFilter {\n topics: Topic[];\n}\n\nexport interface InstructionHandlerConfig {\n innerInstruction: boolean;\n parsedInstruction: boolean;\n rawDataInstruction: boolean;\n}\n\nexport interface AptosEventHandlerConfig {\n filters: AptosEventFilter[];\n handlerId: number;\n}\n\nexport interface AptosEventFilter {\n type: string;\n account: string;\n}\n\nexport interface AptosCallHandlerConfig {\n filters: AptosCallFilter[];\n handlerId: number;\n}\n\nexport interface AptosCallFilter {\n function: string;\n typeArguments: string[];\n withTypeArguments: boolean;\n includeFailed: boolean;\n}\n\nexport interface Topic {\n hashes: string[];\n}\n\nexport interface ProcessTransactionsRequest {\n chainId: string;\n transactions: RawTransaction[];\n}\n\nexport interface ProcessInstructionsRequest {\n instructions: Instruction[];\n}\n\nexport interface ProcessBlocksRequest {\n blockBindings: BlockBinding[];\n}\n\nexport interface ProcessBindingsRequest {\n bindings: DataBinding[];\n}\n\nexport interface ProcessBindingResponse {\n result: ProcessResult | undefined;\n configUpdated: boolean;\n}\n\nexport interface RawTransaction {\n raw: Uint8Array;\n programAccountId?: string | undefined;\n slot?: Long | undefined;\n}\n\nexport interface Instruction {\n instructionData: string;\n slot: Long;\n programAccountId: string;\n accounts: string[];\n parsed?: Uint8Array | undefined;\n}\n\nexport interface Data {\n raw: Uint8Array;\n}\n\nexport interface DataBinding {\n data: Data | undefined;\n handlerId: number;\n handlerType: HandlerType;\n}\n\nexport interface BlockBinding {\n block: RawBlock | undefined;\n handlerIds: number[];\n}\n\nexport interface RawBlock {\n raw: Uint8Array;\n}\n\nexport interface ProcessResult {\n gauges: GaugeResult[];\n counters: CounterResult[];\n logs: LogResult[];\n}\n\nexport interface DataDescriptor {\n name: string;\n description: string;\n unit: string;\n sparse: boolean;\n}\n\nexport interface RecordMetaData {\n address: string;\n contractName: string;\n blockNumber: Long;\n transactionHash: string;\n chainId: string;\n transactionIndex: number;\n logIndex: number;\n dataDescriptor: DataDescriptor | undefined;\n labels: { [key: string]: string };\n}\n\nexport interface RecordMetaData_LabelsEntry {\n key: string;\n value: string;\n}\n\nexport interface MetricValue {\n bigDecimal: string | undefined;\n doubleValue: number | undefined;\n bigInteger: BigInteger | undefined;\n}\n\nexport interface BigInteger {\n negative: boolean;\n data: Uint8Array;\n}\n\nexport interface RuntimeInfo {\n from: HandlerType;\n}\n\nexport interface GaugeResult {\n metadata: RecordMetaData | undefined;\n metricValue: MetricValue | undefined;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nexport interface CounterResult {\n metadata: RecordMetaData | undefined;\n metricValue: MetricValue | undefined;\n add: boolean;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nexport interface LogResult {\n metadata: RecordMetaData | undefined;\n level: LogLevel;\n message: string;\n attributes: string;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nfunction createBaseProjectConfig(): ProjectConfig {\n return { name: \"\", version: \"\" };\n}\n\nexport const ProjectConfig = {\n encode(\n message: ProjectConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.version !== \"\") {\n writer.uint32(26).string(message.version);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProjectConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProjectConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 3:\n message.version = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProjectConfig {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n version: isSet(object.version) ? String(object.version) : \"\",\n };\n },\n\n toJSON(message: ProjectConfig): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.version !== undefined && (obj.version = message.version);\n return obj;\n },\n\n fromPartial(object: DeepPartial<ProjectConfig>): ProjectConfig {\n const message = createBaseProjectConfig();\n message.name = object.name ?? \"\";\n message.version = object.version ?? \"\";\n return message;\n },\n};\n\nfunction createBaseProcessConfigRequest(): ProcessConfigRequest {\n return {};\n}\n\nexport const ProcessConfigRequest = {\n encode(\n _: ProcessConfigRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessConfigRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessConfigRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(_: any): ProcessConfigRequest {\n return {};\n },\n\n toJSON(_: ProcessConfigRequest): unknown {\n const obj: any = {};\n return obj;\n },\n\n fromPartial(_: DeepPartial<ProcessConfigRequest>): ProcessConfigRequest {\n const message = createBaseProcessConfigRequest();\n return message;\n },\n};\n\nfunction createBaseProcessConfigResponse(): ProcessConfigResponse {\n return {\n config: undefined,\n contractConfigs: [],\n templateInstances: [],\n accountConfigs: [],\n };\n}\n\nexport const ProcessConfigResponse = {\n encode(\n message: ProcessConfigResponse,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.config !== undefined) {\n ProjectConfig.encode(message.config, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.contractConfigs) {\n ContractConfig.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.templateInstances) {\n TemplateInstance.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.accountConfigs) {\n AccountConfig.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessConfigResponse {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessConfigResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.config = ProjectConfig.decode(reader, reader.uint32());\n break;\n case 2:\n message.contractConfigs.push(\n ContractConfig.decode(reader, reader.uint32())\n );\n break;\n case 3:\n message.templateInstances.push(\n TemplateInstance.decode(reader, reader.uint32())\n );\n break;\n case 4:\n message.accountConfigs.push(\n AccountConfig.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessConfigResponse {\n return {\n config: isSet(object.config)\n ? ProjectConfig.fromJSON(object.config)\n : undefined,\n contractConfigs: Array.isArray(object?.contractConfigs)\n ? object.contractConfigs.map((e: any) => ContractConfig.fromJSON(e))\n : [],\n templateInstances: Array.isArray(object?.templateInstances)\n ? object.templateInstances.map((e: any) => TemplateInstance.fromJSON(e))\n : [],\n accountConfigs: Array.isArray(object?.accountConfigs)\n ? object.accountConfigs.map((e: any) => AccountConfig.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessConfigResponse): unknown {\n const obj: any = {};\n message.config !== undefined &&\n (obj.config = message.config\n ? ProjectConfig.toJSON(message.config)\n : undefined);\n if (message.contractConfigs) {\n obj.contractConfigs = message.contractConfigs.map((e) =>\n e ? ContractConfig.toJSON(e) : undefined\n );\n } else {\n obj.contractConfigs = [];\n }\n if (message.templateInstances) {\n obj.templateInstances = message.templateInstances.map((e) =>\n e ? TemplateInstance.toJSON(e) : undefined\n );\n } else {\n obj.templateInstances = [];\n }\n if (message.accountConfigs) {\n obj.accountConfigs = message.accountConfigs.map((e) =>\n e ? AccountConfig.toJSON(e) : undefined\n );\n } else {\n obj.accountConfigs = [];\n }\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessConfigResponse>\n ): ProcessConfigResponse {\n const message = createBaseProcessConfigResponse();\n message.config =\n object.config !== undefined && object.config !== null\n ? ProjectConfig.fromPartial(object.config)\n : undefined;\n message.contractConfigs =\n object.contractConfigs?.map((e) => ContractConfig.fromPartial(e)) || [];\n message.templateInstances =\n object.templateInstances?.map((e) => TemplateInstance.fromPartial(e)) ||\n [];\n message.accountConfigs =\n object.accountConfigs?.map((e) => AccountConfig.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseContractConfig(): ContractConfig {\n return {\n contract: undefined,\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n instructionConfig: undefined,\n startBlock: Long.UZERO,\n endBlock: Long.UZERO,\n processorType: \"\",\n };\n}\n\nexport const ContractConfig = {\n encode(\n message: ContractConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.contract !== undefined) {\n ContractInfo.encode(message.contract, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.blockConfigs) {\n BlockHandlerConfig.encode(v!, writer.uint32(58).fork()).ldelim();\n }\n for (const v of message.logConfigs) {\n LogHandlerConfig.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.traceConfigs) {\n TraceHandlerConfig.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.aptosEventConfigs) {\n AptosEventHandlerConfig.encode(v!, writer.uint32(74).fork()).ldelim();\n }\n for (const v of message.aptosCallConfigs) {\n AptosCallHandlerConfig.encode(v!, writer.uint32(82).fork()).ldelim();\n }\n if (message.instructionConfig !== undefined) {\n InstructionHandlerConfig.encode(\n message.instructionConfig,\n writer.uint32(50).fork()\n ).ldelim();\n }\n if (!message.startBlock.isZero()) {\n writer.uint32(32).uint64(message.startBlock);\n }\n if (!message.endBlock.isZero()) {\n writer.uint32(40).uint64(message.endBlock);\n }\n if (message.processorType !== \"\") {\n writer.uint32(66).string(message.processorType);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ContractConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContractConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.contract = ContractInfo.decode(reader, reader.uint32());\n break;\n case 7:\n message.blockConfigs.push(\n BlockHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 3:\n message.logConfigs.push(\n LogHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 2:\n message.traceConfigs.push(\n TraceHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 9:\n message.aptosEventConfigs.push(\n AptosEventHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 10:\n message.aptosCallConfigs.push(\n AptosCallHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 6:\n message.instructionConfig = InstructionHandlerConfig.decode(\n reader,\n reader.uint32()\n );\n break;\n case 4:\n message.startBlock = reader.uint64() as Long;\n break;\n case 5:\n message.endBlock = reader.uint64() as Long;\n break;\n case 8:\n message.processorType = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ContractConfig {\n return {\n contract: isSet(object.contract)\n ? ContractInfo.fromJSON(object.contract)\n : undefined,\n blockConfigs: Array.isArray(object?.blockConfigs)\n ? object.blockConfigs.map((e: any) => BlockHandlerConfig.fromJSON(e))\n : [],\n logConfigs: Array.isArray(object?.logConfigs)\n ? object.logConfigs.map((e: any) => LogHandlerConfig.fromJSON(e))\n : [],\n traceConfigs: Array.isArray(object?.traceConfigs)\n ? object.traceConfigs.map((e: any) => TraceHandlerConfig.fromJSON(e))\n : [],\n aptosEventConfigs: Array.isArray(object?.aptosEventConfigs)\n ? object.aptosEventConfigs.map((e: any) =>\n AptosEventHandlerConfig.fromJSON(e)\n )\n : [],\n aptosCallConfigs: Array.isArray(object?.aptosCallConfigs)\n ? object.aptosCallConfigs.map((e: any) =>\n AptosCallHandlerConfig.fromJSON(e)\n )\n : [],\n instructionConfig: isSet(object.instructionConfig)\n ? InstructionHandlerConfig.fromJSON(object.instructionConfig)\n : undefined,\n startBlock: isSet(object.startBlock)\n ? Long.fromValue(object.startBlock)\n : Long.UZERO,\n endBlock: isSet(object.endBlock)\n ? Long.fromValue(object.endBlock)\n : Long.UZERO,\n processorType: isSet(object.processorType)\n ? String(object.processorType)\n : \"\",\n };\n },\n\n toJSON(message: ContractConfig): unknown {\n const obj: any = {};\n message.contract !== undefined &&\n (obj.contract = message.contract\n ? ContractInfo.toJSON(message.contract)\n : undefined);\n if (message.blockConfigs) {\n obj.blockConfigs = message.blockConfigs.map((e) =>\n e ? BlockHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.blockConfigs = [];\n }\n if (message.logConfigs) {\n obj.logConfigs = message.logConfigs.map((e) =>\n e ? LogHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.logConfigs = [];\n }\n if (message.traceConfigs) {\n obj.traceConfigs = message.traceConfigs.map((e) =>\n e ? TraceHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.traceConfigs = [];\n }\n if (message.aptosEventConfigs) {\n obj.aptosEventConfigs = message.aptosEventConfigs.map((e) =>\n e ? AptosEventHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.aptosEventConfigs = [];\n }\n if (message.aptosCallConfigs) {\n obj.aptosCallConfigs = message.aptosCallConfigs.map((e) =>\n e ? AptosCallHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.aptosCallConfigs = [];\n }\n message.instructionConfig !== undefined &&\n (obj.instructionConfig = message.instructionConfig\n ? InstructionHandlerConfig.toJSON(message.instructionConfig)\n : undefined);\n message.startBlock !== undefined &&\n (obj.startBlock = (message.startBlock || Long.UZERO).toString());\n message.endBlock !== undefined &&\n (obj.endBlock = (message.endBlock || Long.UZERO).toString());\n message.processorType !== undefined &&\n (obj.processorType = message.processorType);\n return obj;\n },\n\n fromPartial(object: DeepPartial<ContractConfig>): ContractConfig {\n const message = createBaseContractConfig();\n message.contract =\n object.contract !== undefined && object.contract !== null\n ? ContractInfo.fromPartial(object.contract)\n : undefined;\n message.blockConfigs =\n object.blockConfigs?.map((e) => BlockHandlerConfig.fromPartial(e)) || [];\n message.logConfigs =\n object.logConfigs?.map((e) => LogHandlerConfig.fromPartial(e)) || [];\n message.traceConfigs =\n object.traceConfigs?.map((e) => TraceHandlerConfig.fromPartial(e)) || [];\n message.aptosEventConfigs =\n object.aptosEventConfigs?.map((e) =>\n AptosEventHandlerConfig.fromPartial(e)\n ) || [];\n message.aptosCallConfigs =\n object.aptosCallConfigs?.map((e) =>\n AptosCallHandlerConfig.fromPartial(e)\n ) || [];\n message.instructionConfig =\n object.instructionConfig !== undefined &&\n object.instructionConfig !== null\n ? InstructionHandlerConfig.fromPartial(object.instructionConfig)\n : undefined;\n message.startBlock =\n object.startBlock !== undefined && object.startBlock !== null\n ? Long.fromValue(object.startBlock)\n : Long.UZERO;\n message.endBlock =\n object.endBlock !== undefined && object.endBlock !== null\n ? Long.fromValue(object.endBlock)\n : Long.UZERO;\n message.processorType = object.processorType ?? \"\";\n return message;\n },\n};\n\nfunction createBaseAccountConfig(): AccountConfig {\n return {};\n}\n\nexport const AccountConfig = {\n encode(\n _: AccountConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AccountConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAccountConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(_: any): AccountConfig {\n return {};\n },\n\n toJSON(_: AccountConfig): unknown {\n const obj: any = {};\n return obj;\n },\n\n fromPartial(_: DeepPartial<AccountConfig>): AccountConfig {\n const message = createBaseAccountConfig();\n return message;\n },\n};\n\nfunction createBaseContractInfo(): ContractInfo {\n return { name: \"\", chainId: \"\", address: \"\", abi: \"\" };\n}\n\nexport const ContractInfo = {\n encode(\n message: ContractInfo,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.chainId !== \"\") {\n writer.uint32(18).string(message.chainId);\n }\n if (message.address !== \"\") {\n writer.uint32(26).string(message.address);\n }\n if (message.abi !== \"\") {\n writer.uint32(34).string(message.abi);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ContractInfo {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContractInfo();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 2:\n message.chainId = reader.string();\n break;\n case 3:\n message.address = reader.string();\n break;\n case 4:\n message.abi = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ContractInfo {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n address: isSet(object.address) ? String(object.address) : \"\",\n abi: isSet(object.abi) ? String(object.abi) : \"\",\n };\n },\n\n toJSON(message: ContractInfo): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.address !== undefined && (obj.address = message.address);\n message.abi !== undefined && (obj.abi = message.abi);\n return obj;\n },\n\n fromPartial(object: DeepPartial<ContractInfo>): ContractInfo {\n const message = createBaseContractInfo();\n message.name = object.name ?? \"\";\n message.chainId = object.chainId ?? \"\";\n message.address = object.address ?? \"\";\n message.abi = object.abi ?? \"\";\n return message;\n },\n};\n\nfunction createBaseTemplateInstance(): TemplateInstance {\n return {\n contract: undefined,\n startBlock: Long.UZERO,\n endBlock: Long.UZERO,\n templateId: 0,\n };\n}\n\nexport const TemplateInstance = {\n encode(\n message: TemplateInstance,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.contract !== undefined) {\n ContractInfo.encode(message.contract, writer.uint32(10).fork()).ldelim();\n }\n if (!message.startBlock.isZero()) {\n writer.uint32(16).uint64(message.startBlock);\n }\n if (!message.endBlock.isZero()) {\n writer.uint32(24).uint64(message.endBlock);\n }\n if (message.templateId !== 0) {\n writer.uint32(32).int32(message.templateId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TemplateInstance {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTemplateInstance();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.contract = ContractInfo.decode(reader, reader.uint32());\n break;\n case 2:\n message.startBlock = reader.uint64() as Long;\n break;\n case 3:\n message.endBlock = reader.uint64() as Long;\n break;\n case 4:\n message.templateId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TemplateInstance {\n return {\n contract: isSet(object.contract)\n ? ContractInfo.fromJSON(object.contract)\n : undefined,\n startBlock: isSet(object.startBlock)\n ? Long.fromValue(object.startBlock)\n : Long.UZERO,\n endBlock: isSet(object.endBlock)\n ? Long.fromValue(object.endBlock)\n : Long.UZERO,\n templateId: isSet(object.templateId) ? Number(object.templateId) : 0,\n };\n },\n\n toJSON(message: TemplateInstance): unknown {\n const obj: any = {};\n message.contract !== undefined &&\n (obj.contract = message.contract\n ? ContractInfo.toJSON(message.contract)\n : undefined);\n message.startBlock !== undefined &&\n (obj.startBlock = (message.startBlock || Long.UZERO).toString());\n message.endBlock !== undefined &&\n (obj.endBlock = (message.endBlock || Long.UZERO).toString());\n message.templateId !== undefined &&\n (obj.templateId = Math.round(message.templateId));\n return obj;\n },\n\n fromPartial(object: DeepPartial<TemplateInstance>): TemplateInstance {\n const message = createBaseTemplateInstance();\n message.contract =\n object.contract !== undefined && object.contract !== null\n ? ContractInfo.fromPartial(object.contract)\n : undefined;\n message.startBlock =\n object.startBlock !== undefined && object.startBlock !== null\n ? Long.fromValue(object.startBlock)\n : Long.UZERO;\n message.endBlock =\n object.endBlock !== undefined && object.endBlock !== null\n ? Long.fromValue(object.endBlock)\n : Long.UZERO;\n message.templateId = object.templateId ?? 0;\n return message;\n },\n};\n\nfunction createBaseStartRequest(): StartRequest {\n return { templateInstances: [] };\n}\n\nexport const StartRequest = {\n encode(\n message: StartRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.templateInstances) {\n TemplateInstance.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): StartRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseStartRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.templateInstances.push(\n TemplateInstance.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): StartRequest {\n return {\n templateInstances: Array.isArray(object?.templateInstances)\n ? object.templateInstances.map((e: any) => TemplateInstance.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: StartRequest): unknown {\n const obj: any = {};\n if (message.templateInstances) {\n obj.templateInstances = message.templateInstances.map((e) =>\n e ? TemplateInstance.toJSON(e) : undefined\n );\n } else {\n obj.templateInstances = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<StartRequest>): StartRequest {\n const message = createBaseStartRequest();\n message.templateInstances =\n object.templateInstances?.map((e) => TemplateInstance.fromPartial(e)) ||\n [];\n return message;\n },\n};\n\nfunction createBaseBlockHandlerConfig(): BlockHandlerConfig {\n return { handlerId: 0 };\n}\n\nexport const BlockHandlerConfig = {\n encode(\n message: BlockHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.handlerId !== 0) {\n writer.uint32(8).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BlockHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlockHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BlockHandlerConfig {\n return {\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: BlockHandlerConfig): unknown {\n const obj: any = {};\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(object: DeepPartial<BlockHandlerConfig>): BlockHandlerConfig {\n const message = createBaseBlockHandlerConfig();\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseTraceHandlerConfig(): TraceHandlerConfig {\n return { signature: \"\", handlerId: 0 };\n}\n\nexport const TraceHandlerConfig = {\n encode(\n message: TraceHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.signature !== \"\") {\n writer.uint32(10).string(message.signature);\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TraceHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTraceHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.signature = reader.string();\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TraceHandlerConfig {\n return {\n signature: isSet(object.signature) ? String(object.signature) : \"\",\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: TraceHandlerConfig): unknown {\n const obj: any = {};\n message.signature !== undefined && (obj.signature = message.signature);\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(object: DeepPartial<TraceHandlerConfig>): TraceHandlerConfig {\n const message = createBaseTraceHandlerConfig();\n message.signature = object.signature ?? \"\";\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseLogHandlerConfig(): LogHandlerConfig {\n return { filters: [], handlerId: 0 };\n}\n\nexport const LogHandlerConfig = {\n encode(\n message: LogHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.filters) {\n LogFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(LogFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogHandlerConfig {\n return {\n filters: Array.isArray(object?.filters)\n ? object.filters.map((e: any) => LogFilter.fromJSON(e))\n : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: LogHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) =>\n e ? LogFilter.toJSON(e) : undefined\n );\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(object: DeepPartial<LogHandlerConfig>): LogHandlerConfig {\n const message = createBaseLogHandlerConfig();\n message.filters =\n object.filters?.map((e) => LogFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseLogFilter(): LogFilter {\n return { topics: [] };\n}\n\nexport const LogFilter = {\n encode(\n message: LogFilter,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.topics) {\n Topic.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.topics.push(Topic.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogFilter {\n return {\n topics: Array.isArray(object?.topics)\n ? object.topics.map((e: any) => Topic.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: LogFilter): unknown {\n const obj: any = {};\n if (message.topics) {\n obj.topics = message.topics.map((e) => (e ? Topic.toJSON(e) : undefined));\n } else {\n obj.topics = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<LogFilter>): LogFilter {\n const message = createBaseLogFilter();\n message.topics = object.topics?.map((e) => Topic.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseInstructionHandlerConfig(): InstructionHandlerConfig {\n return {\n innerInstruction: false,\n parsedInstruction: false,\n rawDataInstruction: false,\n };\n}\n\nexport const InstructionHandlerConfig = {\n encode(\n message: InstructionHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.innerInstruction === true) {\n writer.uint32(8).bool(message.innerInstruction);\n }\n if (message.parsedInstruction === true) {\n writer.uint32(16).bool(message.parsedInstruction);\n }\n if (message.rawDataInstruction === true) {\n writer.uint32(24).bool(message.rawDataInstruction);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): InstructionHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInstructionHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.innerInstruction = reader.bool();\n break;\n case 2:\n message.parsedInstruction = reader.bool();\n break;\n case 3:\n message.rawDataInstruction = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): InstructionHandlerConfig {\n return {\n innerInstruction: isSet(object.innerInstruction)\n ? Boolean(object.innerInstruction)\n : false,\n parsedInstruction: isSet(object.parsedInstruction)\n ? Boolean(object.parsedInstruction)\n : false,\n rawDataInstruction: isSet(object.rawDataInstruction)\n ? Boolean(object.rawDataInstruction)\n : false,\n };\n },\n\n toJSON(message: InstructionHandlerConfig): unknown {\n const obj: any = {};\n message.innerInstruction !== undefined &&\n (obj.innerInstruction = message.innerInstruction);\n message.parsedInstruction !== undefined &&\n (obj.parsedInstruction = message.parsedInstruction);\n message.rawDataInstruction !== undefined &&\n (obj.rawDataInstruction = message.rawDataInstruction);\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<InstructionHandlerConfig>\n ): InstructionHandlerConfig {\n const message = createBaseInstructionHandlerConfig();\n message.innerInstruction = object.innerInstruction ?? false;\n message.parsedInstruction = object.parsedInstruction ?? false;\n message.rawDataInstruction = object.rawDataInstruction ?? false;\n return message;\n },\n};\n\nfunction createBaseAptosEventHandlerConfig(): AptosEventHandlerConfig {\n return { filters: [], handlerId: 0 };\n}\n\nexport const AptosEventHandlerConfig = {\n encode(\n message: AptosEventHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.filters) {\n AptosEventFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): AptosEventHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosEventHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(\n AptosEventFilter.decode(reader, reader.uint32())\n );\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosEventHandlerConfig {\n return {\n filters: Array.isArray(object?.filters)\n ? object.filters.map((e: any) => AptosEventFilter.fromJSON(e))\n : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: AptosEventHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) =>\n e ? AptosEventFilter.toJSON(e) : undefined\n );\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<AptosEventHandlerConfig>\n ): AptosEventHandlerConfig {\n const message = createBaseAptosEventHandlerConfig();\n message.filters =\n object.filters?.map((e) => AptosEventFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseAptosEventFilter(): AptosEventFilter {\n return { type: \"\", account: \"\" };\n}\n\nexport const AptosEventFilter = {\n encode(\n message: AptosEventFilter,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.type !== \"\") {\n writer.uint32(10).string(message.type);\n }\n if (message.account !== \"\") {\n writer.uint32(18).string(message.account);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AptosEventFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosEventFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.type = reader.string();\n break;\n case 2:\n message.account = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosEventFilter {\n return {\n type: isSet(object.type) ? String(object.type) : \"\",\n account: isSet(object.account) ? String(object.account) : \"\",\n };\n },\n\n toJSON(message: AptosEventFilter): unknown {\n const obj: any = {};\n message.type !== undefined && (obj.type = message.type);\n message.account !== undefined && (obj.account = message.account);\n return obj;\n },\n\n fromPartial(object: DeepPartial<AptosEventFilter>): AptosEventFilter {\n const message = createBaseAptosEventFilter();\n message.type = object.type ?? \"\";\n message.account = object.account ?? \"\";\n return message;\n },\n};\n\nfunction createBaseAptosCallHandlerConfig(): AptosCallHandlerConfig {\n return { filters: [], handlerId: 0 };\n}\n\nexport const AptosCallHandlerConfig = {\n encode(\n message: AptosCallHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.filters) {\n AptosCallFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): AptosCallHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosCallHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(AptosCallFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosCallHandlerConfig {\n return {\n filters: Array.isArray(object?.filters)\n ? object.filters.map((e: any) => AptosCallFilter.fromJSON(e))\n : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: AptosCallHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) =>\n e ? AptosCallFilter.toJSON(e) : undefined\n );\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<AptosCallHandlerConfig>\n ): AptosCallHandlerConfig {\n const message = createBaseAptosCallHandlerConfig();\n message.filters =\n object.filters?.map((e) => AptosCallFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseAptosCallFilter(): AptosCallFilter {\n return {\n function: \"\",\n typeArguments: [],\n withTypeArguments: false,\n includeFailed: false,\n };\n}\n\nexport const AptosCallFilter = {\n encode(\n message: AptosCallFilter,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.function !== \"\") {\n writer.uint32(10).string(message.function);\n }\n for (const v of message.typeArguments) {\n writer.uint32(18).string(v!);\n }\n if (message.withTypeArguments === true) {\n writer.uint32(24).bool(message.withTypeArguments);\n }\n if (message.includeFailed === true) {\n writer.uint32(32).bool(message.includeFailed);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AptosCallFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosCallFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.function = reader.string();\n break;\n case 2:\n message.typeArguments.push(reader.string());\n break;\n case 3:\n message.withTypeArguments = reader.bool();\n break;\n case 4:\n message.includeFailed = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosCallFilter {\n return {\n function: isSet(object.function) ? String(object.function) : \"\",\n typeArguments: Array.isArray(object?.typeArguments)\n ? object.typeArguments.map((e: any) => String(e))\n : [],\n withTypeArguments: isSet(object.withTypeArguments)\n ? Boolean(object.withTypeArguments)\n : false,\n includeFailed: isSet(object.includeFailed)\n ? Boolean(object.includeFailed)\n : false,\n };\n },\n\n toJSON(message: AptosCallFilter): unknown {\n const obj: any = {};\n message.function !== undefined && (obj.function = message.function);\n if (message.typeArguments) {\n obj.typeArguments = message.typeArguments.map((e) => e);\n } else {\n obj.typeArguments = [];\n }\n message.withTypeArguments !== undefined &&\n (obj.withTypeArguments = message.withTypeArguments);\n message.includeFailed !== undefined &&\n (obj.includeFailed = message.includeFailed);\n return obj;\n },\n\n fromPartial(object: DeepPartial<AptosCallFilter>): AptosCallFilter {\n const message = createBaseAptosCallFilter();\n message.function = object.function ?? \"\";\n message.typeArguments = object.typeArguments?.map((e) => e) || [];\n message.withTypeArguments = object.withTypeArguments ?? false;\n message.includeFailed = object.includeFailed ?? false;\n return message;\n },\n};\n\nfunction createBaseTopic(): Topic {\n return { hashes: [] };\n}\n\nexport const Topic = {\n encode(message: Topic, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.hashes) {\n writer.uint32(10).string(v!);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Topic {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTopic();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.hashes.push(reader.string());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Topic {\n return {\n hashes: Array.isArray(object?.hashes)\n ? object.hashes.map((e: any) => String(e))\n : [],\n };\n },\n\n toJSON(message: Topic): unknown {\n const obj: any = {};\n if (message.hashes) {\n obj.hashes = message.hashes.map((e) => e);\n } else {\n obj.hashes = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<Topic>): Topic {\n const message = createBaseTopic();\n message.hashes = object.hashes?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseProcessTransactionsRequest(): ProcessTransactionsRequest {\n return { chainId: \"\", transactions: [] };\n}\n\nexport const ProcessTransactionsRequest = {\n encode(\n message: ProcessTransactionsRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.chainId !== \"\") {\n writer.uint32(10).string(message.chainId);\n }\n for (const v of message.transactions) {\n RawTransaction.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessTransactionsRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessTransactionsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.chainId = reader.string();\n break;\n case 2:\n message.transactions.push(\n RawTransaction.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessTransactionsRequest {\n return {\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n transactions: Array.isArray(object?.transactions)\n ? object.transactions.map((e: any) => RawTransaction.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessTransactionsRequest): unknown {\n const obj: any = {};\n message.chainId !== undefined && (obj.chainId = message.chainId);\n if (message.transactions) {\n obj.transactions = message.transactions.map((e) =>\n e ? RawTransaction.toJSON(e) : undefined\n );\n } else {\n obj.transactions = [];\n }\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessTransactionsRequest>\n ): ProcessTransactionsRequest {\n const message = createBaseProcessTransactionsRequest();\n message.chainId = object.chainId ?? \"\";\n message.transactions =\n object.transactions?.map((e) => RawTransaction.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessInstructionsRequest(): ProcessInstructionsRequest {\n return { instructions: [] };\n}\n\nexport const ProcessInstructionsRequest = {\n encode(\n message: ProcessInstructionsRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.instructions) {\n Instruction.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessInstructionsRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessInstructionsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.instructions.push(\n Instruction.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessInstructionsRequest {\n return {\n instructions: Array.isArray(object?.instructions)\n ? object.instructions.map((e: any) => Instruction.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessInstructionsRequest): unknown {\n const obj: any = {};\n if (message.instructions) {\n obj.instructions = message.instructions.map((e) =>\n e ? Instruction.toJSON(e) : undefined\n );\n } else {\n obj.instructions = [];\n }\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessInstructionsRequest>\n ): ProcessInstructionsRequest {\n const message = createBaseProcessInstructionsRequest();\n message.instructions =\n object.instructions?.map((e) => Instruction.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBlocksRequest(): ProcessBlocksRequest {\n return { blockBindings: [] };\n}\n\nexport const ProcessBlocksRequest = {\n encode(\n message: ProcessBlocksRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.blockBindings) {\n BlockBinding.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessBlocksRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBlocksRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.blockBindings.push(\n BlockBinding.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBlocksRequest {\n return {\n blockBindings: Array.isArray(object?.blockBindings)\n ? object.blockBindings.map((e: any) => BlockBinding.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessBlocksRequest): unknown {\n const obj: any = {};\n if (message.blockBindings) {\n obj.blockBindings = message.blockBindings.map((e) =>\n e ? BlockBinding.toJSON(e) : undefined\n );\n } else {\n obj.blockBindings = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<ProcessBlocksRequest>): ProcessBlocksRequest {\n const message = createBaseProcessBlocksRequest();\n message.blockBindings =\n object.blockBindings?.map((e) => BlockBinding.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBindingsRequest(): ProcessBindingsRequest {\n return { bindings: [] };\n}\n\nexport const ProcessBindingsRequest = {\n encode(\n message: ProcessBindingsRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.bindings) {\n DataBinding.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessBindingsRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBindingsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.bindings.push(DataBinding.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBindingsRequest {\n return {\n bindings: Array.isArray(object?.bindings)\n ? object.bindings.map((e: any) => DataBinding.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessBindingsRequest): unknown {\n const obj: any = {};\n if (message.bindings) {\n obj.bindings = message.bindings.map((e) =>\n e ? DataBinding.toJSON(e) : undefined\n );\n } else {\n obj.bindings = [];\n }\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessBindingsRequest>\n ): ProcessBindingsRequest {\n const message = createBaseProcessBindingsRequest();\n message.bindings =\n object.bindings?.map((e) => DataBinding.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBindingResponse(): ProcessBindingResponse {\n return { result: undefined, configUpdated: false };\n}\n\nexport const ProcessBindingResponse = {\n encode(\n message: ProcessBindingResponse,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.result !== undefined) {\n ProcessResult.encode(message.result, writer.uint32(10).fork()).ldelim();\n }\n if (message.configUpdated === true) {\n writer.uint32(32).bool(message.configUpdated);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessBindingResponse {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBindingResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.result = ProcessResult.decode(reader, reader.uint32());\n break;\n case 4:\n message.configUpdated = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBindingResponse {\n return {\n result: isSet(object.result)\n ? ProcessResult.fromJSON(object.result)\n : undefined,\n configUpdated: isSet(object.configUpdated)\n ? Boolean(object.configUpdated)\n : false,\n };\n },\n\n toJSON(message: ProcessBindingResponse): unknown {\n const obj: any = {};\n message.result !== undefined &&\n (obj.result = message.result\n ? ProcessResult.toJSON(message.result)\n : undefined);\n message.configUpdated !== undefined &&\n (obj.configUpdated = message.configUpdated);\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessBindingResponse>\n ): ProcessBindingResponse {\n const message = createBaseProcessBindingResponse();\n message.result =\n object.result !== undefined && object.result !== null\n ? ProcessResult.fromPartial(object.result)\n : undefined;\n message.configUpdated = object.configUpdated ?? false;\n return message;\n },\n};\n\nfunction createBaseRawTransaction(): RawTransaction {\n return {\n raw: new Uint8Array(),\n programAccountId: undefined,\n slot: undefined,\n };\n}\n\nexport const RawTransaction = {\n encode(\n message: RawTransaction,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.raw.length !== 0) {\n writer.uint32(10).bytes(message.raw);\n }\n if (message.programAccountId !== undefined) {\n writer.uint32(18).string(message.programAccountId);\n }\n if (message.slot !== undefined) {\n writer.uint32(24).uint64(message.slot);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RawTransaction {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRawTransaction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.raw = reader.bytes();\n break;\n case 2:\n message.programAccountId = reader.string();\n break;\n case 3:\n message.slot = reader.uint64() as Long;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RawTransaction {\n return {\n raw: isSet(object.raw) ? bytesFromBase64(object.raw) : new Uint8Array(),\n programAccountId: isSet(object.programAccountId)\n ? String(object.programAccountId)\n : undefined,\n slot: isSet(object.slot) ? Long.fromValue(object.slot) : undefined,\n };\n },\n\n toJSON(message: RawTransaction): unknown {\n const obj: any = {};\n message.raw !== undefined &&\n (obj.raw = base64FromBytes(\n message.raw !== undefined ? message.raw : new Uint8Array()\n ));\n message.programAccountId !== undefined &&\n (obj.programAccountId = message.programAccountId);\n message.slot !== undefined &&\n (obj.slot = (message.slot || undefined).toString());\n return obj;\n },\n\n fromPartial(object: DeepPartial<RawTransaction>): RawTransaction {\n const message = createBaseRawTransaction();\n message.raw = object.raw ?? new Uint8Array();\n message.programAccountId = object.programAccountId ?? undefined;\n message.slot =\n object.slot !== undefined && object.slot !== null\n ? Long.fromValue(object.slot)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseInstruction(): Instruction {\n return {\n instructionData: \"\",\n slot: Long.UZERO,\n programAccountId: \"\",\n accounts: [],\n parsed: undefined,\n };\n}\n\nexport const Instruction = {\n encode(\n message: Instruction,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.instructionData !== \"\") {\n writer.uint32(10).string(message.instructionData);\n }\n if (!message.slot.isZero()) {\n writer.uint32(16).uint64(message.slot);\n }\n if (message.programAccountId !== \"\") {\n writer.uint32(26).string(message.programAccountId);\n }\n for (const v of message.accounts) {\n writer.uint32(42).string(v!);\n }\n if (message.parsed !== undefined) {\n writer.uint32(34).bytes(message.parsed);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Instruction {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInstruction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.instructionData = reader.string();\n break;\n case 2:\n message.slot = reader.uint64() as Long;\n break;\n case 3:\n message.programAccountId = reader.string();\n break;\n case 5:\n message.accounts.push(reader.string());\n break;\n case 4:\n message.parsed = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Instruction {\n return {\n instructionData: isSet(object.instructionData)\n ? String(object.instructionData)\n : \"\",\n slot: isSet(object.slot) ? Long.fromValue(object.slot) : Long.UZERO,\n programAccountId: isSet(object.programAccountId)\n ? String(object.programAccountId)\n : \"\",\n accounts: Array.isArray(object?.accounts)\n ? object.accounts.map((e: any) => String(e))\n : [],\n parsed: isSet(object.parsed) ? bytesFromBase64(object.parsed) : undefined,\n };\n },\n\n toJSON(message: Instruction): unknown {\n const obj: any = {};\n message.instructionData !== undefined &&\n (obj.instructionData = message.instructionData);\n message.slot !== undefined &&\n (obj.slot = (message.slot || Long.UZERO).toString());\n message.programAccountId !== undefined &&\n (obj.programAccountId = message.programAccountId);\n if (message.accounts) {\n obj.accounts = message.accounts.map((e) => e);\n } else {\n obj.accounts = [];\n }\n message.parsed !== undefined &&\n (obj.parsed =\n message.parsed !== undefined\n ? base64FromBytes(message.parsed)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<Instruction>): Instruction {\n const message = createBaseInstruction();\n message.instructionData = object.instructionData ?? \"\";\n message.slot =\n object.slot !== undefined && object.slot !== null\n ? Long.fromValue(object.slot)\n : Long.UZERO;\n message.programAccountId = object.programAccountId ?? \"\";\n message.accounts = object.accounts?.map((e) => e) || [];\n message.parsed = object.parsed ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData(): Data {\n return { raw: new Uint8Array() };\n}\n\nexport const Data = {\n encode(message: Data, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.raw.length !== 0) {\n writer.uint32(10).bytes(message.raw);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.raw = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data {\n return {\n raw: isSet(object.raw) ? bytesFromBase64(object.raw) : new Uint8Array(),\n };\n },\n\n toJSON(message: Data): unknown {\n const obj: any = {};\n message.raw !== undefined &&\n (obj.raw = base64FromBytes(\n message.raw !== undefined ? message.raw : new Uint8Array()\n ));\n return obj;\n },\n\n fromPartial(object: DeepPartial<Data>): Data {\n const message = createBaseData();\n message.raw = object.raw ?? new Uint8Array();\n return message;\n },\n};\n\nfunction createBaseDataBinding(): DataBinding {\n return { data: undefined, handlerId: 0, handlerType: 0 };\n}\n\nexport const DataBinding = {\n encode(\n message: DataBinding,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.data !== undefined) {\n Data.encode(message.data, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.handlerType !== 0) {\n writer.uint32(24).int32(message.handlerType);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DataBinding {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDataBinding();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.data = Data.decode(reader, reader.uint32());\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.handlerType = reader.int32() as any;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): DataBinding {\n return {\n data: isSet(object.data) ? Data.fromJSON(object.data) : undefined,\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n handlerType: isSet(object.handlerType)\n ? handlerTypeFromJSON(object.handlerType)\n : 0,\n };\n },\n\n toJSON(message: DataBinding): unknown {\n const obj: any = {};\n message.data !== undefined &&\n (obj.data = message.data ? Data.toJSON(message.data) : undefined);\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n message.handlerType !== undefined &&\n (obj.handlerType = handlerTypeToJSON(message.handlerType));\n return obj;\n },\n\n fromPartial(object: DeepPartial<DataBinding>): DataBinding {\n const message = createBaseDataBinding();\n message.data =\n object.data !== undefined && object.data !== null\n ? Data.fromPartial(object.data)\n : undefined;\n message.handlerId = object.handlerId ?? 0;\n message.handlerType = object.handlerType ?? 0;\n return message;\n },\n};\n\nfunction createBaseBlockBinding(): BlockBinding {\n return { block: undefined, handlerIds: [] };\n}\n\nexport const BlockBinding = {\n encode(\n message: BlockBinding,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.block !== undefined) {\n RawBlock.encode(message.block, writer.uint32(10).fork()).ldelim();\n }\n writer.uint32(18).fork();\n for (const v of message.handlerIds) {\n writer.int32(v);\n }\n writer.ldelim();\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BlockBinding {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlockBinding();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.block = RawBlock.decode(reader, reader.uint32());\n break;\n case 2:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.handlerIds.push(reader.int32());\n }\n } else {\n message.handlerIds.push(reader.int32());\n }\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BlockBinding {\n return {\n block: isSet(object.block) ? RawBlock.fromJSON(object.block) : undefined,\n handlerIds: Array.isArray(object?.handlerIds)\n ? object.handlerIds.map((e: any) => Number(e))\n : [],\n };\n },\n\n toJSON(message: BlockBinding): unknown {\n const obj: any = {};\n message.block !== undefined &&\n (obj.block = message.block ? RawBlock.toJSON(message.block) : undefined);\n if (message.handlerIds) {\n obj.handlerIds = message.handlerIds.map((e) => Math.round(e));\n } else {\n obj.handlerIds = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<BlockBinding>): BlockBinding {\n const message = createBaseBlockBinding();\n message.block =\n object.block !== undefined && object.block !== null\n ? RawBlock.fromPartial(object.block)\n : undefined;\n message.handlerIds = object.handlerIds?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseRawBlock(): RawBlock {\n return { raw: new Uint8Array() };\n}\n\nexport const RawBlock = {\n encode(\n message: RawBlock,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.raw.length !== 0) {\n writer.uint32(10).bytes(message.raw);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RawBlock {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRawBlock();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.raw = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RawBlock {\n return {\n raw: isSet(object.raw) ? bytesFromBase64(object.raw) : new Uint8Array(),\n };\n },\n\n toJSON(message: RawBlock): unknown {\n const obj: any = {};\n message.raw !== undefined &&\n (obj.raw = base64FromBytes(\n message.raw !== undefined ? message.raw : new Uint8Array()\n ));\n return obj;\n },\n\n fromPartial(object: DeepPartial<RawBlock>): RawBlock {\n const message = createBaseRawBlock();\n message.raw = object.raw ?? new Uint8Array();\n return message;\n },\n};\n\nfunction createBaseProcessResult(): ProcessResult {\n return { gauges: [], counters: [], logs: [] };\n}\n\nexport const ProcessResult = {\n encode(\n message: ProcessResult,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.gauges) {\n GaugeResult.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.counters) {\n CounterResult.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.logs) {\n LogResult.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.gauges.push(GaugeResult.decode(reader, reader.uint32()));\n break;\n case 2:\n message.counters.push(CounterResult.decode(reader, reader.uint32()));\n break;\n case 3:\n message.logs.push(LogResult.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessResult {\n return {\n gauges: Array.isArray(object?.gauges)\n ? object.gauges.map((e: any) => GaugeResult.fromJSON(e))\n : [],\n counters: Array.isArray(object?.counters)\n ? object.counters.map((e: any) => CounterResult.fromJSON(e))\n : [],\n logs: Array.isArray(object?.logs)\n ? object.logs.map((e: any) => LogResult.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessResult): unknown {\n const obj: any = {};\n if (message.gauges) {\n obj.gauges = message.gauges.map((e) =>\n e ? GaugeResult.toJSON(e) : undefined\n );\n } else {\n obj.gauges = [];\n }\n if (message.counters) {\n obj.counters = message.counters.map((e) =>\n e ? CounterResult.toJSON(e) : undefined\n );\n } else {\n obj.counters = [];\n }\n if (message.logs) {\n obj.logs = message.logs.map((e) => (e ? LogResult.toJSON(e) : undefined));\n } else {\n obj.logs = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<ProcessResult>): ProcessResult {\n const message = createBaseProcessResult();\n message.gauges =\n object.gauges?.map((e) => GaugeResult.fromPartial(e)) || [];\n message.counters =\n object.counters?.map((e) => CounterResult.fromPartial(e)) || [];\n message.logs = object.logs?.map((e) => LogResult.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseDataDescriptor(): DataDescriptor {\n return { name: \"\", description: \"\", unit: \"\", sparse: false };\n}\n\nexport const DataDescriptor = {\n encode(\n message: DataDescriptor,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.description !== \"\") {\n writer.uint32(26).string(message.description);\n }\n if (message.unit !== \"\") {\n writer.uint32(18).string(message.unit);\n }\n if (message.sparse === true) {\n writer.uint32(32).bool(message.sparse);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DataDescriptor {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDataDescriptor();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 3:\n message.description = reader.string();\n break;\n case 2:\n message.unit = reader.string();\n break;\n case 4:\n message.sparse = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): DataDescriptor {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n description: isSet(object.description) ? String(object.description) : \"\",\n unit: isSet(object.unit) ? String(object.unit) : \"\",\n sparse: isSet(object.sparse) ? Boolean(object.sparse) : false,\n };\n },\n\n toJSON(message: DataDescriptor): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.description !== undefined &&\n (obj.description = message.description);\n message.unit !== undefined && (obj.unit = message.unit);\n message.sparse !== undefined && (obj.sparse = message.sparse);\n return obj;\n },\n\n fromPartial(object: DeepPartial<DataDescriptor>): DataDescriptor {\n const message = createBaseDataDescriptor();\n message.name = object.name ?? \"\";\n message.description = object.description ?? \"\";\n message.unit = object.unit ?? \"\";\n message.sparse = object.sparse ?? false;\n return message;\n },\n};\n\nfunction createBaseRecordMetaData(): RecordMetaData {\n return {\n address: \"\",\n contractName: \"\",\n blockNumber: Long.UZERO,\n transactionHash: \"\",\n chainId: \"\",\n transactionIndex: 0,\n logIndex: 0,\n dataDescriptor: undefined,\n labels: {},\n };\n}\n\nexport const RecordMetaData = {\n encode(\n message: RecordMetaData,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n if (message.contractName !== \"\") {\n writer.uint32(74).string(message.contractName);\n }\n if (!message.blockNumber.isZero()) {\n writer.uint32(16).uint64(message.blockNumber);\n }\n if (message.transactionHash !== \"\") {\n writer.uint32(50).string(message.transactionHash);\n }\n if (message.chainId !== \"\") {\n writer.uint32(42).string(message.chainId);\n }\n if (message.transactionIndex !== 0) {\n writer.uint32(24).int32(message.transactionIndex);\n }\n if (message.logIndex !== 0) {\n writer.uint32(32).int32(message.logIndex);\n }\n if (message.dataDescriptor !== undefined) {\n DataDescriptor.encode(\n message.dataDescriptor,\n writer.uint32(66).fork()\n ).ldelim();\n }\n Object.entries(message.labels).forEach(([key, value]) => {\n RecordMetaData_LabelsEntry.encode(\n { key: key as any, value },\n writer.uint32(58).fork()\n ).ldelim();\n });\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RecordMetaData {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecordMetaData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.address = reader.string();\n break;\n case 9:\n message.contractName = reader.string();\n break;\n case 2:\n message.blockNumber = reader.uint64() as Long;\n break;\n case 6:\n message.transactionHash = reader.string();\n break;\n case 5:\n message.chainId = reader.string();\n break;\n case 3:\n message.transactionIndex = reader.int32();\n break;\n case 4:\n message.logIndex = reader.int32();\n break;\n case 8:\n message.dataDescriptor = DataDescriptor.decode(\n reader,\n reader.uint32()\n );\n break;\n case 7:\n const entry7 = RecordMetaData_LabelsEntry.decode(\n reader,\n reader.uint32()\n );\n if (entry7.value !== undefined) {\n message.labels[entry7.key] = entry7.value;\n }\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RecordMetaData {\n return {\n address: isSet(object.address) ? String(object.address) : \"\",\n contractName: isSet(object.contractName)\n ? String(object.contractName)\n : \"\",\n blockNumber: isSet(object.blockNumber)\n ? Long.fromValue(object.blockNumber)\n : Long.UZERO,\n transactionHash: isSet(object.transactionHash)\n ? String(object.transactionHash)\n : \"\",\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n transactionIndex: isSet(object.transactionIndex)\n ? Number(object.transactionIndex)\n : 0,\n logIndex: isSet(object.logIndex) ? Number(object.logIndex) : 0,\n dataDescriptor: isSet(object.dataDescriptor)\n ? DataDescriptor.fromJSON(object.dataDescriptor)\n : undefined,\n labels: isObject(object.labels)\n ? Object.entries(object.labels).reduce<{ [key: string]: string }>(\n (acc, [key, value]) => {\n acc[key] = String(value);\n return acc;\n },\n {}\n )\n : {},\n };\n },\n\n toJSON(message: RecordMetaData): unknown {\n const obj: any = {};\n message.address !== undefined && (obj.address = message.address);\n message.contractName !== undefined &&\n (obj.contractName = message.contractName);\n message.blockNumber !== undefined &&\n (obj.blockNumber = (message.blockNumber || Long.UZERO).toString());\n message.transactionHash !== undefined &&\n (obj.transactionHash = message.transactionHash);\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.transactionIndex !== undefined &&\n (obj.transactionIndex = Math.round(message.transactionIndex));\n message.logIndex !== undefined &&\n (obj.logIndex = Math.round(message.logIndex));\n message.dataDescriptor !== undefined &&\n (obj.dataDescriptor = message.dataDescriptor\n ? DataDescriptor.toJSON(message.dataDescriptor)\n : undefined);\n obj.labels = {};\n if (message.labels) {\n Object.entries(message.labels).forEach(([k, v]) => {\n obj.labels[k] = v;\n });\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<RecordMetaData>): RecordMetaData {\n const message = createBaseRecordMetaData();\n message.address = object.address ?? \"\";\n message.contractName = object.contractName ?? \"\";\n message.blockNumber =\n object.blockNumber !== undefined && object.blockNumber !== null\n ? Long.fromValue(object.blockNumber)\n : Long.UZERO;\n message.transactionHash = object.transactionHash ?? \"\";\n message.chainId = object.chainId ?? \"\";\n message.transactionIndex = object.transactionIndex ?? 0;\n message.logIndex = object.logIndex ?? 0;\n message.dataDescriptor =\n object.dataDescriptor !== undefined && object.dataDescriptor !== null\n ? DataDescriptor.fromPartial(object.dataDescriptor)\n : undefined;\n message.labels = Object.entries(object.labels ?? {}).reduce<{\n [key: string]: string;\n }>((acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = String(value);\n }\n return acc;\n }, {});\n return message;\n },\n};\n\nfunction createBaseRecordMetaData_LabelsEntry(): RecordMetaData_LabelsEntry {\n return { key: \"\", value: \"\" };\n}\n\nexport const RecordMetaData_LabelsEntry = {\n encode(\n message: RecordMetaData_LabelsEntry,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): RecordMetaData_LabelsEntry {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecordMetaData_LabelsEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.key = reader.string();\n break;\n case 2:\n message.value = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RecordMetaData_LabelsEntry {\n return {\n key: isSet(object.key) ? String(object.key) : \"\",\n value: isSet(object.value) ? String(object.value) : \"\",\n };\n },\n\n toJSON(message: RecordMetaData_LabelsEntry): unknown {\n const obj: any = {};\n message.key !== undefined && (obj.key = message.key);\n message.value !== undefined && (obj.value = message.value);\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<RecordMetaData_LabelsEntry>\n ): RecordMetaData_LabelsEntry {\n const message = createBaseRecordMetaData_LabelsEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMetricValue(): MetricValue {\n return {\n bigDecimal: undefined,\n doubleValue: undefined,\n bigInteger: undefined,\n };\n}\n\nexport const MetricValue = {\n encode(\n message: MetricValue,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.bigDecimal !== undefined) {\n writer.uint32(10).string(message.bigDecimal);\n }\n if (message.doubleValue !== undefined) {\n writer.uint32(17).double(message.doubleValue);\n }\n if (message.bigInteger !== undefined) {\n BigInteger.encode(message.bigInteger, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MetricValue {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMetricValue();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.bigDecimal = reader.string();\n break;\n case 2:\n message.doubleValue = reader.double();\n break;\n case 3:\n message.bigInteger = BigInteger.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MetricValue {\n return {\n bigDecimal: isSet(object.bigDecimal)\n ? String(object.bigDecimal)\n : undefined,\n doubleValue: isSet(object.doubleValue)\n ? Number(object.doubleValue)\n : undefined,\n bigInteger: isSet(object.bigInteger)\n ? BigInteger.fromJSON(object.bigInteger)\n : undefined,\n };\n },\n\n toJSON(message: MetricValue): unknown {\n const obj: any = {};\n message.bigDecimal !== undefined && (obj.bigDecimal = message.bigDecimal);\n message.doubleValue !== undefined &&\n (obj.doubleValue = message.doubleValue);\n message.bigInteger !== undefined &&\n (obj.bigInteger = message.bigInteger\n ? BigInteger.toJSON(message.bigInteger)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<MetricValue>): MetricValue {\n const message = createBaseMetricValue();\n message.bigDecimal = object.bigDecimal ?? undefined;\n message.doubleValue = object.doubleValue ?? undefined;\n message.bigInteger =\n object.bigInteger !== undefined && object.bigInteger !== null\n ? BigInteger.fromPartial(object.bigInteger)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseBigInteger(): BigInteger {\n return { negative: false, data: new Uint8Array() };\n}\n\nexport const BigInteger = {\n encode(\n message: BigInteger,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.negative === true) {\n writer.uint32(8).bool(message.negative);\n }\n if (message.data.length !== 0) {\n writer.uint32(18).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BigInteger {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBigInteger();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.negative = reader.bool();\n break;\n case 2:\n message.data = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BigInteger {\n return {\n negative: isSet(object.negative) ? Boolean(object.negative) : false,\n data: isSet(object.data)\n ? bytesFromBase64(object.data)\n : new Uint8Array(),\n };\n },\n\n toJSON(message: BigInteger): unknown {\n const obj: any = {};\n message.negative !== undefined && (obj.negative = message.negative);\n message.data !== undefined &&\n (obj.data = base64FromBytes(\n message.data !== undefined ? message.data : new Uint8Array()\n ));\n return obj;\n },\n\n fromPartial(object: DeepPartial<BigInteger>): BigInteger {\n const message = createBaseBigInteger();\n message.negative = object.negative ?? false;\n message.data = object.data ?? new Uint8Array();\n return message;\n },\n};\n\nfunction createBaseRuntimeInfo(): RuntimeInfo {\n return { from: 0 };\n}\n\nexport const RuntimeInfo = {\n encode(\n message: RuntimeInfo,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.from !== 0) {\n writer.uint32(8).int32(message.from);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RuntimeInfo {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRuntimeInfo();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.from = reader.int32() as any;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RuntimeInfo {\n return {\n from: isSet(object.from) ? handlerTypeFromJSON(object.from) : 0,\n };\n },\n\n toJSON(message: RuntimeInfo): unknown {\n const obj: any = {};\n message.from !== undefined && (obj.from = handlerTypeToJSON(message.from));\n return obj;\n },\n\n fromPartial(object: DeepPartial<RuntimeInfo>): RuntimeInfo {\n const message = createBaseRuntimeInfo();\n message.from = object.from ?? 0;\n return message;\n },\n};\n\nfunction createBaseGaugeResult(): GaugeResult {\n return {\n metadata: undefined,\n metricValue: undefined,\n runtimeInfo: undefined,\n };\n}\n\nexport const GaugeResult = {\n encode(\n message: GaugeResult,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(\n message.metadata,\n writer.uint32(10).fork()\n ).ldelim();\n }\n if (message.metricValue !== undefined) {\n MetricValue.encode(\n message.metricValue,\n writer.uint32(18).fork()\n ).ldelim();\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(\n message.runtimeInfo,\n writer.uint32(26).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GaugeResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGaugeResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.metricValue = MetricValue.decode(reader, reader.uint32());\n break;\n case 3:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): GaugeResult {\n return {\n metadata: isSet(object.metadata)\n ? RecordMetaData.fromJSON(object.metadata)\n : undefined,\n metricValue: isSet(object.metricValue)\n ? MetricValue.fromJSON(object.metricValue)\n : undefined,\n runtimeInfo: isSet(object.runtimeInfo)\n ? RuntimeInfo.fromJSON(object.runtimeInfo)\n : undefined,\n };\n },\n\n toJSON(message: GaugeResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata\n ? RecordMetaData.toJSON(message.metadata)\n : undefined);\n message.metricValue !== undefined &&\n (obj.metricValue = message.metricValue\n ? MetricValue.toJSON(message.metricValue)\n : undefined);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo\n ? RuntimeInfo.toJSON(message.runtimeInfo)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<GaugeResult>): GaugeResult {\n const message = createBaseGaugeResult();\n message.metadata =\n object.metadata !== undefined && object.metadata !== null\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.metricValue =\n object.metricValue !== undefined && object.metricValue !== null\n ? MetricValue.fromPartial(object.metricValue)\n : undefined;\n message.runtimeInfo =\n object.runtimeInfo !== undefined && object.runtimeInfo !== null\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseCounterResult(): CounterResult {\n return {\n metadata: undefined,\n metricValue: undefined,\n add: false,\n runtimeInfo: undefined,\n };\n}\n\nexport const CounterResult = {\n encode(\n message: CounterResult,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(\n message.metadata,\n writer.uint32(10).fork()\n ).ldelim();\n }\n if (message.metricValue !== undefined) {\n MetricValue.encode(\n message.metricValue,\n writer.uint32(18).fork()\n ).ldelim();\n }\n if (message.add === true) {\n writer.uint32(24).bool(message.add);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(\n message.runtimeInfo,\n writer.uint32(34).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): CounterResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCounterResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.metricValue = MetricValue.decode(reader, reader.uint32());\n break;\n case 3:\n message.add = reader.bool();\n break;\n case 4:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): CounterResult {\n return {\n metadata: isSet(object.metadata)\n ? RecordMetaData.fromJSON(object.metadata)\n : undefined,\n metricValue: isSet(object.metricValue)\n ? MetricValue.fromJSON(object.metricValue)\n : undefined,\n add: isSet(object.add) ? Boolean(object.add) : false,\n runtimeInfo: isSet(object.runtimeInfo)\n ? RuntimeInfo.fromJSON(object.runtimeInfo)\n : undefined,\n };\n },\n\n toJSON(message: CounterResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata\n ? RecordMetaData.toJSON(message.metadata)\n : undefined);\n message.metricValue !== undefined &&\n (obj.metricValue = message.metricValue\n ? MetricValue.toJSON(message.metricValue)\n : undefined);\n message.add !== undefined && (obj.add = message.add);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo\n ? RuntimeInfo.toJSON(message.runtimeInfo)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<CounterResult>): CounterResult {\n const message = createBaseCounterResult();\n message.metadata =\n object.metadata !== undefined && object.metadata !== null\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.metricValue =\n object.metricValue !== undefined && object.metricValue !== null\n ? MetricValue.fromPartial(object.metricValue)\n : undefined;\n message.add = object.add ?? false;\n message.runtimeInfo =\n object.runtimeInfo !== undefined && object.runtimeInfo !== null\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseLogResult(): LogResult {\n return {\n metadata: undefined,\n level: 0,\n message: \"\",\n attributes: \"\",\n runtimeInfo: undefined,\n };\n}\n\nexport const LogResult = {\n encode(\n message: LogResult,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(\n message.metadata,\n writer.uint32(10).fork()\n ).ldelim();\n }\n if (message.level !== 0) {\n writer.uint32(16).int32(message.level);\n }\n if (message.message !== \"\") {\n writer.uint32(26).string(message.message);\n }\n if (message.attributes !== \"\") {\n writer.uint32(50).string(message.attributes);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(\n message.runtimeInfo,\n writer.uint32(34).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.level = reader.int32() as any;\n break;\n case 3:\n message.message = reader.string();\n break;\n case 6:\n message.attributes = reader.string();\n break;\n case 4:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogResult {\n return {\n metadata: isSet(object.metadata)\n ? RecordMetaData.fromJSON(object.metadata)\n : undefined,\n level: isSet(object.level) ? logLevelFromJSON(object.level) : 0,\n message: isSet(object.message) ? String(object.message) : \"\",\n attributes: isSet(object.attributes) ? String(object.attributes) : \"\",\n runtimeInfo: isSet(object.runtimeInfo)\n ? RuntimeInfo.fromJSON(object.runtimeInfo)\n : undefined,\n };\n },\n\n toJSON(message: LogResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata\n ? RecordMetaData.toJSON(message.metadata)\n : undefined);\n message.level !== undefined && (obj.level = logLevelToJSON(message.level));\n message.message !== undefined && (obj.message = message.message);\n message.attributes !== undefined && (obj.attributes = message.attributes);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo\n ? RuntimeInfo.toJSON(message.runtimeInfo)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<LogResult>): LogResult {\n const message = createBaseLogResult();\n message.metadata =\n object.metadata !== undefined && object.metadata !== null\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.level = object.level ?? 0;\n message.message = object.message ?? \"\";\n message.attributes = object.attributes ?? \"\";\n message.runtimeInfo =\n object.runtimeInfo !== undefined && object.runtimeInfo !== null\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nexport type ProcessorDefinition = typeof ProcessorDefinition;\nexport const ProcessorDefinition = {\n name: \"Processor\",\n fullName: \"processor.Processor\",\n methods: {\n start: {\n name: \"Start\",\n requestType: StartRequest,\n requestStream: false,\n responseType: Empty,\n responseStream: false,\n options: {},\n },\n stop: {\n name: \"Stop\",\n requestType: Empty,\n requestStream: false,\n responseType: Empty,\n responseStream: false,\n options: {},\n },\n getConfig: {\n name: \"GetConfig\",\n requestType: ProcessConfigRequest,\n requestStream: false,\n responseType: ProcessConfigResponse,\n responseStream: false,\n options: {},\n },\n processLogs: {\n name: \"ProcessLogs\",\n requestType: ProcessBindingsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processTraces: {\n name: \"ProcessTraces\",\n requestType: ProcessBindingsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processTransactions: {\n name: \"ProcessTransactions\",\n requestType: ProcessTransactionsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processInstructions: {\n name: \"ProcessInstructions\",\n requestType: ProcessInstructionsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processBlocks: {\n name: \"ProcessBlocks\",\n requestType: ProcessBlocksRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processBindings: {\n name: \"ProcessBindings\",\n requestType: ProcessBindingsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\nexport interface ProcessorServiceImplementation<CallContextExt = {}> {\n start(\n request: StartRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<Empty>>;\n stop(\n request: Empty,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<Empty>>;\n getConfig(\n request: ProcessConfigRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessConfigResponse>>;\n processLogs(\n request: ProcessBindingsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processTraces(\n request: ProcessBindingsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processTransactions(\n request: ProcessTransactionsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processInstructions(\n request: ProcessInstructionsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processBlocks(\n request: ProcessBlocksRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processBindings(\n request: ProcessBindingsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n}\n\nexport interface ProcessorClient<CallOptionsExt = {}> {\n start(\n request: DeepPartial<StartRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<Empty>;\n stop(\n request: DeepPartial<Empty>,\n options?: CallOptions & CallOptionsExt\n ): Promise<Empty>;\n getConfig(\n request: DeepPartial<ProcessConfigRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessConfigResponse>;\n processLogs(\n request: DeepPartial<ProcessBindingsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processTraces(\n request: DeepPartial<ProcessBindingsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processTransactions(\n request: DeepPartial<ProcessTransactionsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processInstructions(\n request: DeepPartial<ProcessInstructionsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processBlocks(\n request: DeepPartial<ProcessBlocksRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processBindings(\n request: DeepPartial<ProcessBindingsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n}\n\ndeclare var self: any | undefined;\ndeclare var window: any | undefined;\ndeclare var global: any | undefined;\nvar globalThis: any = (() => {\n if (typeof globalThis !== \"undefined\") return globalThis;\n if (typeof self !== \"undefined\") return self;\n if (typeof window !== \"undefined\") return window;\n if (typeof global !== \"undefined\") return global;\n throw \"Unable to locate global object\";\n})();\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if (globalThis.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.Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin =\n | Date\n | Function\n | Uint8Array\n | string\n | number\n | boolean\n | undefined;\n\ntype DeepPartial<T> = T extends Builtin\n ? T\n : T extends Long\n ? string | number | Long\n : T extends Array<infer U>\n ? Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : T extends {}\n ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n\nfunction isObject(value: any): boolean {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n"]}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/gen/processor/protos/processor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable */\nimport { CallContext, CallOptions } from \"nice-grpc-common\";\nimport Long from \"long\";\nimport { Empty } from \"../../google/protobuf/empty\";\nimport _m0 from \"protobufjs/minimal\";\n\nexport enum HandlerType {\n UNKNOWN = 0,\n ETH_LOG = 1,\n BLOCK = 2,\n TRANSACTION = 3,\n INSTRUCTION = 4,\n ETH_TRACE = 5,\n APT_EVENT = 6,\n APT_CALL = 7,\n UNRECOGNIZED = -1,\n}\n\nexport function handlerTypeFromJSON(object: any): HandlerType {\n switch (object) {\n case 0:\n case \"UNKNOWN\":\n return HandlerType.UNKNOWN;\n case 1:\n case \"ETH_LOG\":\n return HandlerType.ETH_LOG;\n case 2:\n case \"BLOCK\":\n return HandlerType.BLOCK;\n case 3:\n case \"TRANSACTION\":\n return HandlerType.TRANSACTION;\n case 4:\n case \"INSTRUCTION\":\n return HandlerType.INSTRUCTION;\n case 5:\n case \"ETH_TRACE\":\n return HandlerType.ETH_TRACE;\n case 6:\n case \"APT_EVENT\":\n return HandlerType.APT_EVENT;\n case 7:\n case \"APT_CALL\":\n return HandlerType.APT_CALL;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return HandlerType.UNRECOGNIZED;\n }\n}\n\nexport function handlerTypeToJSON(object: HandlerType): string {\n switch (object) {\n case HandlerType.UNKNOWN:\n return \"UNKNOWN\";\n case HandlerType.ETH_LOG:\n return \"ETH_LOG\";\n case HandlerType.BLOCK:\n return \"BLOCK\";\n case HandlerType.TRANSACTION:\n return \"TRANSACTION\";\n case HandlerType.INSTRUCTION:\n return \"INSTRUCTION\";\n case HandlerType.ETH_TRACE:\n return \"ETH_TRACE\";\n case HandlerType.APT_EVENT:\n return \"APT_EVENT\";\n case HandlerType.APT_CALL:\n return \"APT_CALL\";\n case HandlerType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport enum LogLevel {\n DEBUG = 0,\n INFO = 1,\n WARNING = 2,\n ERROR = 3,\n CRITICAL = 4,\n UNRECOGNIZED = -1,\n}\n\nexport function logLevelFromJSON(object: any): LogLevel {\n switch (object) {\n case 0:\n case \"DEBUG\":\n return LogLevel.DEBUG;\n case 1:\n case \"INFO\":\n return LogLevel.INFO;\n case 2:\n case \"WARNING\":\n return LogLevel.WARNING;\n case 3:\n case \"ERROR\":\n return LogLevel.ERROR;\n case 4:\n case \"CRITICAL\":\n return LogLevel.CRITICAL;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return LogLevel.UNRECOGNIZED;\n }\n}\n\nexport function logLevelToJSON(object: LogLevel): string {\n switch (object) {\n case LogLevel.DEBUG:\n return \"DEBUG\";\n case LogLevel.INFO:\n return \"INFO\";\n case LogLevel.WARNING:\n return \"WARNING\";\n case LogLevel.ERROR:\n return \"ERROR\";\n case LogLevel.CRITICAL:\n return \"CRITICAL\";\n case LogLevel.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface ProjectConfig {\n name: string;\n version: string;\n}\n\nexport interface ProcessConfigRequest {}\n\nexport interface ProcessConfigResponse {\n config: ProjectConfig | undefined;\n contractConfigs: ContractConfig[];\n templateInstances: TemplateInstance[];\n accountConfigs: AccountConfig[];\n metricConfigs: MetricConfig[];\n eventTrackingConfigs: EventTrackingConfig[];\n}\n\nexport interface ContractConfig {\n contract: ContractInfo | undefined;\n blockConfigs: BlockHandlerConfig[];\n logConfigs: LogHandlerConfig[];\n traceConfigs: TraceHandlerConfig[];\n aptosEventConfigs: AptosEventHandlerConfig[];\n aptosCallConfigs: AptosCallHandlerConfig[];\n instructionConfig: InstructionHandlerConfig | undefined;\n startBlock: Long;\n endBlock: Long;\n processorType: string;\n}\n\nexport interface TotalPerEntityAggregation {}\n\nexport enum TotalPerEntityAggregation_Type {\n AVG = 0,\n MEDIAN = 1,\n UNRECOGNIZED = -1,\n}\n\nexport function totalPerEntityAggregation_TypeFromJSON(\n object: any\n): TotalPerEntityAggregation_Type {\n switch (object) {\n case 0:\n case \"AVG\":\n return TotalPerEntityAggregation_Type.AVG;\n case 1:\n case \"MEDIAN\":\n return TotalPerEntityAggregation_Type.MEDIAN;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return TotalPerEntityAggregation_Type.UNRECOGNIZED;\n }\n}\n\nexport function totalPerEntityAggregation_TypeToJSON(\n object: TotalPerEntityAggregation_Type\n): string {\n switch (object) {\n case TotalPerEntityAggregation_Type.AVG:\n return \"AVG\";\n case TotalPerEntityAggregation_Type.MEDIAN:\n return \"MEDIAN\";\n case TotalPerEntityAggregation_Type.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface RetentionConfig {\n retentionEventName: string;\n days: number;\n}\n\nexport interface EventTrackingConfig {\n eventName: string;\n totalByDay: boolean;\n unique: boolean;\n totalPerEntity: TotalPerEntityAggregation | undefined;\n distinctAggregationByDays: number[];\n retentionConfig: RetentionConfig | undefined;\n}\n\nexport interface MetricConfig {\n name: string;\n description: string;\n unit: string;\n sparse: boolean;\n}\n\nexport interface AccountConfig {}\n\nexport interface ContractInfo {\n name: string;\n chainId: string;\n address: string;\n abi: string;\n}\n\nexport interface TemplateInstance {\n contract: ContractInfo | undefined;\n startBlock: Long;\n endBlock: Long;\n templateId: number;\n}\n\nexport interface StartRequest {\n templateInstances: TemplateInstance[];\n}\n\nexport interface BlockHandlerConfig {\n handlerId: number;\n}\n\nexport interface TraceHandlerConfig {\n signature: string;\n handlerId: number;\n}\n\nexport interface LogHandlerConfig {\n filters: LogFilter[];\n handlerId: number;\n}\n\nexport interface LogFilter {\n topics: Topic[];\n}\n\nexport interface InstructionHandlerConfig {\n innerInstruction: boolean;\n parsedInstruction: boolean;\n rawDataInstruction: boolean;\n}\n\nexport interface AptosEventHandlerConfig {\n filters: AptosEventFilter[];\n handlerId: number;\n}\n\nexport interface AptosEventFilter {\n type: string;\n account: string;\n}\n\nexport interface AptosCallHandlerConfig {\n filters: AptosCallFilter[];\n handlerId: number;\n}\n\nexport interface AptosCallFilter {\n function: string;\n typeArguments: string[];\n withTypeArguments: boolean;\n includeFailed: boolean;\n}\n\nexport interface Topic {\n hashes: string[];\n}\n\nexport interface ProcessTransactionsRequest {\n chainId: string;\n transactions: RawTransaction[];\n}\n\nexport interface ProcessInstructionsRequest {\n instructions: Instruction[];\n}\n\nexport interface ProcessBlocksRequest {\n blockBindings: BlockBinding[];\n}\n\nexport interface ProcessBindingsRequest {\n bindings: DataBinding[];\n}\n\nexport interface ProcessBindingResponse {\n result: ProcessResult | undefined;\n configUpdated: boolean;\n}\n\nexport interface RawTransaction {\n raw: Uint8Array;\n programAccountId?: string | undefined;\n slot?: Long | undefined;\n}\n\nexport interface Instruction {\n instructionData: string;\n slot: Long;\n programAccountId: string;\n accounts: string[];\n parsed?: Uint8Array | undefined;\n}\n\nexport interface Data {\n raw: Uint8Array;\n}\n\nexport interface DataBinding {\n data: Data | undefined;\n handlerId: number;\n handlerType: HandlerType;\n}\n\nexport interface BlockBinding {\n block: RawBlock | undefined;\n handlerIds: number[];\n}\n\nexport interface RawBlock {\n raw: Uint8Array;\n}\n\nexport interface ProcessResult {\n gauges: GaugeResult[];\n counters: CounterResult[];\n logs: LogResult[];\n events: EventTrackingResult[];\n}\n\nexport interface DataDescriptor {\n name: string;\n description: string;\n unit: string;\n sparse: boolean;\n}\n\nexport interface RecordMetaData {\n address: string;\n contractName: string;\n blockNumber: Long;\n transactionHash: string;\n chainId: string;\n transactionIndex: number;\n logIndex: number;\n dataDescriptor: DataDescriptor | undefined;\n name: string;\n labels: { [key: string]: string };\n}\n\nexport interface RecordMetaData_LabelsEntry {\n key: string;\n value: string;\n}\n\nexport interface MetricValue {\n bigDecimal: string | undefined;\n doubleValue: number | undefined;\n bigInteger: BigInteger | undefined;\n}\n\nexport interface BigInteger {\n negative: boolean;\n data: Uint8Array;\n}\n\nexport interface RuntimeInfo {\n from: HandlerType;\n}\n\nexport interface GaugeResult {\n metadata: RecordMetaData | undefined;\n metricValue: MetricValue | undefined;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nexport interface CounterResult {\n metadata: RecordMetaData | undefined;\n metricValue: MetricValue | undefined;\n add: boolean;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nexport interface LogResult {\n metadata: RecordMetaData | undefined;\n level: LogLevel;\n message: string;\n attributes: string;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nexport interface EventTrackingResult {\n metadata: RecordMetaData | undefined;\n distinctEntityId: string;\n attributes: string;\n runtimeInfo: RuntimeInfo | undefined;\n}\n\nfunction createBaseProjectConfig(): ProjectConfig {\n return { name: \"\", version: \"\" };\n}\n\nexport const ProjectConfig = {\n encode(\n message: ProjectConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.version !== \"\") {\n writer.uint32(26).string(message.version);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProjectConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProjectConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 3:\n message.version = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProjectConfig {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n version: isSet(object.version) ? String(object.version) : \"\",\n };\n },\n\n toJSON(message: ProjectConfig): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.version !== undefined && (obj.version = message.version);\n return obj;\n },\n\n fromPartial(object: DeepPartial<ProjectConfig>): ProjectConfig {\n const message = createBaseProjectConfig();\n message.name = object.name ?? \"\";\n message.version = object.version ?? \"\";\n return message;\n },\n};\n\nfunction createBaseProcessConfigRequest(): ProcessConfigRequest {\n return {};\n}\n\nexport const ProcessConfigRequest = {\n encode(\n _: ProcessConfigRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessConfigRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessConfigRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(_: any): ProcessConfigRequest {\n return {};\n },\n\n toJSON(_: ProcessConfigRequest): unknown {\n const obj: any = {};\n return obj;\n },\n\n fromPartial(_: DeepPartial<ProcessConfigRequest>): ProcessConfigRequest {\n const message = createBaseProcessConfigRequest();\n return message;\n },\n};\n\nfunction createBaseProcessConfigResponse(): ProcessConfigResponse {\n return {\n config: undefined,\n contractConfigs: [],\n templateInstances: [],\n accountConfigs: [],\n metricConfigs: [],\n eventTrackingConfigs: [],\n };\n}\n\nexport const ProcessConfigResponse = {\n encode(\n message: ProcessConfigResponse,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.config !== undefined) {\n ProjectConfig.encode(message.config, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.contractConfigs) {\n ContractConfig.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.templateInstances) {\n TemplateInstance.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.accountConfigs) {\n AccountConfig.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n for (const v of message.metricConfigs) {\n MetricConfig.encode(v!, writer.uint32(42).fork()).ldelim();\n }\n for (const v of message.eventTrackingConfigs) {\n EventTrackingConfig.encode(v!, writer.uint32(50).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessConfigResponse {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessConfigResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.config = ProjectConfig.decode(reader, reader.uint32());\n break;\n case 2:\n message.contractConfigs.push(\n ContractConfig.decode(reader, reader.uint32())\n );\n break;\n case 3:\n message.templateInstances.push(\n TemplateInstance.decode(reader, reader.uint32())\n );\n break;\n case 4:\n message.accountConfigs.push(\n AccountConfig.decode(reader, reader.uint32())\n );\n break;\n case 5:\n message.metricConfigs.push(\n MetricConfig.decode(reader, reader.uint32())\n );\n break;\n case 6:\n message.eventTrackingConfigs.push(\n EventTrackingConfig.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessConfigResponse {\n return {\n config: isSet(object.config)\n ? ProjectConfig.fromJSON(object.config)\n : undefined,\n contractConfigs: Array.isArray(object?.contractConfigs)\n ? object.contractConfigs.map((e: any) => ContractConfig.fromJSON(e))\n : [],\n templateInstances: Array.isArray(object?.templateInstances)\n ? object.templateInstances.map((e: any) => TemplateInstance.fromJSON(e))\n : [],\n accountConfigs: Array.isArray(object?.accountConfigs)\n ? object.accountConfigs.map((e: any) => AccountConfig.fromJSON(e))\n : [],\n metricConfigs: Array.isArray(object?.metricConfigs)\n ? object.metricConfigs.map((e: any) => MetricConfig.fromJSON(e))\n : [],\n eventTrackingConfigs: Array.isArray(object?.eventTrackingConfigs)\n ? object.eventTrackingConfigs.map((e: any) =>\n EventTrackingConfig.fromJSON(e)\n )\n : [],\n };\n },\n\n toJSON(message: ProcessConfigResponse): unknown {\n const obj: any = {};\n message.config !== undefined &&\n (obj.config = message.config\n ? ProjectConfig.toJSON(message.config)\n : undefined);\n if (message.contractConfigs) {\n obj.contractConfigs = message.contractConfigs.map((e) =>\n e ? ContractConfig.toJSON(e) : undefined\n );\n } else {\n obj.contractConfigs = [];\n }\n if (message.templateInstances) {\n obj.templateInstances = message.templateInstances.map((e) =>\n e ? TemplateInstance.toJSON(e) : undefined\n );\n } else {\n obj.templateInstances = [];\n }\n if (message.accountConfigs) {\n obj.accountConfigs = message.accountConfigs.map((e) =>\n e ? AccountConfig.toJSON(e) : undefined\n );\n } else {\n obj.accountConfigs = [];\n }\n if (message.metricConfigs) {\n obj.metricConfigs = message.metricConfigs.map((e) =>\n e ? MetricConfig.toJSON(e) : undefined\n );\n } else {\n obj.metricConfigs = [];\n }\n if (message.eventTrackingConfigs) {\n obj.eventTrackingConfigs = message.eventTrackingConfigs.map((e) =>\n e ? EventTrackingConfig.toJSON(e) : undefined\n );\n } else {\n obj.eventTrackingConfigs = [];\n }\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessConfigResponse>\n ): ProcessConfigResponse {\n const message = createBaseProcessConfigResponse();\n message.config =\n object.config !== undefined && object.config !== null\n ? ProjectConfig.fromPartial(object.config)\n : undefined;\n message.contractConfigs =\n object.contractConfigs?.map((e) => ContractConfig.fromPartial(e)) || [];\n message.templateInstances =\n object.templateInstances?.map((e) => TemplateInstance.fromPartial(e)) ||\n [];\n message.accountConfigs =\n object.accountConfigs?.map((e) => AccountConfig.fromPartial(e)) || [];\n message.metricConfigs =\n object.metricConfigs?.map((e) => MetricConfig.fromPartial(e)) || [];\n message.eventTrackingConfigs =\n object.eventTrackingConfigs?.map((e) =>\n EventTrackingConfig.fromPartial(e)\n ) || [];\n return message;\n },\n};\n\nfunction createBaseContractConfig(): ContractConfig {\n return {\n contract: undefined,\n blockConfigs: [],\n logConfigs: [],\n traceConfigs: [],\n aptosEventConfigs: [],\n aptosCallConfigs: [],\n instructionConfig: undefined,\n startBlock: Long.UZERO,\n endBlock: Long.UZERO,\n processorType: \"\",\n };\n}\n\nexport const ContractConfig = {\n encode(\n message: ContractConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.contract !== undefined) {\n ContractInfo.encode(message.contract, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.blockConfigs) {\n BlockHandlerConfig.encode(v!, writer.uint32(58).fork()).ldelim();\n }\n for (const v of message.logConfigs) {\n LogHandlerConfig.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.traceConfigs) {\n TraceHandlerConfig.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.aptosEventConfigs) {\n AptosEventHandlerConfig.encode(v!, writer.uint32(74).fork()).ldelim();\n }\n for (const v of message.aptosCallConfigs) {\n AptosCallHandlerConfig.encode(v!, writer.uint32(82).fork()).ldelim();\n }\n if (message.instructionConfig !== undefined) {\n InstructionHandlerConfig.encode(\n message.instructionConfig,\n writer.uint32(50).fork()\n ).ldelim();\n }\n if (!message.startBlock.isZero()) {\n writer.uint32(32).uint64(message.startBlock);\n }\n if (!message.endBlock.isZero()) {\n writer.uint32(40).uint64(message.endBlock);\n }\n if (message.processorType !== \"\") {\n writer.uint32(66).string(message.processorType);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ContractConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContractConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.contract = ContractInfo.decode(reader, reader.uint32());\n break;\n case 7:\n message.blockConfigs.push(\n BlockHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 3:\n message.logConfigs.push(\n LogHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 2:\n message.traceConfigs.push(\n TraceHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 9:\n message.aptosEventConfigs.push(\n AptosEventHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 10:\n message.aptosCallConfigs.push(\n AptosCallHandlerConfig.decode(reader, reader.uint32())\n );\n break;\n case 6:\n message.instructionConfig = InstructionHandlerConfig.decode(\n reader,\n reader.uint32()\n );\n break;\n case 4:\n message.startBlock = reader.uint64() as Long;\n break;\n case 5:\n message.endBlock = reader.uint64() as Long;\n break;\n case 8:\n message.processorType = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ContractConfig {\n return {\n contract: isSet(object.contract)\n ? ContractInfo.fromJSON(object.contract)\n : undefined,\n blockConfigs: Array.isArray(object?.blockConfigs)\n ? object.blockConfigs.map((e: any) => BlockHandlerConfig.fromJSON(e))\n : [],\n logConfigs: Array.isArray(object?.logConfigs)\n ? object.logConfigs.map((e: any) => LogHandlerConfig.fromJSON(e))\n : [],\n traceConfigs: Array.isArray(object?.traceConfigs)\n ? object.traceConfigs.map((e: any) => TraceHandlerConfig.fromJSON(e))\n : [],\n aptosEventConfigs: Array.isArray(object?.aptosEventConfigs)\n ? object.aptosEventConfigs.map((e: any) =>\n AptosEventHandlerConfig.fromJSON(e)\n )\n : [],\n aptosCallConfigs: Array.isArray(object?.aptosCallConfigs)\n ? object.aptosCallConfigs.map((e: any) =>\n AptosCallHandlerConfig.fromJSON(e)\n )\n : [],\n instructionConfig: isSet(object.instructionConfig)\n ? InstructionHandlerConfig.fromJSON(object.instructionConfig)\n : undefined,\n startBlock: isSet(object.startBlock)\n ? Long.fromValue(object.startBlock)\n : Long.UZERO,\n endBlock: isSet(object.endBlock)\n ? Long.fromValue(object.endBlock)\n : Long.UZERO,\n processorType: isSet(object.processorType)\n ? String(object.processorType)\n : \"\",\n };\n },\n\n toJSON(message: ContractConfig): unknown {\n const obj: any = {};\n message.contract !== undefined &&\n (obj.contract = message.contract\n ? ContractInfo.toJSON(message.contract)\n : undefined);\n if (message.blockConfigs) {\n obj.blockConfigs = message.blockConfigs.map((e) =>\n e ? BlockHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.blockConfigs = [];\n }\n if (message.logConfigs) {\n obj.logConfigs = message.logConfigs.map((e) =>\n e ? LogHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.logConfigs = [];\n }\n if (message.traceConfigs) {\n obj.traceConfigs = message.traceConfigs.map((e) =>\n e ? TraceHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.traceConfigs = [];\n }\n if (message.aptosEventConfigs) {\n obj.aptosEventConfigs = message.aptosEventConfigs.map((e) =>\n e ? AptosEventHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.aptosEventConfigs = [];\n }\n if (message.aptosCallConfigs) {\n obj.aptosCallConfigs = message.aptosCallConfigs.map((e) =>\n e ? AptosCallHandlerConfig.toJSON(e) : undefined\n );\n } else {\n obj.aptosCallConfigs = [];\n }\n message.instructionConfig !== undefined &&\n (obj.instructionConfig = message.instructionConfig\n ? InstructionHandlerConfig.toJSON(message.instructionConfig)\n : undefined);\n message.startBlock !== undefined &&\n (obj.startBlock = (message.startBlock || Long.UZERO).toString());\n message.endBlock !== undefined &&\n (obj.endBlock = (message.endBlock || Long.UZERO).toString());\n message.processorType !== undefined &&\n (obj.processorType = message.processorType);\n return obj;\n },\n\n fromPartial(object: DeepPartial<ContractConfig>): ContractConfig {\n const message = createBaseContractConfig();\n message.contract =\n object.contract !== undefined && object.contract !== null\n ? ContractInfo.fromPartial(object.contract)\n : undefined;\n message.blockConfigs =\n object.blockConfigs?.map((e) => BlockHandlerConfig.fromPartial(e)) || [];\n message.logConfigs =\n object.logConfigs?.map((e) => LogHandlerConfig.fromPartial(e)) || [];\n message.traceConfigs =\n object.traceConfigs?.map((e) => TraceHandlerConfig.fromPartial(e)) || [];\n message.aptosEventConfigs =\n object.aptosEventConfigs?.map((e) =>\n AptosEventHandlerConfig.fromPartial(e)\n ) || [];\n message.aptosCallConfigs =\n object.aptosCallConfigs?.map((e) =>\n AptosCallHandlerConfig.fromPartial(e)\n ) || [];\n message.instructionConfig =\n object.instructionConfig !== undefined &&\n object.instructionConfig !== null\n ? InstructionHandlerConfig.fromPartial(object.instructionConfig)\n : undefined;\n message.startBlock =\n object.startBlock !== undefined && object.startBlock !== null\n ? Long.fromValue(object.startBlock)\n : Long.UZERO;\n message.endBlock =\n object.endBlock !== undefined && object.endBlock !== null\n ? Long.fromValue(object.endBlock)\n : Long.UZERO;\n message.processorType = object.processorType ?? \"\";\n return message;\n },\n};\n\nfunction createBaseTotalPerEntityAggregation(): TotalPerEntityAggregation {\n return {};\n}\n\nexport const TotalPerEntityAggregation = {\n encode(\n _: TotalPerEntityAggregation,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): TotalPerEntityAggregation {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTotalPerEntityAggregation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(_: any): TotalPerEntityAggregation {\n return {};\n },\n\n toJSON(_: TotalPerEntityAggregation): unknown {\n const obj: any = {};\n return obj;\n },\n\n fromPartial(\n _: DeepPartial<TotalPerEntityAggregation>\n ): TotalPerEntityAggregation {\n const message = createBaseTotalPerEntityAggregation();\n return message;\n },\n};\n\nfunction createBaseRetentionConfig(): RetentionConfig {\n return { retentionEventName: \"\", days: 0 };\n}\n\nexport const RetentionConfig = {\n encode(\n message: RetentionConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.retentionEventName !== \"\") {\n writer.uint32(18).string(message.retentionEventName);\n }\n if (message.days !== 0) {\n writer.uint32(24).int32(message.days);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RetentionConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRetentionConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.retentionEventName = reader.string();\n break;\n case 3:\n message.days = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RetentionConfig {\n return {\n retentionEventName: isSet(object.retentionEventName)\n ? String(object.retentionEventName)\n : \"\",\n days: isSet(object.days) ? Number(object.days) : 0,\n };\n },\n\n toJSON(message: RetentionConfig): unknown {\n const obj: any = {};\n message.retentionEventName !== undefined &&\n (obj.retentionEventName = message.retentionEventName);\n message.days !== undefined && (obj.days = Math.round(message.days));\n return obj;\n },\n\n fromPartial(object: DeepPartial<RetentionConfig>): RetentionConfig {\n const message = createBaseRetentionConfig();\n message.retentionEventName = object.retentionEventName ?? \"\";\n message.days = object.days ?? 0;\n return message;\n },\n};\n\nfunction createBaseEventTrackingConfig(): EventTrackingConfig {\n return {\n eventName: \"\",\n totalByDay: false,\n unique: false,\n totalPerEntity: undefined,\n distinctAggregationByDays: [],\n retentionConfig: undefined,\n };\n}\n\nexport const EventTrackingConfig = {\n encode(\n message: EventTrackingConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.eventName !== \"\") {\n writer.uint32(10).string(message.eventName);\n }\n if (message.totalByDay === true) {\n writer.uint32(16).bool(message.totalByDay);\n }\n if (message.unique === true) {\n writer.uint32(24).bool(message.unique);\n }\n if (message.totalPerEntity !== undefined) {\n TotalPerEntityAggregation.encode(\n message.totalPerEntity,\n writer.uint32(34).fork()\n ).ldelim();\n }\n writer.uint32(42).fork();\n for (const v of message.distinctAggregationByDays) {\n writer.int32(v);\n }\n writer.ldelim();\n if (message.retentionConfig !== undefined) {\n RetentionConfig.encode(\n message.retentionConfig,\n writer.uint32(50).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): EventTrackingConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseEventTrackingConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.eventName = reader.string();\n break;\n case 2:\n message.totalByDay = reader.bool();\n break;\n case 3:\n message.unique = reader.bool();\n break;\n case 4:\n message.totalPerEntity = TotalPerEntityAggregation.decode(\n reader,\n reader.uint32()\n );\n break;\n case 5:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.distinctAggregationByDays.push(reader.int32());\n }\n } else {\n message.distinctAggregationByDays.push(reader.int32());\n }\n break;\n case 6:\n message.retentionConfig = RetentionConfig.decode(\n reader,\n reader.uint32()\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): EventTrackingConfig {\n return {\n eventName: isSet(object.eventName) ? String(object.eventName) : \"\",\n totalByDay: isSet(object.totalByDay) ? Boolean(object.totalByDay) : false,\n unique: isSet(object.unique) ? Boolean(object.unique) : false,\n totalPerEntity: isSet(object.totalPerEntity)\n ? TotalPerEntityAggregation.fromJSON(object.totalPerEntity)\n : undefined,\n distinctAggregationByDays: Array.isArray(\n object?.distinctAggregationByDays\n )\n ? object.distinctAggregationByDays.map((e: any) => Number(e))\n : [],\n retentionConfig: isSet(object.retentionConfig)\n ? RetentionConfig.fromJSON(object.retentionConfig)\n : undefined,\n };\n },\n\n toJSON(message: EventTrackingConfig): unknown {\n const obj: any = {};\n message.eventName !== undefined && (obj.eventName = message.eventName);\n message.totalByDay !== undefined && (obj.totalByDay = message.totalByDay);\n message.unique !== undefined && (obj.unique = message.unique);\n message.totalPerEntity !== undefined &&\n (obj.totalPerEntity = message.totalPerEntity\n ? TotalPerEntityAggregation.toJSON(message.totalPerEntity)\n : undefined);\n if (message.distinctAggregationByDays) {\n obj.distinctAggregationByDays = message.distinctAggregationByDays.map(\n (e) => Math.round(e)\n );\n } else {\n obj.distinctAggregationByDays = [];\n }\n message.retentionConfig !== undefined &&\n (obj.retentionConfig = message.retentionConfig\n ? RetentionConfig.toJSON(message.retentionConfig)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<EventTrackingConfig>): EventTrackingConfig {\n const message = createBaseEventTrackingConfig();\n message.eventName = object.eventName ?? \"\";\n message.totalByDay = object.totalByDay ?? false;\n message.unique = object.unique ?? false;\n message.totalPerEntity =\n object.totalPerEntity !== undefined && object.totalPerEntity !== null\n ? TotalPerEntityAggregation.fromPartial(object.totalPerEntity)\n : undefined;\n message.distinctAggregationByDays =\n object.distinctAggregationByDays?.map((e) => e) || [];\n message.retentionConfig =\n object.retentionConfig !== undefined && object.retentionConfig !== null\n ? RetentionConfig.fromPartial(object.retentionConfig)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMetricConfig(): MetricConfig {\n return { name: \"\", description: \"\", unit: \"\", sparse: false };\n}\n\nexport const MetricConfig = {\n encode(\n message: MetricConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.description !== \"\") {\n writer.uint32(26).string(message.description);\n }\n if (message.unit !== \"\") {\n writer.uint32(18).string(message.unit);\n }\n if (message.sparse === true) {\n writer.uint32(32).bool(message.sparse);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MetricConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMetricConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 3:\n message.description = reader.string();\n break;\n case 2:\n message.unit = reader.string();\n break;\n case 4:\n message.sparse = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MetricConfig {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n description: isSet(object.description) ? String(object.description) : \"\",\n unit: isSet(object.unit) ? String(object.unit) : \"\",\n sparse: isSet(object.sparse) ? Boolean(object.sparse) : false,\n };\n },\n\n toJSON(message: MetricConfig): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.description !== undefined &&\n (obj.description = message.description);\n message.unit !== undefined && (obj.unit = message.unit);\n message.sparse !== undefined && (obj.sparse = message.sparse);\n return obj;\n },\n\n fromPartial(object: DeepPartial<MetricConfig>): MetricConfig {\n const message = createBaseMetricConfig();\n message.name = object.name ?? \"\";\n message.description = object.description ?? \"\";\n message.unit = object.unit ?? \"\";\n message.sparse = object.sparse ?? false;\n return message;\n },\n};\n\nfunction createBaseAccountConfig(): AccountConfig {\n return {};\n}\n\nexport const AccountConfig = {\n encode(\n _: AccountConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AccountConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAccountConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(_: any): AccountConfig {\n return {};\n },\n\n toJSON(_: AccountConfig): unknown {\n const obj: any = {};\n return obj;\n },\n\n fromPartial(_: DeepPartial<AccountConfig>): AccountConfig {\n const message = createBaseAccountConfig();\n return message;\n },\n};\n\nfunction createBaseContractInfo(): ContractInfo {\n return { name: \"\", chainId: \"\", address: \"\", abi: \"\" };\n}\n\nexport const ContractInfo = {\n encode(\n message: ContractInfo,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.chainId !== \"\") {\n writer.uint32(18).string(message.chainId);\n }\n if (message.address !== \"\") {\n writer.uint32(26).string(message.address);\n }\n if (message.abi !== \"\") {\n writer.uint32(34).string(message.abi);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ContractInfo {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContractInfo();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 2:\n message.chainId = reader.string();\n break;\n case 3:\n message.address = reader.string();\n break;\n case 4:\n message.abi = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ContractInfo {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n address: isSet(object.address) ? String(object.address) : \"\",\n abi: isSet(object.abi) ? String(object.abi) : \"\",\n };\n },\n\n toJSON(message: ContractInfo): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.address !== undefined && (obj.address = message.address);\n message.abi !== undefined && (obj.abi = message.abi);\n return obj;\n },\n\n fromPartial(object: DeepPartial<ContractInfo>): ContractInfo {\n const message = createBaseContractInfo();\n message.name = object.name ?? \"\";\n message.chainId = object.chainId ?? \"\";\n message.address = object.address ?? \"\";\n message.abi = object.abi ?? \"\";\n return message;\n },\n};\n\nfunction createBaseTemplateInstance(): TemplateInstance {\n return {\n contract: undefined,\n startBlock: Long.UZERO,\n endBlock: Long.UZERO,\n templateId: 0,\n };\n}\n\nexport const TemplateInstance = {\n encode(\n message: TemplateInstance,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.contract !== undefined) {\n ContractInfo.encode(message.contract, writer.uint32(10).fork()).ldelim();\n }\n if (!message.startBlock.isZero()) {\n writer.uint32(16).uint64(message.startBlock);\n }\n if (!message.endBlock.isZero()) {\n writer.uint32(24).uint64(message.endBlock);\n }\n if (message.templateId !== 0) {\n writer.uint32(32).int32(message.templateId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TemplateInstance {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTemplateInstance();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.contract = ContractInfo.decode(reader, reader.uint32());\n break;\n case 2:\n message.startBlock = reader.uint64() as Long;\n break;\n case 3:\n message.endBlock = reader.uint64() as Long;\n break;\n case 4:\n message.templateId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TemplateInstance {\n return {\n contract: isSet(object.contract)\n ? ContractInfo.fromJSON(object.contract)\n : undefined,\n startBlock: isSet(object.startBlock)\n ? Long.fromValue(object.startBlock)\n : Long.UZERO,\n endBlock: isSet(object.endBlock)\n ? Long.fromValue(object.endBlock)\n : Long.UZERO,\n templateId: isSet(object.templateId) ? Number(object.templateId) : 0,\n };\n },\n\n toJSON(message: TemplateInstance): unknown {\n const obj: any = {};\n message.contract !== undefined &&\n (obj.contract = message.contract\n ? ContractInfo.toJSON(message.contract)\n : undefined);\n message.startBlock !== undefined &&\n (obj.startBlock = (message.startBlock || Long.UZERO).toString());\n message.endBlock !== undefined &&\n (obj.endBlock = (message.endBlock || Long.UZERO).toString());\n message.templateId !== undefined &&\n (obj.templateId = Math.round(message.templateId));\n return obj;\n },\n\n fromPartial(object: DeepPartial<TemplateInstance>): TemplateInstance {\n const message = createBaseTemplateInstance();\n message.contract =\n object.contract !== undefined && object.contract !== null\n ? ContractInfo.fromPartial(object.contract)\n : undefined;\n message.startBlock =\n object.startBlock !== undefined && object.startBlock !== null\n ? Long.fromValue(object.startBlock)\n : Long.UZERO;\n message.endBlock =\n object.endBlock !== undefined && object.endBlock !== null\n ? Long.fromValue(object.endBlock)\n : Long.UZERO;\n message.templateId = object.templateId ?? 0;\n return message;\n },\n};\n\nfunction createBaseStartRequest(): StartRequest {\n return { templateInstances: [] };\n}\n\nexport const StartRequest = {\n encode(\n message: StartRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.templateInstances) {\n TemplateInstance.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): StartRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseStartRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.templateInstances.push(\n TemplateInstance.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): StartRequest {\n return {\n templateInstances: Array.isArray(object?.templateInstances)\n ? object.templateInstances.map((e: any) => TemplateInstance.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: StartRequest): unknown {\n const obj: any = {};\n if (message.templateInstances) {\n obj.templateInstances = message.templateInstances.map((e) =>\n e ? TemplateInstance.toJSON(e) : undefined\n );\n } else {\n obj.templateInstances = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<StartRequest>): StartRequest {\n const message = createBaseStartRequest();\n message.templateInstances =\n object.templateInstances?.map((e) => TemplateInstance.fromPartial(e)) ||\n [];\n return message;\n },\n};\n\nfunction createBaseBlockHandlerConfig(): BlockHandlerConfig {\n return { handlerId: 0 };\n}\n\nexport const BlockHandlerConfig = {\n encode(\n message: BlockHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.handlerId !== 0) {\n writer.uint32(8).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BlockHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlockHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BlockHandlerConfig {\n return {\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: BlockHandlerConfig): unknown {\n const obj: any = {};\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(object: DeepPartial<BlockHandlerConfig>): BlockHandlerConfig {\n const message = createBaseBlockHandlerConfig();\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseTraceHandlerConfig(): TraceHandlerConfig {\n return { signature: \"\", handlerId: 0 };\n}\n\nexport const TraceHandlerConfig = {\n encode(\n message: TraceHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.signature !== \"\") {\n writer.uint32(10).string(message.signature);\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TraceHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTraceHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.signature = reader.string();\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): TraceHandlerConfig {\n return {\n signature: isSet(object.signature) ? String(object.signature) : \"\",\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: TraceHandlerConfig): unknown {\n const obj: any = {};\n message.signature !== undefined && (obj.signature = message.signature);\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(object: DeepPartial<TraceHandlerConfig>): TraceHandlerConfig {\n const message = createBaseTraceHandlerConfig();\n message.signature = object.signature ?? \"\";\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseLogHandlerConfig(): LogHandlerConfig {\n return { filters: [], handlerId: 0 };\n}\n\nexport const LogHandlerConfig = {\n encode(\n message: LogHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.filters) {\n LogFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(LogFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogHandlerConfig {\n return {\n filters: Array.isArray(object?.filters)\n ? object.filters.map((e: any) => LogFilter.fromJSON(e))\n : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: LogHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) =>\n e ? LogFilter.toJSON(e) : undefined\n );\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(object: DeepPartial<LogHandlerConfig>): LogHandlerConfig {\n const message = createBaseLogHandlerConfig();\n message.filters =\n object.filters?.map((e) => LogFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseLogFilter(): LogFilter {\n return { topics: [] };\n}\n\nexport const LogFilter = {\n encode(\n message: LogFilter,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.topics) {\n Topic.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.topics.push(Topic.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogFilter {\n return {\n topics: Array.isArray(object?.topics)\n ? object.topics.map((e: any) => Topic.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: LogFilter): unknown {\n const obj: any = {};\n if (message.topics) {\n obj.topics = message.topics.map((e) => (e ? Topic.toJSON(e) : undefined));\n } else {\n obj.topics = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<LogFilter>): LogFilter {\n const message = createBaseLogFilter();\n message.topics = object.topics?.map((e) => Topic.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseInstructionHandlerConfig(): InstructionHandlerConfig {\n return {\n innerInstruction: false,\n parsedInstruction: false,\n rawDataInstruction: false,\n };\n}\n\nexport const InstructionHandlerConfig = {\n encode(\n message: InstructionHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.innerInstruction === true) {\n writer.uint32(8).bool(message.innerInstruction);\n }\n if (message.parsedInstruction === true) {\n writer.uint32(16).bool(message.parsedInstruction);\n }\n if (message.rawDataInstruction === true) {\n writer.uint32(24).bool(message.rawDataInstruction);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): InstructionHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInstructionHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.innerInstruction = reader.bool();\n break;\n case 2:\n message.parsedInstruction = reader.bool();\n break;\n case 3:\n message.rawDataInstruction = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): InstructionHandlerConfig {\n return {\n innerInstruction: isSet(object.innerInstruction)\n ? Boolean(object.innerInstruction)\n : false,\n parsedInstruction: isSet(object.parsedInstruction)\n ? Boolean(object.parsedInstruction)\n : false,\n rawDataInstruction: isSet(object.rawDataInstruction)\n ? Boolean(object.rawDataInstruction)\n : false,\n };\n },\n\n toJSON(message: InstructionHandlerConfig): unknown {\n const obj: any = {};\n message.innerInstruction !== undefined &&\n (obj.innerInstruction = message.innerInstruction);\n message.parsedInstruction !== undefined &&\n (obj.parsedInstruction = message.parsedInstruction);\n message.rawDataInstruction !== undefined &&\n (obj.rawDataInstruction = message.rawDataInstruction);\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<InstructionHandlerConfig>\n ): InstructionHandlerConfig {\n const message = createBaseInstructionHandlerConfig();\n message.innerInstruction = object.innerInstruction ?? false;\n message.parsedInstruction = object.parsedInstruction ?? false;\n message.rawDataInstruction = object.rawDataInstruction ?? false;\n return message;\n },\n};\n\nfunction createBaseAptosEventHandlerConfig(): AptosEventHandlerConfig {\n return { filters: [], handlerId: 0 };\n}\n\nexport const AptosEventHandlerConfig = {\n encode(\n message: AptosEventHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.filters) {\n AptosEventFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): AptosEventHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosEventHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(\n AptosEventFilter.decode(reader, reader.uint32())\n );\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosEventHandlerConfig {\n return {\n filters: Array.isArray(object?.filters)\n ? object.filters.map((e: any) => AptosEventFilter.fromJSON(e))\n : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: AptosEventHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) =>\n e ? AptosEventFilter.toJSON(e) : undefined\n );\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<AptosEventHandlerConfig>\n ): AptosEventHandlerConfig {\n const message = createBaseAptosEventHandlerConfig();\n message.filters =\n object.filters?.map((e) => AptosEventFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseAptosEventFilter(): AptosEventFilter {\n return { type: \"\", account: \"\" };\n}\n\nexport const AptosEventFilter = {\n encode(\n message: AptosEventFilter,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.type !== \"\") {\n writer.uint32(10).string(message.type);\n }\n if (message.account !== \"\") {\n writer.uint32(18).string(message.account);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AptosEventFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosEventFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.type = reader.string();\n break;\n case 2:\n message.account = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosEventFilter {\n return {\n type: isSet(object.type) ? String(object.type) : \"\",\n account: isSet(object.account) ? String(object.account) : \"\",\n };\n },\n\n toJSON(message: AptosEventFilter): unknown {\n const obj: any = {};\n message.type !== undefined && (obj.type = message.type);\n message.account !== undefined && (obj.account = message.account);\n return obj;\n },\n\n fromPartial(object: DeepPartial<AptosEventFilter>): AptosEventFilter {\n const message = createBaseAptosEventFilter();\n message.type = object.type ?? \"\";\n message.account = object.account ?? \"\";\n return message;\n },\n};\n\nfunction createBaseAptosCallHandlerConfig(): AptosCallHandlerConfig {\n return { filters: [], handlerId: 0 };\n}\n\nexport const AptosCallHandlerConfig = {\n encode(\n message: AptosCallHandlerConfig,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.filters) {\n AptosCallFilter.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): AptosCallHandlerConfig {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosCallHandlerConfig();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.filters.push(AptosCallFilter.decode(reader, reader.uint32()));\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosCallHandlerConfig {\n return {\n filters: Array.isArray(object?.filters)\n ? object.filters.map((e: any) => AptosCallFilter.fromJSON(e))\n : [],\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n };\n },\n\n toJSON(message: AptosCallHandlerConfig): unknown {\n const obj: any = {};\n if (message.filters) {\n obj.filters = message.filters.map((e) =>\n e ? AptosCallFilter.toJSON(e) : undefined\n );\n } else {\n obj.filters = [];\n }\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<AptosCallHandlerConfig>\n ): AptosCallHandlerConfig {\n const message = createBaseAptosCallHandlerConfig();\n message.filters =\n object.filters?.map((e) => AptosCallFilter.fromPartial(e)) || [];\n message.handlerId = object.handlerId ?? 0;\n return message;\n },\n};\n\nfunction createBaseAptosCallFilter(): AptosCallFilter {\n return {\n function: \"\",\n typeArguments: [],\n withTypeArguments: false,\n includeFailed: false,\n };\n}\n\nexport const AptosCallFilter = {\n encode(\n message: AptosCallFilter,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.function !== \"\") {\n writer.uint32(10).string(message.function);\n }\n for (const v of message.typeArguments) {\n writer.uint32(18).string(v!);\n }\n if (message.withTypeArguments === true) {\n writer.uint32(24).bool(message.withTypeArguments);\n }\n if (message.includeFailed === true) {\n writer.uint32(32).bool(message.includeFailed);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): AptosCallFilter {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAptosCallFilter();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.function = reader.string();\n break;\n case 2:\n message.typeArguments.push(reader.string());\n break;\n case 3:\n message.withTypeArguments = reader.bool();\n break;\n case 4:\n message.includeFailed = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): AptosCallFilter {\n return {\n function: isSet(object.function) ? String(object.function) : \"\",\n typeArguments: Array.isArray(object?.typeArguments)\n ? object.typeArguments.map((e: any) => String(e))\n : [],\n withTypeArguments: isSet(object.withTypeArguments)\n ? Boolean(object.withTypeArguments)\n : false,\n includeFailed: isSet(object.includeFailed)\n ? Boolean(object.includeFailed)\n : false,\n };\n },\n\n toJSON(message: AptosCallFilter): unknown {\n const obj: any = {};\n message.function !== undefined && (obj.function = message.function);\n if (message.typeArguments) {\n obj.typeArguments = message.typeArguments.map((e) => e);\n } else {\n obj.typeArguments = [];\n }\n message.withTypeArguments !== undefined &&\n (obj.withTypeArguments = message.withTypeArguments);\n message.includeFailed !== undefined &&\n (obj.includeFailed = message.includeFailed);\n return obj;\n },\n\n fromPartial(object: DeepPartial<AptosCallFilter>): AptosCallFilter {\n const message = createBaseAptosCallFilter();\n message.function = object.function ?? \"\";\n message.typeArguments = object.typeArguments?.map((e) => e) || [];\n message.withTypeArguments = object.withTypeArguments ?? false;\n message.includeFailed = object.includeFailed ?? false;\n return message;\n },\n};\n\nfunction createBaseTopic(): Topic {\n return { hashes: [] };\n}\n\nexport const Topic = {\n encode(message: Topic, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.hashes) {\n writer.uint32(10).string(v!);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Topic {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTopic();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.hashes.push(reader.string());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Topic {\n return {\n hashes: Array.isArray(object?.hashes)\n ? object.hashes.map((e: any) => String(e))\n : [],\n };\n },\n\n toJSON(message: Topic): unknown {\n const obj: any = {};\n if (message.hashes) {\n obj.hashes = message.hashes.map((e) => e);\n } else {\n obj.hashes = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<Topic>): Topic {\n const message = createBaseTopic();\n message.hashes = object.hashes?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseProcessTransactionsRequest(): ProcessTransactionsRequest {\n return { chainId: \"\", transactions: [] };\n}\n\nexport const ProcessTransactionsRequest = {\n encode(\n message: ProcessTransactionsRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.chainId !== \"\") {\n writer.uint32(10).string(message.chainId);\n }\n for (const v of message.transactions) {\n RawTransaction.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessTransactionsRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessTransactionsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.chainId = reader.string();\n break;\n case 2:\n message.transactions.push(\n RawTransaction.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessTransactionsRequest {\n return {\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n transactions: Array.isArray(object?.transactions)\n ? object.transactions.map((e: any) => RawTransaction.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessTransactionsRequest): unknown {\n const obj: any = {};\n message.chainId !== undefined && (obj.chainId = message.chainId);\n if (message.transactions) {\n obj.transactions = message.transactions.map((e) =>\n e ? RawTransaction.toJSON(e) : undefined\n );\n } else {\n obj.transactions = [];\n }\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessTransactionsRequest>\n ): ProcessTransactionsRequest {\n const message = createBaseProcessTransactionsRequest();\n message.chainId = object.chainId ?? \"\";\n message.transactions =\n object.transactions?.map((e) => RawTransaction.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessInstructionsRequest(): ProcessInstructionsRequest {\n return { instructions: [] };\n}\n\nexport const ProcessInstructionsRequest = {\n encode(\n message: ProcessInstructionsRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.instructions) {\n Instruction.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessInstructionsRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessInstructionsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.instructions.push(\n Instruction.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessInstructionsRequest {\n return {\n instructions: Array.isArray(object?.instructions)\n ? object.instructions.map((e: any) => Instruction.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessInstructionsRequest): unknown {\n const obj: any = {};\n if (message.instructions) {\n obj.instructions = message.instructions.map((e) =>\n e ? Instruction.toJSON(e) : undefined\n );\n } else {\n obj.instructions = [];\n }\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessInstructionsRequest>\n ): ProcessInstructionsRequest {\n const message = createBaseProcessInstructionsRequest();\n message.instructions =\n object.instructions?.map((e) => Instruction.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBlocksRequest(): ProcessBlocksRequest {\n return { blockBindings: [] };\n}\n\nexport const ProcessBlocksRequest = {\n encode(\n message: ProcessBlocksRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.blockBindings) {\n BlockBinding.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessBlocksRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBlocksRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2:\n message.blockBindings.push(\n BlockBinding.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBlocksRequest {\n return {\n blockBindings: Array.isArray(object?.blockBindings)\n ? object.blockBindings.map((e: any) => BlockBinding.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessBlocksRequest): unknown {\n const obj: any = {};\n if (message.blockBindings) {\n obj.blockBindings = message.blockBindings.map((e) =>\n e ? BlockBinding.toJSON(e) : undefined\n );\n } else {\n obj.blockBindings = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<ProcessBlocksRequest>): ProcessBlocksRequest {\n const message = createBaseProcessBlocksRequest();\n message.blockBindings =\n object.blockBindings?.map((e) => BlockBinding.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBindingsRequest(): ProcessBindingsRequest {\n return { bindings: [] };\n}\n\nexport const ProcessBindingsRequest = {\n encode(\n message: ProcessBindingsRequest,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.bindings) {\n DataBinding.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessBindingsRequest {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBindingsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.bindings.push(DataBinding.decode(reader, reader.uint32()));\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBindingsRequest {\n return {\n bindings: Array.isArray(object?.bindings)\n ? object.bindings.map((e: any) => DataBinding.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessBindingsRequest): unknown {\n const obj: any = {};\n if (message.bindings) {\n obj.bindings = message.bindings.map((e) =>\n e ? DataBinding.toJSON(e) : undefined\n );\n } else {\n obj.bindings = [];\n }\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessBindingsRequest>\n ): ProcessBindingsRequest {\n const message = createBaseProcessBindingsRequest();\n message.bindings =\n object.bindings?.map((e) => DataBinding.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseProcessBindingResponse(): ProcessBindingResponse {\n return { result: undefined, configUpdated: false };\n}\n\nexport const ProcessBindingResponse = {\n encode(\n message: ProcessBindingResponse,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.result !== undefined) {\n ProcessResult.encode(message.result, writer.uint32(10).fork()).ldelim();\n }\n if (message.configUpdated === true) {\n writer.uint32(32).bool(message.configUpdated);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): ProcessBindingResponse {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessBindingResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.result = ProcessResult.decode(reader, reader.uint32());\n break;\n case 4:\n message.configUpdated = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessBindingResponse {\n return {\n result: isSet(object.result)\n ? ProcessResult.fromJSON(object.result)\n : undefined,\n configUpdated: isSet(object.configUpdated)\n ? Boolean(object.configUpdated)\n : false,\n };\n },\n\n toJSON(message: ProcessBindingResponse): unknown {\n const obj: any = {};\n message.result !== undefined &&\n (obj.result = message.result\n ? ProcessResult.toJSON(message.result)\n : undefined);\n message.configUpdated !== undefined &&\n (obj.configUpdated = message.configUpdated);\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<ProcessBindingResponse>\n ): ProcessBindingResponse {\n const message = createBaseProcessBindingResponse();\n message.result =\n object.result !== undefined && object.result !== null\n ? ProcessResult.fromPartial(object.result)\n : undefined;\n message.configUpdated = object.configUpdated ?? false;\n return message;\n },\n};\n\nfunction createBaseRawTransaction(): RawTransaction {\n return {\n raw: new Uint8Array(),\n programAccountId: undefined,\n slot: undefined,\n };\n}\n\nexport const RawTransaction = {\n encode(\n message: RawTransaction,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.raw.length !== 0) {\n writer.uint32(10).bytes(message.raw);\n }\n if (message.programAccountId !== undefined) {\n writer.uint32(18).string(message.programAccountId);\n }\n if (message.slot !== undefined) {\n writer.uint32(24).uint64(message.slot);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RawTransaction {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRawTransaction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.raw = reader.bytes();\n break;\n case 2:\n message.programAccountId = reader.string();\n break;\n case 3:\n message.slot = reader.uint64() as Long;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RawTransaction {\n return {\n raw: isSet(object.raw) ? bytesFromBase64(object.raw) : new Uint8Array(),\n programAccountId: isSet(object.programAccountId)\n ? String(object.programAccountId)\n : undefined,\n slot: isSet(object.slot) ? Long.fromValue(object.slot) : undefined,\n };\n },\n\n toJSON(message: RawTransaction): unknown {\n const obj: any = {};\n message.raw !== undefined &&\n (obj.raw = base64FromBytes(\n message.raw !== undefined ? message.raw : new Uint8Array()\n ));\n message.programAccountId !== undefined &&\n (obj.programAccountId = message.programAccountId);\n message.slot !== undefined &&\n (obj.slot = (message.slot || undefined).toString());\n return obj;\n },\n\n fromPartial(object: DeepPartial<RawTransaction>): RawTransaction {\n const message = createBaseRawTransaction();\n message.raw = object.raw ?? new Uint8Array();\n message.programAccountId = object.programAccountId ?? undefined;\n message.slot =\n object.slot !== undefined && object.slot !== null\n ? Long.fromValue(object.slot)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseInstruction(): Instruction {\n return {\n instructionData: \"\",\n slot: Long.UZERO,\n programAccountId: \"\",\n accounts: [],\n parsed: undefined,\n };\n}\n\nexport const Instruction = {\n encode(\n message: Instruction,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.instructionData !== \"\") {\n writer.uint32(10).string(message.instructionData);\n }\n if (!message.slot.isZero()) {\n writer.uint32(16).uint64(message.slot);\n }\n if (message.programAccountId !== \"\") {\n writer.uint32(26).string(message.programAccountId);\n }\n for (const v of message.accounts) {\n writer.uint32(42).string(v!);\n }\n if (message.parsed !== undefined) {\n writer.uint32(34).bytes(message.parsed);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Instruction {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInstruction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.instructionData = reader.string();\n break;\n case 2:\n message.slot = reader.uint64() as Long;\n break;\n case 3:\n message.programAccountId = reader.string();\n break;\n case 5:\n message.accounts.push(reader.string());\n break;\n case 4:\n message.parsed = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Instruction {\n return {\n instructionData: isSet(object.instructionData)\n ? String(object.instructionData)\n : \"\",\n slot: isSet(object.slot) ? Long.fromValue(object.slot) : Long.UZERO,\n programAccountId: isSet(object.programAccountId)\n ? String(object.programAccountId)\n : \"\",\n accounts: Array.isArray(object?.accounts)\n ? object.accounts.map((e: any) => String(e))\n : [],\n parsed: isSet(object.parsed) ? bytesFromBase64(object.parsed) : undefined,\n };\n },\n\n toJSON(message: Instruction): unknown {\n const obj: any = {};\n message.instructionData !== undefined &&\n (obj.instructionData = message.instructionData);\n message.slot !== undefined &&\n (obj.slot = (message.slot || Long.UZERO).toString());\n message.programAccountId !== undefined &&\n (obj.programAccountId = message.programAccountId);\n if (message.accounts) {\n obj.accounts = message.accounts.map((e) => e);\n } else {\n obj.accounts = [];\n }\n message.parsed !== undefined &&\n (obj.parsed =\n message.parsed !== undefined\n ? base64FromBytes(message.parsed)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<Instruction>): Instruction {\n const message = createBaseInstruction();\n message.instructionData = object.instructionData ?? \"\";\n message.slot =\n object.slot !== undefined && object.slot !== null\n ? Long.fromValue(object.slot)\n : Long.UZERO;\n message.programAccountId = object.programAccountId ?? \"\";\n message.accounts = object.accounts?.map((e) => e) || [];\n message.parsed = object.parsed ?? undefined;\n return message;\n },\n};\n\nfunction createBaseData(): Data {\n return { raw: new Uint8Array() };\n}\n\nexport const Data = {\n encode(message: Data, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.raw.length !== 0) {\n writer.uint32(10).bytes(message.raw);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): Data {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.raw = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): Data {\n return {\n raw: isSet(object.raw) ? bytesFromBase64(object.raw) : new Uint8Array(),\n };\n },\n\n toJSON(message: Data): unknown {\n const obj: any = {};\n message.raw !== undefined &&\n (obj.raw = base64FromBytes(\n message.raw !== undefined ? message.raw : new Uint8Array()\n ));\n return obj;\n },\n\n fromPartial(object: DeepPartial<Data>): Data {\n const message = createBaseData();\n message.raw = object.raw ?? new Uint8Array();\n return message;\n },\n};\n\nfunction createBaseDataBinding(): DataBinding {\n return { data: undefined, handlerId: 0, handlerType: 0 };\n}\n\nexport const DataBinding = {\n encode(\n message: DataBinding,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.data !== undefined) {\n Data.encode(message.data, writer.uint32(10).fork()).ldelim();\n }\n if (message.handlerId !== 0) {\n writer.uint32(16).int32(message.handlerId);\n }\n if (message.handlerType !== 0) {\n writer.uint32(24).int32(message.handlerType);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DataBinding {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDataBinding();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.data = Data.decode(reader, reader.uint32());\n break;\n case 2:\n message.handlerId = reader.int32();\n break;\n case 3:\n message.handlerType = reader.int32() as any;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): DataBinding {\n return {\n data: isSet(object.data) ? Data.fromJSON(object.data) : undefined,\n handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,\n handlerType: isSet(object.handlerType)\n ? handlerTypeFromJSON(object.handlerType)\n : 0,\n };\n },\n\n toJSON(message: DataBinding): unknown {\n const obj: any = {};\n message.data !== undefined &&\n (obj.data = message.data ? Data.toJSON(message.data) : undefined);\n message.handlerId !== undefined &&\n (obj.handlerId = Math.round(message.handlerId));\n message.handlerType !== undefined &&\n (obj.handlerType = handlerTypeToJSON(message.handlerType));\n return obj;\n },\n\n fromPartial(object: DeepPartial<DataBinding>): DataBinding {\n const message = createBaseDataBinding();\n message.data =\n object.data !== undefined && object.data !== null\n ? Data.fromPartial(object.data)\n : undefined;\n message.handlerId = object.handlerId ?? 0;\n message.handlerType = object.handlerType ?? 0;\n return message;\n },\n};\n\nfunction createBaseBlockBinding(): BlockBinding {\n return { block: undefined, handlerIds: [] };\n}\n\nexport const BlockBinding = {\n encode(\n message: BlockBinding,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.block !== undefined) {\n RawBlock.encode(message.block, writer.uint32(10).fork()).ldelim();\n }\n writer.uint32(18).fork();\n for (const v of message.handlerIds) {\n writer.int32(v);\n }\n writer.ldelim();\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BlockBinding {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBlockBinding();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.block = RawBlock.decode(reader, reader.uint32());\n break;\n case 2:\n if ((tag & 7) === 2) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.handlerIds.push(reader.int32());\n }\n } else {\n message.handlerIds.push(reader.int32());\n }\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BlockBinding {\n return {\n block: isSet(object.block) ? RawBlock.fromJSON(object.block) : undefined,\n handlerIds: Array.isArray(object?.handlerIds)\n ? object.handlerIds.map((e: any) => Number(e))\n : [],\n };\n },\n\n toJSON(message: BlockBinding): unknown {\n const obj: any = {};\n message.block !== undefined &&\n (obj.block = message.block ? RawBlock.toJSON(message.block) : undefined);\n if (message.handlerIds) {\n obj.handlerIds = message.handlerIds.map((e) => Math.round(e));\n } else {\n obj.handlerIds = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<BlockBinding>): BlockBinding {\n const message = createBaseBlockBinding();\n message.block =\n object.block !== undefined && object.block !== null\n ? RawBlock.fromPartial(object.block)\n : undefined;\n message.handlerIds = object.handlerIds?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseRawBlock(): RawBlock {\n return { raw: new Uint8Array() };\n}\n\nexport const RawBlock = {\n encode(\n message: RawBlock,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.raw.length !== 0) {\n writer.uint32(10).bytes(message.raw);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RawBlock {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRawBlock();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.raw = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RawBlock {\n return {\n raw: isSet(object.raw) ? bytesFromBase64(object.raw) : new Uint8Array(),\n };\n },\n\n toJSON(message: RawBlock): unknown {\n const obj: any = {};\n message.raw !== undefined &&\n (obj.raw = base64FromBytes(\n message.raw !== undefined ? message.raw : new Uint8Array()\n ));\n return obj;\n },\n\n fromPartial(object: DeepPartial<RawBlock>): RawBlock {\n const message = createBaseRawBlock();\n message.raw = object.raw ?? new Uint8Array();\n return message;\n },\n};\n\nfunction createBaseProcessResult(): ProcessResult {\n return { gauges: [], counters: [], logs: [], events: [] };\n}\n\nexport const ProcessResult = {\n encode(\n message: ProcessResult,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n for (const v of message.gauges) {\n GaugeResult.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n for (const v of message.counters) {\n CounterResult.encode(v!, writer.uint32(18).fork()).ldelim();\n }\n for (const v of message.logs) {\n LogResult.encode(v!, writer.uint32(26).fork()).ldelim();\n }\n for (const v of message.events) {\n EventTrackingResult.encode(v!, writer.uint32(34).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): ProcessResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProcessResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.gauges.push(GaugeResult.decode(reader, reader.uint32()));\n break;\n case 2:\n message.counters.push(CounterResult.decode(reader, reader.uint32()));\n break;\n case 3:\n message.logs.push(LogResult.decode(reader, reader.uint32()));\n break;\n case 4:\n message.events.push(\n EventTrackingResult.decode(reader, reader.uint32())\n );\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): ProcessResult {\n return {\n gauges: Array.isArray(object?.gauges)\n ? object.gauges.map((e: any) => GaugeResult.fromJSON(e))\n : [],\n counters: Array.isArray(object?.counters)\n ? object.counters.map((e: any) => CounterResult.fromJSON(e))\n : [],\n logs: Array.isArray(object?.logs)\n ? object.logs.map((e: any) => LogResult.fromJSON(e))\n : [],\n events: Array.isArray(object?.events)\n ? object.events.map((e: any) => EventTrackingResult.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ProcessResult): unknown {\n const obj: any = {};\n if (message.gauges) {\n obj.gauges = message.gauges.map((e) =>\n e ? GaugeResult.toJSON(e) : undefined\n );\n } else {\n obj.gauges = [];\n }\n if (message.counters) {\n obj.counters = message.counters.map((e) =>\n e ? CounterResult.toJSON(e) : undefined\n );\n } else {\n obj.counters = [];\n }\n if (message.logs) {\n obj.logs = message.logs.map((e) => (e ? LogResult.toJSON(e) : undefined));\n } else {\n obj.logs = [];\n }\n if (message.events) {\n obj.events = message.events.map((e) =>\n e ? EventTrackingResult.toJSON(e) : undefined\n );\n } else {\n obj.events = [];\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<ProcessResult>): ProcessResult {\n const message = createBaseProcessResult();\n message.gauges =\n object.gauges?.map((e) => GaugeResult.fromPartial(e)) || [];\n message.counters =\n object.counters?.map((e) => CounterResult.fromPartial(e)) || [];\n message.logs = object.logs?.map((e) => LogResult.fromPartial(e)) || [];\n message.events =\n object.events?.map((e) => EventTrackingResult.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseDataDescriptor(): DataDescriptor {\n return { name: \"\", description: \"\", unit: \"\", sparse: false };\n}\n\nexport const DataDescriptor = {\n encode(\n message: DataDescriptor,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.description !== \"\") {\n writer.uint32(26).string(message.description);\n }\n if (message.unit !== \"\") {\n writer.uint32(18).string(message.unit);\n }\n if (message.sparse === true) {\n writer.uint32(32).bool(message.sparse);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DataDescriptor {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDataDescriptor();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.name = reader.string();\n break;\n case 3:\n message.description = reader.string();\n break;\n case 2:\n message.unit = reader.string();\n break;\n case 4:\n message.sparse = reader.bool();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): DataDescriptor {\n return {\n name: isSet(object.name) ? String(object.name) : \"\",\n description: isSet(object.description) ? String(object.description) : \"\",\n unit: isSet(object.unit) ? String(object.unit) : \"\",\n sparse: isSet(object.sparse) ? Boolean(object.sparse) : false,\n };\n },\n\n toJSON(message: DataDescriptor): unknown {\n const obj: any = {};\n message.name !== undefined && (obj.name = message.name);\n message.description !== undefined &&\n (obj.description = message.description);\n message.unit !== undefined && (obj.unit = message.unit);\n message.sparse !== undefined && (obj.sparse = message.sparse);\n return obj;\n },\n\n fromPartial(object: DeepPartial<DataDescriptor>): DataDescriptor {\n const message = createBaseDataDescriptor();\n message.name = object.name ?? \"\";\n message.description = object.description ?? \"\";\n message.unit = object.unit ?? \"\";\n message.sparse = object.sparse ?? false;\n return message;\n },\n};\n\nfunction createBaseRecordMetaData(): RecordMetaData {\n return {\n address: \"\",\n contractName: \"\",\n blockNumber: Long.UZERO,\n transactionHash: \"\",\n chainId: \"\",\n transactionIndex: 0,\n logIndex: 0,\n dataDescriptor: undefined,\n name: \"\",\n labels: {},\n };\n}\n\nexport const RecordMetaData = {\n encode(\n message: RecordMetaData,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n if (message.contractName !== \"\") {\n writer.uint32(74).string(message.contractName);\n }\n if (!message.blockNumber.isZero()) {\n writer.uint32(16).uint64(message.blockNumber);\n }\n if (message.transactionHash !== \"\") {\n writer.uint32(50).string(message.transactionHash);\n }\n if (message.chainId !== \"\") {\n writer.uint32(42).string(message.chainId);\n }\n if (message.transactionIndex !== 0) {\n writer.uint32(24).int32(message.transactionIndex);\n }\n if (message.logIndex !== 0) {\n writer.uint32(32).int32(message.logIndex);\n }\n if (message.dataDescriptor !== undefined) {\n DataDescriptor.encode(\n message.dataDescriptor,\n writer.uint32(66).fork()\n ).ldelim();\n }\n if (message.name !== \"\") {\n writer.uint32(82).string(message.name);\n }\n Object.entries(message.labels).forEach(([key, value]) => {\n RecordMetaData_LabelsEntry.encode(\n { key: key as any, value },\n writer.uint32(58).fork()\n ).ldelim();\n });\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RecordMetaData {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecordMetaData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.address = reader.string();\n break;\n case 9:\n message.contractName = reader.string();\n break;\n case 2:\n message.blockNumber = reader.uint64() as Long;\n break;\n case 6:\n message.transactionHash = reader.string();\n break;\n case 5:\n message.chainId = reader.string();\n break;\n case 3:\n message.transactionIndex = reader.int32();\n break;\n case 4:\n message.logIndex = reader.int32();\n break;\n case 8:\n message.dataDescriptor = DataDescriptor.decode(\n reader,\n reader.uint32()\n );\n break;\n case 10:\n message.name = reader.string();\n break;\n case 7:\n const entry7 = RecordMetaData_LabelsEntry.decode(\n reader,\n reader.uint32()\n );\n if (entry7.value !== undefined) {\n message.labels[entry7.key] = entry7.value;\n }\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RecordMetaData {\n return {\n address: isSet(object.address) ? String(object.address) : \"\",\n contractName: isSet(object.contractName)\n ? String(object.contractName)\n : \"\",\n blockNumber: isSet(object.blockNumber)\n ? Long.fromValue(object.blockNumber)\n : Long.UZERO,\n transactionHash: isSet(object.transactionHash)\n ? String(object.transactionHash)\n : \"\",\n chainId: isSet(object.chainId) ? String(object.chainId) : \"\",\n transactionIndex: isSet(object.transactionIndex)\n ? Number(object.transactionIndex)\n : 0,\n logIndex: isSet(object.logIndex) ? Number(object.logIndex) : 0,\n dataDescriptor: isSet(object.dataDescriptor)\n ? DataDescriptor.fromJSON(object.dataDescriptor)\n : undefined,\n name: isSet(object.name) ? String(object.name) : \"\",\n labels: isObject(object.labels)\n ? Object.entries(object.labels).reduce<{ [key: string]: string }>(\n (acc, [key, value]) => {\n acc[key] = String(value);\n return acc;\n },\n {}\n )\n : {},\n };\n },\n\n toJSON(message: RecordMetaData): unknown {\n const obj: any = {};\n message.address !== undefined && (obj.address = message.address);\n message.contractName !== undefined &&\n (obj.contractName = message.contractName);\n message.blockNumber !== undefined &&\n (obj.blockNumber = (message.blockNumber || Long.UZERO).toString());\n message.transactionHash !== undefined &&\n (obj.transactionHash = message.transactionHash);\n message.chainId !== undefined && (obj.chainId = message.chainId);\n message.transactionIndex !== undefined &&\n (obj.transactionIndex = Math.round(message.transactionIndex));\n message.logIndex !== undefined &&\n (obj.logIndex = Math.round(message.logIndex));\n message.dataDescriptor !== undefined &&\n (obj.dataDescriptor = message.dataDescriptor\n ? DataDescriptor.toJSON(message.dataDescriptor)\n : undefined);\n message.name !== undefined && (obj.name = message.name);\n obj.labels = {};\n if (message.labels) {\n Object.entries(message.labels).forEach(([k, v]) => {\n obj.labels[k] = v;\n });\n }\n return obj;\n },\n\n fromPartial(object: DeepPartial<RecordMetaData>): RecordMetaData {\n const message = createBaseRecordMetaData();\n message.address = object.address ?? \"\";\n message.contractName = object.contractName ?? \"\";\n message.blockNumber =\n object.blockNumber !== undefined && object.blockNumber !== null\n ? Long.fromValue(object.blockNumber)\n : Long.UZERO;\n message.transactionHash = object.transactionHash ?? \"\";\n message.chainId = object.chainId ?? \"\";\n message.transactionIndex = object.transactionIndex ?? 0;\n message.logIndex = object.logIndex ?? 0;\n message.dataDescriptor =\n object.dataDescriptor !== undefined && object.dataDescriptor !== null\n ? DataDescriptor.fromPartial(object.dataDescriptor)\n : undefined;\n message.name = object.name ?? \"\";\n message.labels = Object.entries(object.labels ?? {}).reduce<{\n [key: string]: string;\n }>((acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = String(value);\n }\n return acc;\n }, {});\n return message;\n },\n};\n\nfunction createBaseRecordMetaData_LabelsEntry(): RecordMetaData_LabelsEntry {\n return { key: \"\", value: \"\" };\n}\n\nexport const RecordMetaData_LabelsEntry = {\n encode(\n message: RecordMetaData_LabelsEntry,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n\n decode(\n input: _m0.Reader | Uint8Array,\n length?: number\n ): RecordMetaData_LabelsEntry {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecordMetaData_LabelsEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.key = reader.string();\n break;\n case 2:\n message.value = reader.string();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RecordMetaData_LabelsEntry {\n return {\n key: isSet(object.key) ? String(object.key) : \"\",\n value: isSet(object.value) ? String(object.value) : \"\",\n };\n },\n\n toJSON(message: RecordMetaData_LabelsEntry): unknown {\n const obj: any = {};\n message.key !== undefined && (obj.key = message.key);\n message.value !== undefined && (obj.value = message.value);\n return obj;\n },\n\n fromPartial(\n object: DeepPartial<RecordMetaData_LabelsEntry>\n ): RecordMetaData_LabelsEntry {\n const message = createBaseRecordMetaData_LabelsEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMetricValue(): MetricValue {\n return {\n bigDecimal: undefined,\n doubleValue: undefined,\n bigInteger: undefined,\n };\n}\n\nexport const MetricValue = {\n encode(\n message: MetricValue,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.bigDecimal !== undefined) {\n writer.uint32(10).string(message.bigDecimal);\n }\n if (message.doubleValue !== undefined) {\n writer.uint32(17).double(message.doubleValue);\n }\n if (message.bigInteger !== undefined) {\n BigInteger.encode(message.bigInteger, writer.uint32(26).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): MetricValue {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMetricValue();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.bigDecimal = reader.string();\n break;\n case 2:\n message.doubleValue = reader.double();\n break;\n case 3:\n message.bigInteger = BigInteger.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): MetricValue {\n return {\n bigDecimal: isSet(object.bigDecimal)\n ? String(object.bigDecimal)\n : undefined,\n doubleValue: isSet(object.doubleValue)\n ? Number(object.doubleValue)\n : undefined,\n bigInteger: isSet(object.bigInteger)\n ? BigInteger.fromJSON(object.bigInteger)\n : undefined,\n };\n },\n\n toJSON(message: MetricValue): unknown {\n const obj: any = {};\n message.bigDecimal !== undefined && (obj.bigDecimal = message.bigDecimal);\n message.doubleValue !== undefined &&\n (obj.doubleValue = message.doubleValue);\n message.bigInteger !== undefined &&\n (obj.bigInteger = message.bigInteger\n ? BigInteger.toJSON(message.bigInteger)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<MetricValue>): MetricValue {\n const message = createBaseMetricValue();\n message.bigDecimal = object.bigDecimal ?? undefined;\n message.doubleValue = object.doubleValue ?? undefined;\n message.bigInteger =\n object.bigInteger !== undefined && object.bigInteger !== null\n ? BigInteger.fromPartial(object.bigInteger)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseBigInteger(): BigInteger {\n return { negative: false, data: new Uint8Array() };\n}\n\nexport const BigInteger = {\n encode(\n message: BigInteger,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.negative === true) {\n writer.uint32(8).bool(message.negative);\n }\n if (message.data.length !== 0) {\n writer.uint32(18).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): BigInteger {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseBigInteger();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.negative = reader.bool();\n break;\n case 2:\n message.data = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): BigInteger {\n return {\n negative: isSet(object.negative) ? Boolean(object.negative) : false,\n data: isSet(object.data)\n ? bytesFromBase64(object.data)\n : new Uint8Array(),\n };\n },\n\n toJSON(message: BigInteger): unknown {\n const obj: any = {};\n message.negative !== undefined && (obj.negative = message.negative);\n message.data !== undefined &&\n (obj.data = base64FromBytes(\n message.data !== undefined ? message.data : new Uint8Array()\n ));\n return obj;\n },\n\n fromPartial(object: DeepPartial<BigInteger>): BigInteger {\n const message = createBaseBigInteger();\n message.negative = object.negative ?? false;\n message.data = object.data ?? new Uint8Array();\n return message;\n },\n};\n\nfunction createBaseRuntimeInfo(): RuntimeInfo {\n return { from: 0 };\n}\n\nexport const RuntimeInfo = {\n encode(\n message: RuntimeInfo,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.from !== 0) {\n writer.uint32(8).int32(message.from);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): RuntimeInfo {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRuntimeInfo();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.from = reader.int32() as any;\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): RuntimeInfo {\n return {\n from: isSet(object.from) ? handlerTypeFromJSON(object.from) : 0,\n };\n },\n\n toJSON(message: RuntimeInfo): unknown {\n const obj: any = {};\n message.from !== undefined && (obj.from = handlerTypeToJSON(message.from));\n return obj;\n },\n\n fromPartial(object: DeepPartial<RuntimeInfo>): RuntimeInfo {\n const message = createBaseRuntimeInfo();\n message.from = object.from ?? 0;\n return message;\n },\n};\n\nfunction createBaseGaugeResult(): GaugeResult {\n return {\n metadata: undefined,\n metricValue: undefined,\n runtimeInfo: undefined,\n };\n}\n\nexport const GaugeResult = {\n encode(\n message: GaugeResult,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(\n message.metadata,\n writer.uint32(10).fork()\n ).ldelim();\n }\n if (message.metricValue !== undefined) {\n MetricValue.encode(\n message.metricValue,\n writer.uint32(18).fork()\n ).ldelim();\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(\n message.runtimeInfo,\n writer.uint32(26).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GaugeResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGaugeResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.metricValue = MetricValue.decode(reader, reader.uint32());\n break;\n case 3:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): GaugeResult {\n return {\n metadata: isSet(object.metadata)\n ? RecordMetaData.fromJSON(object.metadata)\n : undefined,\n metricValue: isSet(object.metricValue)\n ? MetricValue.fromJSON(object.metricValue)\n : undefined,\n runtimeInfo: isSet(object.runtimeInfo)\n ? RuntimeInfo.fromJSON(object.runtimeInfo)\n : undefined,\n };\n },\n\n toJSON(message: GaugeResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata\n ? RecordMetaData.toJSON(message.metadata)\n : undefined);\n message.metricValue !== undefined &&\n (obj.metricValue = message.metricValue\n ? MetricValue.toJSON(message.metricValue)\n : undefined);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo\n ? RuntimeInfo.toJSON(message.runtimeInfo)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<GaugeResult>): GaugeResult {\n const message = createBaseGaugeResult();\n message.metadata =\n object.metadata !== undefined && object.metadata !== null\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.metricValue =\n object.metricValue !== undefined && object.metricValue !== null\n ? MetricValue.fromPartial(object.metricValue)\n : undefined;\n message.runtimeInfo =\n object.runtimeInfo !== undefined && object.runtimeInfo !== null\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseCounterResult(): CounterResult {\n return {\n metadata: undefined,\n metricValue: undefined,\n add: false,\n runtimeInfo: undefined,\n };\n}\n\nexport const CounterResult = {\n encode(\n message: CounterResult,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(\n message.metadata,\n writer.uint32(10).fork()\n ).ldelim();\n }\n if (message.metricValue !== undefined) {\n MetricValue.encode(\n message.metricValue,\n writer.uint32(18).fork()\n ).ldelim();\n }\n if (message.add === true) {\n writer.uint32(24).bool(message.add);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(\n message.runtimeInfo,\n writer.uint32(34).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): CounterResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCounterResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.metricValue = MetricValue.decode(reader, reader.uint32());\n break;\n case 3:\n message.add = reader.bool();\n break;\n case 4:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): CounterResult {\n return {\n metadata: isSet(object.metadata)\n ? RecordMetaData.fromJSON(object.metadata)\n : undefined,\n metricValue: isSet(object.metricValue)\n ? MetricValue.fromJSON(object.metricValue)\n : undefined,\n add: isSet(object.add) ? Boolean(object.add) : false,\n runtimeInfo: isSet(object.runtimeInfo)\n ? RuntimeInfo.fromJSON(object.runtimeInfo)\n : undefined,\n };\n },\n\n toJSON(message: CounterResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata\n ? RecordMetaData.toJSON(message.metadata)\n : undefined);\n message.metricValue !== undefined &&\n (obj.metricValue = message.metricValue\n ? MetricValue.toJSON(message.metricValue)\n : undefined);\n message.add !== undefined && (obj.add = message.add);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo\n ? RuntimeInfo.toJSON(message.runtimeInfo)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<CounterResult>): CounterResult {\n const message = createBaseCounterResult();\n message.metadata =\n object.metadata !== undefined && object.metadata !== null\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.metricValue =\n object.metricValue !== undefined && object.metricValue !== null\n ? MetricValue.fromPartial(object.metricValue)\n : undefined;\n message.add = object.add ?? false;\n message.runtimeInfo =\n object.runtimeInfo !== undefined && object.runtimeInfo !== null\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseLogResult(): LogResult {\n return {\n metadata: undefined,\n level: 0,\n message: \"\",\n attributes: \"\",\n runtimeInfo: undefined,\n };\n}\n\nexport const LogResult = {\n encode(\n message: LogResult,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(\n message.metadata,\n writer.uint32(10).fork()\n ).ldelim();\n }\n if (message.level !== 0) {\n writer.uint32(16).int32(message.level);\n }\n if (message.message !== \"\") {\n writer.uint32(26).string(message.message);\n }\n if (message.attributes !== \"\") {\n writer.uint32(50).string(message.attributes);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(\n message.runtimeInfo,\n writer.uint32(34).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LogResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLogResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.level = reader.int32() as any;\n break;\n case 3:\n message.message = reader.string();\n break;\n case 6:\n message.attributes = reader.string();\n break;\n case 4:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): LogResult {\n return {\n metadata: isSet(object.metadata)\n ? RecordMetaData.fromJSON(object.metadata)\n : undefined,\n level: isSet(object.level) ? logLevelFromJSON(object.level) : 0,\n message: isSet(object.message) ? String(object.message) : \"\",\n attributes: isSet(object.attributes) ? String(object.attributes) : \"\",\n runtimeInfo: isSet(object.runtimeInfo)\n ? RuntimeInfo.fromJSON(object.runtimeInfo)\n : undefined,\n };\n },\n\n toJSON(message: LogResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata\n ? RecordMetaData.toJSON(message.metadata)\n : undefined);\n message.level !== undefined && (obj.level = logLevelToJSON(message.level));\n message.message !== undefined && (obj.message = message.message);\n message.attributes !== undefined && (obj.attributes = message.attributes);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo\n ? RuntimeInfo.toJSON(message.runtimeInfo)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<LogResult>): LogResult {\n const message = createBaseLogResult();\n message.metadata =\n object.metadata !== undefined && object.metadata !== null\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.level = object.level ?? 0;\n message.message = object.message ?? \"\";\n message.attributes = object.attributes ?? \"\";\n message.runtimeInfo =\n object.runtimeInfo !== undefined && object.runtimeInfo !== null\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseEventTrackingResult(): EventTrackingResult {\n return {\n metadata: undefined,\n distinctEntityId: \"\",\n attributes: \"\",\n runtimeInfo: undefined,\n };\n}\n\nexport const EventTrackingResult = {\n encode(\n message: EventTrackingResult,\n writer: _m0.Writer = _m0.Writer.create()\n ): _m0.Writer {\n if (message.metadata !== undefined) {\n RecordMetaData.encode(\n message.metadata,\n writer.uint32(10).fork()\n ).ldelim();\n }\n if (message.distinctEntityId !== \"\") {\n writer.uint32(18).string(message.distinctEntityId);\n }\n if (message.attributes !== \"\") {\n writer.uint32(34).string(message.attributes);\n }\n if (message.runtimeInfo !== undefined) {\n RuntimeInfo.encode(\n message.runtimeInfo,\n writer.uint32(42).fork()\n ).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): EventTrackingResult {\n const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseEventTrackingResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n message.metadata = RecordMetaData.decode(reader, reader.uint32());\n break;\n case 2:\n message.distinctEntityId = reader.string();\n break;\n case 4:\n message.attributes = reader.string();\n break;\n case 5:\n message.runtimeInfo = RuntimeInfo.decode(reader, reader.uint32());\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return message;\n },\n\n fromJSON(object: any): EventTrackingResult {\n return {\n metadata: isSet(object.metadata)\n ? RecordMetaData.fromJSON(object.metadata)\n : undefined,\n distinctEntityId: isSet(object.distinctEntityId)\n ? String(object.distinctEntityId)\n : \"\",\n attributes: isSet(object.attributes) ? String(object.attributes) : \"\",\n runtimeInfo: isSet(object.runtimeInfo)\n ? RuntimeInfo.fromJSON(object.runtimeInfo)\n : undefined,\n };\n },\n\n toJSON(message: EventTrackingResult): unknown {\n const obj: any = {};\n message.metadata !== undefined &&\n (obj.metadata = message.metadata\n ? RecordMetaData.toJSON(message.metadata)\n : undefined);\n message.distinctEntityId !== undefined &&\n (obj.distinctEntityId = message.distinctEntityId);\n message.attributes !== undefined && (obj.attributes = message.attributes);\n message.runtimeInfo !== undefined &&\n (obj.runtimeInfo = message.runtimeInfo\n ? RuntimeInfo.toJSON(message.runtimeInfo)\n : undefined);\n return obj;\n },\n\n fromPartial(object: DeepPartial<EventTrackingResult>): EventTrackingResult {\n const message = createBaseEventTrackingResult();\n message.metadata =\n object.metadata !== undefined && object.metadata !== null\n ? RecordMetaData.fromPartial(object.metadata)\n : undefined;\n message.distinctEntityId = object.distinctEntityId ?? \"\";\n message.attributes = object.attributes ?? \"\";\n message.runtimeInfo =\n object.runtimeInfo !== undefined && object.runtimeInfo !== null\n ? RuntimeInfo.fromPartial(object.runtimeInfo)\n : undefined;\n return message;\n },\n};\n\nexport type ProcessorDefinition = typeof ProcessorDefinition;\nexport const ProcessorDefinition = {\n name: \"Processor\",\n fullName: \"processor.Processor\",\n methods: {\n start: {\n name: \"Start\",\n requestType: StartRequest,\n requestStream: false,\n responseType: Empty,\n responseStream: false,\n options: {},\n },\n stop: {\n name: \"Stop\",\n requestType: Empty,\n requestStream: false,\n responseType: Empty,\n responseStream: false,\n options: {},\n },\n getConfig: {\n name: \"GetConfig\",\n requestType: ProcessConfigRequest,\n requestStream: false,\n responseType: ProcessConfigResponse,\n responseStream: false,\n options: {},\n },\n processLogs: {\n name: \"ProcessLogs\",\n requestType: ProcessBindingsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processTraces: {\n name: \"ProcessTraces\",\n requestType: ProcessBindingsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processTransactions: {\n name: \"ProcessTransactions\",\n requestType: ProcessTransactionsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processInstructions: {\n name: \"ProcessInstructions\",\n requestType: ProcessInstructionsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processBlocks: {\n name: \"ProcessBlocks\",\n requestType: ProcessBlocksRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n processBindings: {\n name: \"ProcessBindings\",\n requestType: ProcessBindingsRequest,\n requestStream: false,\n responseType: ProcessBindingResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\nexport interface ProcessorServiceImplementation<CallContextExt = {}> {\n start(\n request: StartRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<Empty>>;\n stop(\n request: Empty,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<Empty>>;\n getConfig(\n request: ProcessConfigRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessConfigResponse>>;\n processLogs(\n request: ProcessBindingsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processTraces(\n request: ProcessBindingsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processTransactions(\n request: ProcessTransactionsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processInstructions(\n request: ProcessInstructionsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processBlocks(\n request: ProcessBlocksRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n processBindings(\n request: ProcessBindingsRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<ProcessBindingResponse>>;\n}\n\nexport interface ProcessorClient<CallOptionsExt = {}> {\n start(\n request: DeepPartial<StartRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<Empty>;\n stop(\n request: DeepPartial<Empty>,\n options?: CallOptions & CallOptionsExt\n ): Promise<Empty>;\n getConfig(\n request: DeepPartial<ProcessConfigRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessConfigResponse>;\n processLogs(\n request: DeepPartial<ProcessBindingsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processTraces(\n request: DeepPartial<ProcessBindingsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processTransactions(\n request: DeepPartial<ProcessTransactionsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processInstructions(\n request: DeepPartial<ProcessInstructionsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processBlocks(\n request: DeepPartial<ProcessBlocksRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n processBindings(\n request: DeepPartial<ProcessBindingsRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<ProcessBindingResponse>;\n}\n\ndeclare var self: any | undefined;\ndeclare var window: any | undefined;\ndeclare var global: any | undefined;\nvar globalThis: any = (() => {\n if (typeof globalThis !== \"undefined\") return globalThis;\n if (typeof self !== \"undefined\") return self;\n if (typeof window !== \"undefined\") return window;\n if (typeof global !== \"undefined\") return global;\n throw \"Unable to locate global object\";\n})();\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if (globalThis.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.Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin =\n | Date\n | Function\n | Uint8Array\n | string\n | number\n | boolean\n | undefined;\n\ntype DeepPartial<T> = T extends Builtin\n ? T\n : T extends Long\n ? string | number | Long\n : T extends Array<infer U>\n ? Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : T extends {}\n ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n\nfunction isObject(value: any): boolean {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n"]}