@apibara/evm 2.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,847 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v1.176.0
4
+ // protoc unknown
5
+ // source: filter.proto
6
+
7
+ /* eslint-disable */
8
+ import _m0 from "protobufjs/minimal";
9
+ import { Address, B256 } from "./common";
10
+
11
+ export const protobufPackage = "evm.v2";
12
+
13
+ /** EVM DNA definitions (filter). */
14
+
15
+ export enum TransactionStatusFilter {
16
+ UNSPECIFIED = 0,
17
+ SUCCEEDED = 1,
18
+ REVERTED = 2,
19
+ ALL = 3,
20
+ UNRECOGNIZED = -1,
21
+ }
22
+
23
+ export function transactionStatusFilterFromJSON(object: any): TransactionStatusFilter {
24
+ switch (object) {
25
+ case 0:
26
+ case "TRANSACTION_STATUS_FILTER_UNSPECIFIED":
27
+ return TransactionStatusFilter.UNSPECIFIED;
28
+ case 1:
29
+ case "TRANSACTION_STATUS_FILTER_SUCCEEDED":
30
+ return TransactionStatusFilter.SUCCEEDED;
31
+ case 2:
32
+ case "TRANSACTION_STATUS_FILTER_REVERTED":
33
+ return TransactionStatusFilter.REVERTED;
34
+ case 3:
35
+ case "TRANSACTION_STATUS_FILTER_ALL":
36
+ return TransactionStatusFilter.ALL;
37
+ case -1:
38
+ case "UNRECOGNIZED":
39
+ default:
40
+ return TransactionStatusFilter.UNRECOGNIZED;
41
+ }
42
+ }
43
+
44
+ export function transactionStatusFilterToJSON(object: TransactionStatusFilter): string {
45
+ switch (object) {
46
+ case TransactionStatusFilter.UNSPECIFIED:
47
+ return "TRANSACTION_STATUS_FILTER_UNSPECIFIED";
48
+ case TransactionStatusFilter.SUCCEEDED:
49
+ return "TRANSACTION_STATUS_FILTER_SUCCEEDED";
50
+ case TransactionStatusFilter.REVERTED:
51
+ return "TRANSACTION_STATUS_FILTER_REVERTED";
52
+ case TransactionStatusFilter.ALL:
53
+ return "TRANSACTION_STATUS_FILTER_ALL";
54
+ case TransactionStatusFilter.UNRECOGNIZED:
55
+ default:
56
+ return "UNRECOGNIZED";
57
+ }
58
+ }
59
+
60
+ export interface Filter {
61
+ /** Include header. */
62
+ readonly header?:
63
+ | HeaderFilter
64
+ | undefined;
65
+ /** Filter withdrawals. */
66
+ readonly withdrawals?:
67
+ | readonly WithdrawalFilter[]
68
+ | undefined;
69
+ /** Filter transactions. */
70
+ readonly transactions?:
71
+ | readonly TransactionFilter[]
72
+ | undefined;
73
+ /** Filter logs. */
74
+ readonly logs?: readonly LogFilter[] | undefined;
75
+ }
76
+
77
+ export interface HeaderFilter {
78
+ /** Always include header data. Defaults to `false`. */
79
+ readonly always?: boolean | undefined;
80
+ }
81
+
82
+ export interface WithdrawalFilter {
83
+ readonly id?:
84
+ | number
85
+ | undefined;
86
+ /** Filter based on the validator index. */
87
+ readonly validatorIndex?:
88
+ | number
89
+ | undefined;
90
+ /** Filter based on the withdrawal's target address. */
91
+ readonly address?: Address | undefined;
92
+ }
93
+
94
+ export interface TransactionFilter {
95
+ readonly id?:
96
+ | number
97
+ | undefined;
98
+ /** Filter based on the transaction's sender address. */
99
+ readonly from?:
100
+ | Address
101
+ | undefined;
102
+ /** Filter based on the transaction's recipient address. */
103
+ readonly to?:
104
+ | Address
105
+ | undefined;
106
+ /** / Only return `create` transactions. Defaults to `false`. */
107
+ readonly create?:
108
+ | boolean
109
+ | undefined;
110
+ /**
111
+ * Filter based on the transaction status.
112
+ *
113
+ * Defaults to `Succeeded`.
114
+ */
115
+ readonly transactionStatus?:
116
+ | TransactionStatusFilter
117
+ | undefined;
118
+ /** Flag to request the transaction's receipt. Defaults to `false`. */
119
+ readonly includeReceipt?:
120
+ | boolean
121
+ | undefined;
122
+ /** Flag to request the transaction's logs. Defaults to `false`. */
123
+ readonly includeLogs?: boolean | undefined;
124
+ }
125
+
126
+ export interface LogFilter {
127
+ readonly id?:
128
+ | number
129
+ | undefined;
130
+ /** Filter based on the log's contract address. */
131
+ readonly address?:
132
+ | Address
133
+ | undefined;
134
+ /** Filter based on the log's topics. */
135
+ readonly topics?:
136
+ | readonly Topic[]
137
+ | undefined;
138
+ /**
139
+ * Only returns logs with topics of exactly the same length as the filter.
140
+ *
141
+ * Defaults to `false`.
142
+ */
143
+ readonly strict?:
144
+ | boolean
145
+ | undefined;
146
+ /**
147
+ * Filter based on the transaction status.
148
+ *
149
+ * Defaults to `Succeeded`.
150
+ */
151
+ readonly transactionStatus?:
152
+ | TransactionStatusFilter
153
+ | undefined;
154
+ /** Flag to request the log's transaction. Defaults to `false`. */
155
+ readonly includeTransaction?:
156
+ | boolean
157
+ | undefined;
158
+ /** Flag to request the log's receipt. Defaults to `false`. */
159
+ readonly includeReceipt?:
160
+ | boolean
161
+ | undefined;
162
+ /**
163
+ * Include sibling logs, that is logs emitted by the same transaction.
164
+ *
165
+ * Defaults to false.
166
+ */
167
+ readonly includeSiblings?: boolean | undefined;
168
+ }
169
+
170
+ /** Topic filter. */
171
+ export interface Topic {
172
+ /** Topic value. Leave empty to match any topic. */
173
+ readonly value?: B256 | undefined;
174
+ }
175
+
176
+ function createBaseFilter(): Filter {
177
+ return { header: undefined, withdrawals: [], transactions: [], logs: [] };
178
+ }
179
+
180
+ export const Filter = {
181
+ encode(message: Filter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
182
+ if (message.header !== undefined) {
183
+ HeaderFilter.encode(message.header, writer.uint32(10).fork()).ldelim();
184
+ }
185
+ if (message.withdrawals !== undefined && message.withdrawals.length !== 0) {
186
+ for (const v of message.withdrawals) {
187
+ WithdrawalFilter.encode(v!, writer.uint32(18).fork()).ldelim();
188
+ }
189
+ }
190
+ if (message.transactions !== undefined && message.transactions.length !== 0) {
191
+ for (const v of message.transactions) {
192
+ TransactionFilter.encode(v!, writer.uint32(26).fork()).ldelim();
193
+ }
194
+ }
195
+ if (message.logs !== undefined && message.logs.length !== 0) {
196
+ for (const v of message.logs) {
197
+ LogFilter.encode(v!, writer.uint32(34).fork()).ldelim();
198
+ }
199
+ }
200
+ return writer;
201
+ },
202
+
203
+ decode(input: _m0.Reader | Uint8Array, length?: number): Filter {
204
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
205
+ let end = length === undefined ? reader.len : reader.pos + length;
206
+ const message = createBaseFilter() as any;
207
+ while (reader.pos < end) {
208
+ const tag = reader.uint32();
209
+ switch (tag >>> 3) {
210
+ case 1:
211
+ if (tag !== 10) {
212
+ break;
213
+ }
214
+
215
+ message.header = HeaderFilter.decode(reader, reader.uint32());
216
+ continue;
217
+ case 2:
218
+ if (tag !== 18) {
219
+ break;
220
+ }
221
+
222
+ message.withdrawals!.push(WithdrawalFilter.decode(reader, reader.uint32()));
223
+ continue;
224
+ case 3:
225
+ if (tag !== 26) {
226
+ break;
227
+ }
228
+
229
+ message.transactions!.push(TransactionFilter.decode(reader, reader.uint32()));
230
+ continue;
231
+ case 4:
232
+ if (tag !== 34) {
233
+ break;
234
+ }
235
+
236
+ message.logs!.push(LogFilter.decode(reader, reader.uint32()));
237
+ continue;
238
+ }
239
+ if ((tag & 7) === 4 || tag === 0) {
240
+ break;
241
+ }
242
+ reader.skipType(tag & 7);
243
+ }
244
+ return message;
245
+ },
246
+
247
+ fromJSON(object: any): Filter {
248
+ return {
249
+ header: isSet(object.header) ? HeaderFilter.fromJSON(object.header) : undefined,
250
+ withdrawals: globalThis.Array.isArray(object?.withdrawals)
251
+ ? object.withdrawals.map((e: any) => WithdrawalFilter.fromJSON(e))
252
+ : [],
253
+ transactions: globalThis.Array.isArray(object?.transactions)
254
+ ? object.transactions.map((e: any) => TransactionFilter.fromJSON(e))
255
+ : [],
256
+ logs: globalThis.Array.isArray(object?.logs) ? object.logs.map((e: any) => LogFilter.fromJSON(e)) : [],
257
+ };
258
+ },
259
+
260
+ toJSON(message: Filter): unknown {
261
+ const obj: any = {};
262
+ if (message.header !== undefined) {
263
+ obj.header = HeaderFilter.toJSON(message.header);
264
+ }
265
+ if (message.withdrawals?.length) {
266
+ obj.withdrawals = message.withdrawals.map((e) => WithdrawalFilter.toJSON(e));
267
+ }
268
+ if (message.transactions?.length) {
269
+ obj.transactions = message.transactions.map((e) => TransactionFilter.toJSON(e));
270
+ }
271
+ if (message.logs?.length) {
272
+ obj.logs = message.logs.map((e) => LogFilter.toJSON(e));
273
+ }
274
+ return obj;
275
+ },
276
+
277
+ create(base?: DeepPartial<Filter>): Filter {
278
+ return Filter.fromPartial(base ?? {});
279
+ },
280
+ fromPartial(object: DeepPartial<Filter>): Filter {
281
+ const message = createBaseFilter() as any;
282
+ message.header = (object.header !== undefined && object.header !== null)
283
+ ? HeaderFilter.fromPartial(object.header)
284
+ : undefined;
285
+ message.withdrawals = object.withdrawals?.map((e) => WithdrawalFilter.fromPartial(e)) || [];
286
+ message.transactions = object.transactions?.map((e) => TransactionFilter.fromPartial(e)) || [];
287
+ message.logs = object.logs?.map((e) => LogFilter.fromPartial(e)) || [];
288
+ return message;
289
+ },
290
+ };
291
+
292
+ function createBaseHeaderFilter(): HeaderFilter {
293
+ return { always: undefined };
294
+ }
295
+
296
+ export const HeaderFilter = {
297
+ encode(message: HeaderFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
298
+ if (message.always !== undefined) {
299
+ writer.uint32(8).bool(message.always);
300
+ }
301
+ return writer;
302
+ },
303
+
304
+ decode(input: _m0.Reader | Uint8Array, length?: number): HeaderFilter {
305
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
306
+ let end = length === undefined ? reader.len : reader.pos + length;
307
+ const message = createBaseHeaderFilter() as any;
308
+ while (reader.pos < end) {
309
+ const tag = reader.uint32();
310
+ switch (tag >>> 3) {
311
+ case 1:
312
+ if (tag !== 8) {
313
+ break;
314
+ }
315
+
316
+ message.always = reader.bool();
317
+ continue;
318
+ }
319
+ if ((tag & 7) === 4 || tag === 0) {
320
+ break;
321
+ }
322
+ reader.skipType(tag & 7);
323
+ }
324
+ return message;
325
+ },
326
+
327
+ fromJSON(object: any): HeaderFilter {
328
+ return { always: isSet(object.always) ? globalThis.Boolean(object.always) : undefined };
329
+ },
330
+
331
+ toJSON(message: HeaderFilter): unknown {
332
+ const obj: any = {};
333
+ if (message.always !== undefined) {
334
+ obj.always = message.always;
335
+ }
336
+ return obj;
337
+ },
338
+
339
+ create(base?: DeepPartial<HeaderFilter>): HeaderFilter {
340
+ return HeaderFilter.fromPartial(base ?? {});
341
+ },
342
+ fromPartial(object: DeepPartial<HeaderFilter>): HeaderFilter {
343
+ const message = createBaseHeaderFilter() as any;
344
+ message.always = object.always ?? undefined;
345
+ return message;
346
+ },
347
+ };
348
+
349
+ function createBaseWithdrawalFilter(): WithdrawalFilter {
350
+ return { id: 0, validatorIndex: undefined, address: undefined };
351
+ }
352
+
353
+ export const WithdrawalFilter = {
354
+ encode(message: WithdrawalFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
355
+ if (message.id !== undefined && message.id !== 0) {
356
+ writer.uint32(8).uint32(message.id);
357
+ }
358
+ if (message.validatorIndex !== undefined) {
359
+ writer.uint32(16).uint32(message.validatorIndex);
360
+ }
361
+ if (message.address !== undefined) {
362
+ Address.encode(message.address, writer.uint32(26).fork()).ldelim();
363
+ }
364
+ return writer;
365
+ },
366
+
367
+ decode(input: _m0.Reader | Uint8Array, length?: number): WithdrawalFilter {
368
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
369
+ let end = length === undefined ? reader.len : reader.pos + length;
370
+ const message = createBaseWithdrawalFilter() as any;
371
+ while (reader.pos < end) {
372
+ const tag = reader.uint32();
373
+ switch (tag >>> 3) {
374
+ case 1:
375
+ if (tag !== 8) {
376
+ break;
377
+ }
378
+
379
+ message.id = reader.uint32();
380
+ continue;
381
+ case 2:
382
+ if (tag !== 16) {
383
+ break;
384
+ }
385
+
386
+ message.validatorIndex = reader.uint32();
387
+ continue;
388
+ case 3:
389
+ if (tag !== 26) {
390
+ break;
391
+ }
392
+
393
+ message.address = Address.decode(reader, reader.uint32());
394
+ continue;
395
+ }
396
+ if ((tag & 7) === 4 || tag === 0) {
397
+ break;
398
+ }
399
+ reader.skipType(tag & 7);
400
+ }
401
+ return message;
402
+ },
403
+
404
+ fromJSON(object: any): WithdrawalFilter {
405
+ return {
406
+ id: isSet(object.id) ? globalThis.Number(object.id) : 0,
407
+ validatorIndex: isSet(object.validatorIndex) ? globalThis.Number(object.validatorIndex) : undefined,
408
+ address: isSet(object.address) ? Address.fromJSON(object.address) : undefined,
409
+ };
410
+ },
411
+
412
+ toJSON(message: WithdrawalFilter): unknown {
413
+ const obj: any = {};
414
+ if (message.id !== undefined && message.id !== 0) {
415
+ obj.id = Math.round(message.id);
416
+ }
417
+ if (message.validatorIndex !== undefined) {
418
+ obj.validatorIndex = Math.round(message.validatorIndex);
419
+ }
420
+ if (message.address !== undefined) {
421
+ obj.address = Address.toJSON(message.address);
422
+ }
423
+ return obj;
424
+ },
425
+
426
+ create(base?: DeepPartial<WithdrawalFilter>): WithdrawalFilter {
427
+ return WithdrawalFilter.fromPartial(base ?? {});
428
+ },
429
+ fromPartial(object: DeepPartial<WithdrawalFilter>): WithdrawalFilter {
430
+ const message = createBaseWithdrawalFilter() as any;
431
+ message.id = object.id ?? 0;
432
+ message.validatorIndex = object.validatorIndex ?? undefined;
433
+ message.address = (object.address !== undefined && object.address !== null)
434
+ ? Address.fromPartial(object.address)
435
+ : undefined;
436
+ return message;
437
+ },
438
+ };
439
+
440
+ function createBaseTransactionFilter(): TransactionFilter {
441
+ return {
442
+ id: 0,
443
+ from: undefined,
444
+ to: undefined,
445
+ create: undefined,
446
+ transactionStatus: undefined,
447
+ includeReceipt: undefined,
448
+ includeLogs: undefined,
449
+ };
450
+ }
451
+
452
+ export const TransactionFilter = {
453
+ encode(message: TransactionFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
454
+ if (message.id !== undefined && message.id !== 0) {
455
+ writer.uint32(8).uint32(message.id);
456
+ }
457
+ if (message.from !== undefined) {
458
+ Address.encode(message.from, writer.uint32(18).fork()).ldelim();
459
+ }
460
+ if (message.to !== undefined) {
461
+ Address.encode(message.to, writer.uint32(26).fork()).ldelim();
462
+ }
463
+ if (message.create !== undefined) {
464
+ writer.uint32(32).bool(message.create);
465
+ }
466
+ if (message.transactionStatus !== undefined) {
467
+ writer.uint32(40).int32(message.transactionStatus);
468
+ }
469
+ if (message.includeReceipt !== undefined) {
470
+ writer.uint32(48).bool(message.includeReceipt);
471
+ }
472
+ if (message.includeLogs !== undefined) {
473
+ writer.uint32(56).bool(message.includeLogs);
474
+ }
475
+ return writer;
476
+ },
477
+
478
+ decode(input: _m0.Reader | Uint8Array, length?: number): TransactionFilter {
479
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
480
+ let end = length === undefined ? reader.len : reader.pos + length;
481
+ const message = createBaseTransactionFilter() as any;
482
+ while (reader.pos < end) {
483
+ const tag = reader.uint32();
484
+ switch (tag >>> 3) {
485
+ case 1:
486
+ if (tag !== 8) {
487
+ break;
488
+ }
489
+
490
+ message.id = reader.uint32();
491
+ continue;
492
+ case 2:
493
+ if (tag !== 18) {
494
+ break;
495
+ }
496
+
497
+ message.from = Address.decode(reader, reader.uint32());
498
+ continue;
499
+ case 3:
500
+ if (tag !== 26) {
501
+ break;
502
+ }
503
+
504
+ message.to = Address.decode(reader, reader.uint32());
505
+ continue;
506
+ case 4:
507
+ if (tag !== 32) {
508
+ break;
509
+ }
510
+
511
+ message.create = reader.bool();
512
+ continue;
513
+ case 5:
514
+ if (tag !== 40) {
515
+ break;
516
+ }
517
+
518
+ message.transactionStatus = reader.int32() as any;
519
+ continue;
520
+ case 6:
521
+ if (tag !== 48) {
522
+ break;
523
+ }
524
+
525
+ message.includeReceipt = reader.bool();
526
+ continue;
527
+ case 7:
528
+ if (tag !== 56) {
529
+ break;
530
+ }
531
+
532
+ message.includeLogs = reader.bool();
533
+ continue;
534
+ }
535
+ if ((tag & 7) === 4 || tag === 0) {
536
+ break;
537
+ }
538
+ reader.skipType(tag & 7);
539
+ }
540
+ return message;
541
+ },
542
+
543
+ fromJSON(object: any): TransactionFilter {
544
+ return {
545
+ id: isSet(object.id) ? globalThis.Number(object.id) : 0,
546
+ from: isSet(object.from) ? Address.fromJSON(object.from) : undefined,
547
+ to: isSet(object.to) ? Address.fromJSON(object.to) : undefined,
548
+ create: isSet(object.create) ? globalThis.Boolean(object.create) : undefined,
549
+ transactionStatus: isSet(object.transactionStatus)
550
+ ? transactionStatusFilterFromJSON(object.transactionStatus)
551
+ : undefined,
552
+ includeReceipt: isSet(object.includeReceipt) ? globalThis.Boolean(object.includeReceipt) : undefined,
553
+ includeLogs: isSet(object.includeLogs) ? globalThis.Boolean(object.includeLogs) : undefined,
554
+ };
555
+ },
556
+
557
+ toJSON(message: TransactionFilter): unknown {
558
+ const obj: any = {};
559
+ if (message.id !== undefined && message.id !== 0) {
560
+ obj.id = Math.round(message.id);
561
+ }
562
+ if (message.from !== undefined) {
563
+ obj.from = Address.toJSON(message.from);
564
+ }
565
+ if (message.to !== undefined) {
566
+ obj.to = Address.toJSON(message.to);
567
+ }
568
+ if (message.create !== undefined) {
569
+ obj.create = message.create;
570
+ }
571
+ if (message.transactionStatus !== undefined) {
572
+ obj.transactionStatus = transactionStatusFilterToJSON(message.transactionStatus);
573
+ }
574
+ if (message.includeReceipt !== undefined) {
575
+ obj.includeReceipt = message.includeReceipt;
576
+ }
577
+ if (message.includeLogs !== undefined) {
578
+ obj.includeLogs = message.includeLogs;
579
+ }
580
+ return obj;
581
+ },
582
+
583
+ create(base?: DeepPartial<TransactionFilter>): TransactionFilter {
584
+ return TransactionFilter.fromPartial(base ?? {});
585
+ },
586
+ fromPartial(object: DeepPartial<TransactionFilter>): TransactionFilter {
587
+ const message = createBaseTransactionFilter() as any;
588
+ message.id = object.id ?? 0;
589
+ message.from = (object.from !== undefined && object.from !== null) ? Address.fromPartial(object.from) : undefined;
590
+ message.to = (object.to !== undefined && object.to !== null) ? Address.fromPartial(object.to) : undefined;
591
+ message.create = object.create ?? undefined;
592
+ message.transactionStatus = object.transactionStatus ?? undefined;
593
+ message.includeReceipt = object.includeReceipt ?? undefined;
594
+ message.includeLogs = object.includeLogs ?? undefined;
595
+ return message;
596
+ },
597
+ };
598
+
599
+ function createBaseLogFilter(): LogFilter {
600
+ return {
601
+ id: 0,
602
+ address: undefined,
603
+ topics: [],
604
+ strict: undefined,
605
+ transactionStatus: undefined,
606
+ includeTransaction: undefined,
607
+ includeReceipt: undefined,
608
+ includeSiblings: undefined,
609
+ };
610
+ }
611
+
612
+ export const LogFilter = {
613
+ encode(message: LogFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
614
+ if (message.id !== undefined && message.id !== 0) {
615
+ writer.uint32(8).uint32(message.id);
616
+ }
617
+ if (message.address !== undefined) {
618
+ Address.encode(message.address, writer.uint32(18).fork()).ldelim();
619
+ }
620
+ if (message.topics !== undefined && message.topics.length !== 0) {
621
+ for (const v of message.topics) {
622
+ Topic.encode(v!, writer.uint32(26).fork()).ldelim();
623
+ }
624
+ }
625
+ if (message.strict !== undefined) {
626
+ writer.uint32(32).bool(message.strict);
627
+ }
628
+ if (message.transactionStatus !== undefined) {
629
+ writer.uint32(40).int32(message.transactionStatus);
630
+ }
631
+ if (message.includeTransaction !== undefined) {
632
+ writer.uint32(48).bool(message.includeTransaction);
633
+ }
634
+ if (message.includeReceipt !== undefined) {
635
+ writer.uint32(56).bool(message.includeReceipt);
636
+ }
637
+ if (message.includeSiblings !== undefined) {
638
+ writer.uint32(64).bool(message.includeSiblings);
639
+ }
640
+ return writer;
641
+ },
642
+
643
+ decode(input: _m0.Reader | Uint8Array, length?: number): LogFilter {
644
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
645
+ let end = length === undefined ? reader.len : reader.pos + length;
646
+ const message = createBaseLogFilter() as any;
647
+ while (reader.pos < end) {
648
+ const tag = reader.uint32();
649
+ switch (tag >>> 3) {
650
+ case 1:
651
+ if (tag !== 8) {
652
+ break;
653
+ }
654
+
655
+ message.id = reader.uint32();
656
+ continue;
657
+ case 2:
658
+ if (tag !== 18) {
659
+ break;
660
+ }
661
+
662
+ message.address = Address.decode(reader, reader.uint32());
663
+ continue;
664
+ case 3:
665
+ if (tag !== 26) {
666
+ break;
667
+ }
668
+
669
+ message.topics!.push(Topic.decode(reader, reader.uint32()));
670
+ continue;
671
+ case 4:
672
+ if (tag !== 32) {
673
+ break;
674
+ }
675
+
676
+ message.strict = reader.bool();
677
+ continue;
678
+ case 5:
679
+ if (tag !== 40) {
680
+ break;
681
+ }
682
+
683
+ message.transactionStatus = reader.int32() as any;
684
+ continue;
685
+ case 6:
686
+ if (tag !== 48) {
687
+ break;
688
+ }
689
+
690
+ message.includeTransaction = reader.bool();
691
+ continue;
692
+ case 7:
693
+ if (tag !== 56) {
694
+ break;
695
+ }
696
+
697
+ message.includeReceipt = reader.bool();
698
+ continue;
699
+ case 8:
700
+ if (tag !== 64) {
701
+ break;
702
+ }
703
+
704
+ message.includeSiblings = reader.bool();
705
+ continue;
706
+ }
707
+ if ((tag & 7) === 4 || tag === 0) {
708
+ break;
709
+ }
710
+ reader.skipType(tag & 7);
711
+ }
712
+ return message;
713
+ },
714
+
715
+ fromJSON(object: any): LogFilter {
716
+ return {
717
+ id: isSet(object.id) ? globalThis.Number(object.id) : 0,
718
+ address: isSet(object.address) ? Address.fromJSON(object.address) : undefined,
719
+ topics: globalThis.Array.isArray(object?.topics) ? object.topics.map((e: any) => Topic.fromJSON(e)) : [],
720
+ strict: isSet(object.strict) ? globalThis.Boolean(object.strict) : undefined,
721
+ transactionStatus: isSet(object.transactionStatus)
722
+ ? transactionStatusFilterFromJSON(object.transactionStatus)
723
+ : undefined,
724
+ includeTransaction: isSet(object.includeTransaction) ? globalThis.Boolean(object.includeTransaction) : undefined,
725
+ includeReceipt: isSet(object.includeReceipt) ? globalThis.Boolean(object.includeReceipt) : undefined,
726
+ includeSiblings: isSet(object.includeSiblings) ? globalThis.Boolean(object.includeSiblings) : undefined,
727
+ };
728
+ },
729
+
730
+ toJSON(message: LogFilter): unknown {
731
+ const obj: any = {};
732
+ if (message.id !== undefined && message.id !== 0) {
733
+ obj.id = Math.round(message.id);
734
+ }
735
+ if (message.address !== undefined) {
736
+ obj.address = Address.toJSON(message.address);
737
+ }
738
+ if (message.topics?.length) {
739
+ obj.topics = message.topics.map((e) => Topic.toJSON(e));
740
+ }
741
+ if (message.strict !== undefined) {
742
+ obj.strict = message.strict;
743
+ }
744
+ if (message.transactionStatus !== undefined) {
745
+ obj.transactionStatus = transactionStatusFilterToJSON(message.transactionStatus);
746
+ }
747
+ if (message.includeTransaction !== undefined) {
748
+ obj.includeTransaction = message.includeTransaction;
749
+ }
750
+ if (message.includeReceipt !== undefined) {
751
+ obj.includeReceipt = message.includeReceipt;
752
+ }
753
+ if (message.includeSiblings !== undefined) {
754
+ obj.includeSiblings = message.includeSiblings;
755
+ }
756
+ return obj;
757
+ },
758
+
759
+ create(base?: DeepPartial<LogFilter>): LogFilter {
760
+ return LogFilter.fromPartial(base ?? {});
761
+ },
762
+ fromPartial(object: DeepPartial<LogFilter>): LogFilter {
763
+ const message = createBaseLogFilter() as any;
764
+ message.id = object.id ?? 0;
765
+ message.address = (object.address !== undefined && object.address !== null)
766
+ ? Address.fromPartial(object.address)
767
+ : undefined;
768
+ message.topics = object.topics?.map((e) => Topic.fromPartial(e)) || [];
769
+ message.strict = object.strict ?? undefined;
770
+ message.transactionStatus = object.transactionStatus ?? undefined;
771
+ message.includeTransaction = object.includeTransaction ?? undefined;
772
+ message.includeReceipt = object.includeReceipt ?? undefined;
773
+ message.includeSiblings = object.includeSiblings ?? undefined;
774
+ return message;
775
+ },
776
+ };
777
+
778
+ function createBaseTopic(): Topic {
779
+ return { value: undefined };
780
+ }
781
+
782
+ export const Topic = {
783
+ encode(message: Topic, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
784
+ if (message.value !== undefined) {
785
+ B256.encode(message.value, writer.uint32(10).fork()).ldelim();
786
+ }
787
+ return writer;
788
+ },
789
+
790
+ decode(input: _m0.Reader | Uint8Array, length?: number): Topic {
791
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
792
+ let end = length === undefined ? reader.len : reader.pos + length;
793
+ const message = createBaseTopic() as any;
794
+ while (reader.pos < end) {
795
+ const tag = reader.uint32();
796
+ switch (tag >>> 3) {
797
+ case 1:
798
+ if (tag !== 10) {
799
+ break;
800
+ }
801
+
802
+ message.value = B256.decode(reader, reader.uint32());
803
+ continue;
804
+ }
805
+ if ((tag & 7) === 4 || tag === 0) {
806
+ break;
807
+ }
808
+ reader.skipType(tag & 7);
809
+ }
810
+ return message;
811
+ },
812
+
813
+ fromJSON(object: any): Topic {
814
+ return { value: isSet(object.value) ? B256.fromJSON(object.value) : undefined };
815
+ },
816
+
817
+ toJSON(message: Topic): unknown {
818
+ const obj: any = {};
819
+ if (message.value !== undefined) {
820
+ obj.value = B256.toJSON(message.value);
821
+ }
822
+ return obj;
823
+ },
824
+
825
+ create(base?: DeepPartial<Topic>): Topic {
826
+ return Topic.fromPartial(base ?? {});
827
+ },
828
+ fromPartial(object: DeepPartial<Topic>): Topic {
829
+ const message = createBaseTopic() as any;
830
+ message.value = (object.value !== undefined && object.value !== null) ? B256.fromPartial(object.value) : undefined;
831
+ return message;
832
+ },
833
+ };
834
+
835
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;
836
+
837
+ export type DeepPartial<T> = T extends Builtin ? T
838
+ : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>
839
+ : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
840
+ : T extends { readonly $case: string }
841
+ ? { [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]> } & { readonly $case: T["$case"] }
842
+ : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
843
+ : Partial<T>;
844
+
845
+ function isSet(value: any): boolean {
846
+ return value !== null && value !== undefined;
847
+ }