iota_indexer/
schema.rs

1// Copyright (c) Mysten Labs, Inc.
2// Modifications Copyright (c) 2024 IOTA Stiftung
3// SPDX-License-Identifier: Apache-2.0
4// @generated automatically by scripts/indexer-schema/generate.sh
5
6diesel::table! {
7    active_addresses (address) {
8        address -> Bytea,
9        first_appearance_tx -> Int8,
10        first_appearance_time -> Int8,
11        last_appearance_tx -> Int8,
12        last_appearance_time -> Int8,
13    }
14}
15
16diesel::table! {
17    address_metrics (checkpoint) {
18        checkpoint -> Int8,
19        epoch -> Int8,
20        timestamp_ms -> Int8,
21        cumulative_addresses -> Int8,
22        cumulative_active_addresses -> Int8,
23        daily_active_addresses -> Int8,
24    }
25}
26
27diesel::table! {
28    addresses (address) {
29        address -> Bytea,
30        first_appearance_tx -> Int8,
31        first_appearance_time -> Int8,
32        last_appearance_tx -> Int8,
33        last_appearance_time -> Int8,
34    }
35}
36
37diesel::table! {
38    chain_identifier (checkpoint_digest) {
39        checkpoint_digest -> Bytea,
40    }
41}
42
43diesel::table! {
44    checkpoints (sequence_number) {
45        sequence_number -> Int8,
46        checkpoint_digest -> Bytea,
47        epoch -> Int8,
48        network_total_transactions -> Int8,
49        previous_checkpoint_digest -> Nullable<Bytea>,
50        end_of_epoch -> Bool,
51        tx_digests -> Array<Nullable<Bytea>>,
52        timestamp_ms -> Int8,
53        total_gas_cost -> Int8,
54        computation_cost -> Int8,
55        storage_cost -> Int8,
56        storage_rebate -> Int8,
57        non_refundable_storage_fee -> Int8,
58        checkpoint_commitments -> Bytea,
59        validator_signature -> Bytea,
60        end_of_epoch_data -> Nullable<Bytea>,
61        min_tx_sequence_number -> Nullable<Int8>,
62        max_tx_sequence_number -> Nullable<Int8>,
63        computation_cost_burned -> Nullable<Int8>,
64    }
65}
66
67diesel::table! {
68    display (object_type) {
69        object_type -> Text,
70        id -> Bytea,
71        version -> Int2,
72        bcs -> Bytea,
73    }
74}
75
76diesel::table! {
77    epoch_peak_tps (epoch) {
78        epoch -> Int8,
79        peak_tps -> Float8,
80        peak_tps_30d -> Float8,
81    }
82}
83
84diesel::table! {
85    epochs (epoch) {
86        epoch -> Int8,
87        first_checkpoint_id -> Int8,
88        epoch_start_timestamp -> Int8,
89        reference_gas_price -> Int8,
90        protocol_version -> Int8,
91        total_stake -> Int8,
92        storage_fund_balance -> Int8,
93        system_state -> Bytea,
94        epoch_total_transactions -> Nullable<Int8>,
95        last_checkpoint_id -> Nullable<Int8>,
96        epoch_end_timestamp -> Nullable<Int8>,
97        storage_charge -> Nullable<Int8>,
98        storage_rebate -> Nullable<Int8>,
99        total_gas_fees -> Nullable<Int8>,
100        total_stake_rewards_distributed -> Nullable<Int8>,
101        epoch_commitments -> Nullable<Bytea>,
102        burnt_tokens_amount -> Nullable<Int8>,
103        minted_tokens_amount -> Nullable<Int8>,
104    }
105}
106
107diesel::table! {
108    event_emit_module (package, module, tx_sequence_number, event_sequence_number) {
109        package -> Bytea,
110        module -> Text,
111        tx_sequence_number -> Int8,
112        event_sequence_number -> Int8,
113        sender -> Bytea,
114    }
115}
116
117diesel::table! {
118    event_emit_package (package, tx_sequence_number, event_sequence_number) {
119        package -> Bytea,
120        tx_sequence_number -> Int8,
121        event_sequence_number -> Int8,
122        sender -> Bytea,
123    }
124}
125
126diesel::table! {
127    event_senders (sender, tx_sequence_number, event_sequence_number) {
128        sender -> Bytea,
129        tx_sequence_number -> Int8,
130        event_sequence_number -> Int8,
131    }
132}
133
134diesel::table! {
135    event_struct_instantiation (package, module, type_instantiation, tx_sequence_number, event_sequence_number) {
136        package -> Bytea,
137        module -> Text,
138        type_instantiation -> Text,
139        tx_sequence_number -> Int8,
140        event_sequence_number -> Int8,
141        sender -> Bytea,
142    }
143}
144
145diesel::table! {
146    event_struct_module (package, module, tx_sequence_number, event_sequence_number) {
147        package -> Bytea,
148        module -> Text,
149        tx_sequence_number -> Int8,
150        event_sequence_number -> Int8,
151        sender -> Bytea,
152    }
153}
154
155diesel::table! {
156    event_struct_name (package, module, type_name, tx_sequence_number, event_sequence_number) {
157        package -> Bytea,
158        module -> Text,
159        type_name -> Text,
160        tx_sequence_number -> Int8,
161        event_sequence_number -> Int8,
162        sender -> Bytea,
163    }
164}
165
166diesel::table! {
167    event_struct_package (package, tx_sequence_number, event_sequence_number) {
168        package -> Bytea,
169        tx_sequence_number -> Int8,
170        event_sequence_number -> Int8,
171        sender -> Bytea,
172    }
173}
174
175diesel::table! {
176    events (tx_sequence_number, event_sequence_number) {
177        tx_sequence_number -> Int8,
178        event_sequence_number -> Int8,
179        transaction_digest -> Bytea,
180        senders -> Array<Nullable<Bytea>>,
181        package -> Bytea,
182        module -> Text,
183        event_type -> Text,
184        timestamp_ms -> Int8,
185        bcs -> Bytea,
186    }
187}
188
189diesel::table! {
190    feature_flags (protocol_version, flag_name) {
191        protocol_version -> Int8,
192        flag_name -> Text,
193        flag_value -> Bool,
194    }
195}
196
197diesel::table! {
198    move_call_metrics (id) {
199        id -> Int8,
200        epoch -> Int8,
201        day -> Int8,
202        move_package -> Text,
203        move_module -> Text,
204        move_function -> Text,
205        count -> Int8,
206    }
207}
208
209diesel::table! {
210    move_calls (transaction_sequence_number, move_package, move_module, move_function) {
211        transaction_sequence_number -> Int8,
212        checkpoint_sequence_number -> Int8,
213        epoch -> Int8,
214        move_package -> Bytea,
215        move_module -> Text,
216        move_function -> Text,
217    }
218}
219
220diesel::table! {
221    objects (object_id) {
222        object_id -> Bytea,
223        object_version -> Int8,
224        object_digest -> Bytea,
225        owner_type -> Int2,
226        owner_id -> Nullable<Bytea>,
227        object_type -> Nullable<Text>,
228        object_type_package -> Nullable<Bytea>,
229        object_type_module -> Nullable<Text>,
230        object_type_name -> Nullable<Text>,
231        serialized_object -> Bytea,
232        coin_type -> Nullable<Text>,
233        coin_balance -> Nullable<Int8>,
234        df_kind -> Nullable<Int2>,
235    }
236}
237
238diesel::table! {
239    objects_history (checkpoint_sequence_number, object_id, object_version) {
240        object_id -> Bytea,
241        object_version -> Int8,
242        object_status -> Int2,
243        object_digest -> Nullable<Bytea>,
244        checkpoint_sequence_number -> Int8,
245        owner_type -> Nullable<Int2>,
246        owner_id -> Nullable<Bytea>,
247        object_type -> Nullable<Text>,
248        object_type_package -> Nullable<Bytea>,
249        object_type_module -> Nullable<Text>,
250        object_type_name -> Nullable<Text>,
251        serialized_object -> Nullable<Bytea>,
252        coin_type -> Nullable<Text>,
253        coin_balance -> Nullable<Int8>,
254        df_kind -> Nullable<Int2>,
255    }
256}
257
258diesel::table! {
259    objects_snapshot (object_id) {
260        object_id -> Bytea,
261        object_version -> Int8,
262        object_status -> Int2,
263        object_digest -> Nullable<Bytea>,
264        checkpoint_sequence_number -> Int8,
265        owner_type -> Nullable<Int2>,
266        owner_id -> Nullable<Bytea>,
267        object_type -> Nullable<Text>,
268        object_type_package -> Nullable<Bytea>,
269        object_type_module -> Nullable<Text>,
270        object_type_name -> Nullable<Text>,
271        serialized_object -> Nullable<Bytea>,
272        coin_type -> Nullable<Text>,
273        coin_balance -> Nullable<Int8>,
274        df_kind -> Nullable<Int2>,
275    }
276}
277
278diesel::table! {
279    objects_version (object_id, object_version) {
280        object_id -> Bytea,
281        object_version -> Int8,
282        cp_sequence_number -> Int8,
283    }
284}
285
286diesel::table! {
287    optimistic_event_emit_module (package, module, tx_insertion_order, event_sequence_number) {
288        package -> Bytea,
289        module -> Text,
290        tx_insertion_order -> Int8,
291        event_sequence_number -> Int8,
292        sender -> Bytea,
293    }
294}
295
296diesel::table! {
297    optimistic_event_emit_package (package, tx_insertion_order, event_sequence_number) {
298        package -> Bytea,
299        tx_insertion_order -> Int8,
300        event_sequence_number -> Int8,
301        sender -> Bytea,
302    }
303}
304
305diesel::table! {
306    optimistic_event_senders (sender, tx_insertion_order, event_sequence_number) {
307        sender -> Bytea,
308        tx_insertion_order -> Int8,
309        event_sequence_number -> Int8,
310    }
311}
312
313diesel::table! {
314    optimistic_event_struct_instantiation (package, module, type_instantiation, tx_insertion_order, event_sequence_number) {
315        package -> Bytea,
316        module -> Text,
317        type_instantiation -> Text,
318        tx_insertion_order -> Int8,
319        event_sequence_number -> Int8,
320        sender -> Bytea,
321    }
322}
323
324diesel::table! {
325    optimistic_event_struct_module (package, module, tx_insertion_order, event_sequence_number) {
326        package -> Bytea,
327        module -> Text,
328        tx_insertion_order -> Int8,
329        event_sequence_number -> Int8,
330        sender -> Bytea,
331    }
332}
333
334diesel::table! {
335    optimistic_event_struct_name (package, module, type_name, tx_insertion_order, event_sequence_number) {
336        package -> Bytea,
337        module -> Text,
338        type_name -> Text,
339        tx_insertion_order -> Int8,
340        event_sequence_number -> Int8,
341        sender -> Bytea,
342    }
343}
344
345diesel::table! {
346    optimistic_event_struct_package (package, tx_insertion_order, event_sequence_number) {
347        package -> Bytea,
348        tx_insertion_order -> Int8,
349        event_sequence_number -> Int8,
350        sender -> Bytea,
351    }
352}
353
354diesel::table! {
355    optimistic_events (tx_insertion_order, event_sequence_number) {
356        tx_insertion_order -> Int8,
357        event_sequence_number -> Int8,
358        transaction_digest -> Bytea,
359        senders -> Array<Nullable<Bytea>>,
360        package -> Bytea,
361        module -> Text,
362        event_type -> Text,
363        bcs -> Bytea,
364    }
365}
366
367diesel::table! {
368    optimistic_transactions (insertion_order) {
369        insertion_order -> Int8,
370        transaction_digest -> Bytea,
371        raw_transaction -> Bytea,
372        raw_effects -> Bytea,
373        object_changes -> Array<Nullable<Bytea>>,
374        balance_changes -> Array<Nullable<Bytea>>,
375        events -> Array<Nullable<Bytea>>,
376        transaction_kind -> Int2,
377        success_command_count -> Int2,
378    }
379}
380
381diesel::table! {
382    optimistic_tx_calls_fun (package, module, func, tx_insertion_order) {
383        tx_insertion_order -> Int8,
384        package -> Bytea,
385        module -> Text,
386        func -> Text,
387        sender -> Bytea,
388    }
389}
390
391diesel::table! {
392    optimistic_tx_calls_mod (package, module, tx_insertion_order) {
393        tx_insertion_order -> Int8,
394        package -> Bytea,
395        module -> Text,
396        sender -> Bytea,
397    }
398}
399
400diesel::table! {
401    optimistic_tx_calls_pkg (package, tx_insertion_order) {
402        tx_insertion_order -> Int8,
403        package -> Bytea,
404        sender -> Bytea,
405    }
406}
407
408diesel::table! {
409    optimistic_tx_changed_objects (object_id, tx_insertion_order) {
410        tx_insertion_order -> Int8,
411        object_id -> Bytea,
412        sender -> Bytea,
413    }
414}
415
416diesel::table! {
417    optimistic_tx_input_objects (object_id, tx_insertion_order) {
418        tx_insertion_order -> Int8,
419        object_id -> Bytea,
420        sender -> Bytea,
421    }
422}
423
424diesel::table! {
425    optimistic_tx_kinds (tx_kind, tx_insertion_order) {
426        tx_insertion_order -> Int8,
427        tx_kind -> Int2,
428    }
429}
430
431diesel::table! {
432    optimistic_tx_recipients (recipient, tx_insertion_order) {
433        tx_insertion_order -> Int8,
434        recipient -> Bytea,
435        sender -> Bytea,
436    }
437}
438
439diesel::table! {
440    optimistic_tx_senders (sender, tx_insertion_order) {
441        tx_insertion_order -> Int8,
442        sender -> Bytea,
443    }
444}
445
446diesel::table! {
447    packages (package_id, original_id, package_version) {
448        package_id -> Bytea,
449        original_id -> Bytea,
450        package_version -> Int8,
451        move_package -> Bytea,
452        checkpoint_sequence_number -> Int8,
453    }
454}
455
456diesel::table! {
457    protocol_configs (protocol_version, config_name) {
458        protocol_version -> Int8,
459        config_name -> Text,
460        config_value -> Nullable<Text>,
461    }
462}
463
464diesel::table! {
465    pruner_cp_watermark (checkpoint_sequence_number) {
466        checkpoint_sequence_number -> Int8,
467        min_tx_sequence_number -> Int8,
468        max_tx_sequence_number -> Int8,
469    }
470}
471
472diesel::table! {
473    transactions (tx_sequence_number) {
474        tx_sequence_number -> Int8,
475        transaction_digest -> Bytea,
476        raw_transaction -> Bytea,
477        raw_effects -> Bytea,
478        checkpoint_sequence_number -> Int8,
479        timestamp_ms -> Int8,
480        object_changes -> Array<Nullable<Bytea>>,
481        balance_changes -> Array<Nullable<Bytea>>,
482        events -> Array<Nullable<Bytea>>,
483        transaction_kind -> Int2,
484        success_command_count -> Int2,
485    }
486}
487
488diesel::table! {
489    tx_calls_fun (package, module, func, tx_sequence_number) {
490        tx_sequence_number -> Int8,
491        package -> Bytea,
492        module -> Text,
493        func -> Text,
494        sender -> Bytea,
495    }
496}
497
498diesel::table! {
499    tx_calls_mod (package, module, tx_sequence_number) {
500        tx_sequence_number -> Int8,
501        package -> Bytea,
502        module -> Text,
503        sender -> Bytea,
504    }
505}
506
507diesel::table! {
508    tx_calls_pkg (package, tx_sequence_number) {
509        tx_sequence_number -> Int8,
510        package -> Bytea,
511        sender -> Bytea,
512    }
513}
514
515diesel::table! {
516    tx_changed_objects (object_id, tx_sequence_number) {
517        tx_sequence_number -> Int8,
518        object_id -> Bytea,
519        sender -> Bytea,
520    }
521}
522
523diesel::table! {
524    tx_count_metrics (checkpoint_sequence_number) {
525        checkpoint_sequence_number -> Int8,
526        epoch -> Int8,
527        timestamp_ms -> Int8,
528        total_transaction_blocks -> Int8,
529        total_successful_transaction_blocks -> Int8,
530        total_successful_transactions -> Int8,
531    }
532}
533
534diesel::table! {
535    tx_digests (tx_digest) {
536        tx_digest -> Bytea,
537        tx_sequence_number -> Int8,
538    }
539}
540
541diesel::table! {
542    tx_input_objects (object_id, tx_sequence_number) {
543        tx_sequence_number -> Int8,
544        object_id -> Bytea,
545        sender -> Bytea,
546    }
547}
548
549diesel::table! {
550    tx_insertion_order (tx_digest) {
551        tx_digest -> Bytea,
552        insertion_order -> Int8,
553    }
554}
555
556diesel::table! {
557    tx_kinds (tx_kind, tx_sequence_number) {
558        tx_sequence_number -> Int8,
559        tx_kind -> Int2,
560    }
561}
562
563diesel::table! {
564    tx_recipients (recipient, tx_sequence_number) {
565        tx_sequence_number -> Int8,
566        recipient -> Bytea,
567        sender -> Bytea,
568    }
569}
570
571diesel::table! {
572    tx_senders (sender, tx_sequence_number) {
573        tx_sequence_number -> Int8,
574        sender -> Bytea,
575    }
576}
577
578diesel::joinable!(optimistic_event_emit_module -> optimistic_transactions (tx_insertion_order));
579diesel::joinable!(optimistic_event_emit_package -> optimistic_transactions (tx_insertion_order));
580diesel::joinable!(optimistic_event_senders -> optimistic_transactions (tx_insertion_order));
581diesel::joinable!(optimistic_event_struct_instantiation -> optimistic_transactions (tx_insertion_order));
582diesel::joinable!(optimistic_event_struct_module -> optimistic_transactions (tx_insertion_order));
583diesel::joinable!(optimistic_event_struct_name -> optimistic_transactions (tx_insertion_order));
584diesel::joinable!(optimistic_event_struct_package -> optimistic_transactions (tx_insertion_order));
585diesel::joinable!(optimistic_events -> optimistic_transactions (tx_insertion_order));
586diesel::joinable!(optimistic_tx_calls_fun -> optimistic_transactions (tx_insertion_order));
587diesel::joinable!(optimistic_tx_calls_mod -> optimistic_transactions (tx_insertion_order));
588diesel::joinable!(optimistic_tx_calls_pkg -> optimistic_transactions (tx_insertion_order));
589diesel::joinable!(optimistic_tx_changed_objects -> optimistic_transactions (tx_insertion_order));
590diesel::joinable!(optimistic_tx_input_objects -> optimistic_transactions (tx_insertion_order));
591diesel::joinable!(optimistic_tx_kinds -> optimistic_transactions (tx_insertion_order));
592diesel::joinable!(optimistic_tx_recipients -> optimistic_transactions (tx_insertion_order));
593diesel::joinable!(optimistic_tx_senders -> optimistic_transactions (tx_insertion_order));
594
595#[macro_export]
596macro_rules! for_all_tables {
597    ($action:path) => {
598        $action!(
599            active_addresses,
600            address_metrics,
601            addresses,
602            chain_identifier,
603            checkpoints,
604            display,
605            epoch_peak_tps,
606            epochs,
607            event_emit_module,
608            event_emit_package,
609            event_senders,
610            event_struct_instantiation,
611            event_struct_module,
612            event_struct_name,
613            event_struct_package,
614            events,
615            feature_flags,
616            move_call_metrics,
617            move_calls,
618            objects,
619            objects_history,
620            objects_snapshot,
621            objects_version,
622            optimistic_event_emit_module,
623            optimistic_event_emit_package,
624            optimistic_event_senders,
625            optimistic_event_struct_instantiation,
626            optimistic_event_struct_module,
627            optimistic_event_struct_name,
628            optimistic_event_struct_package,
629            optimistic_events,
630            optimistic_transactions,
631            optimistic_tx_calls_fun,
632            optimistic_tx_calls_mod,
633            optimistic_tx_calls_pkg,
634            optimistic_tx_changed_objects,
635            optimistic_tx_input_objects,
636            optimistic_tx_kinds,
637            optimistic_tx_recipients,
638            optimistic_tx_senders,
639            packages,
640            protocol_configs,
641            pruner_cp_watermark,
642            transactions,
643            tx_calls_fun,
644            tx_calls_mod,
645            tx_calls_pkg,
646            tx_changed_objects,
647            tx_count_metrics,
648            tx_digests,
649            tx_input_objects,
650            tx_insertion_order,
651            tx_kinds,
652            tx_recipients,
653            tx_senders
654        );
655    };
656}
657pub use for_all_tables;
658for_all_tables!(diesel::allow_tables_to_appear_in_same_query);