Line data Source code
1 : /* THIS FILE WAS GENERATED BY gen_events.py. DO NOT EDIT BY HAND! */
2 : #include "fd_event_gen.h"
3 : #include "../../../ballet/pb/fd_pb_encode.h"
4 :
5 : void
6 : fd_event_signed_vote_serialize( fd_circq_t * circq,
7 : fd_event_client_t * client,
8 : long timestamp_nanos,
9 : ulong link_seq,
10 0 : fd_event_signed_vote_t const * msg ) {
11 0 : uchar * buffer = fd_circq_push_back( circq, 1UL, FD_EVENT_SIGNED_VOTE_BUF_MAX );
12 0 : FD_TEST( buffer );
13 :
14 0 : ulong event_id = fd_event_client_id_reserve( client );
15 :
16 0 : fd_pb_encoder_t encoder[1];
17 0 : fd_pb_encoder_init( encoder, buffer, FD_EVENT_SIGNED_VOTE_BUF_MAX );
18 :
19 0 : FD_TEST( circq->cursor_push_seq );
20 0 : fd_pb_push_uint64( encoder, 1U, circq->cursor_push_seq-1UL );
21 0 : fd_pb_push_uint64( encoder, 2U, event_id );
22 0 : fd_pb_push_uint64( encoder, 3U, link_seq );
23 0 : fd_pb_push_uint64( encoder, 4U, (ulong)timestamp_nanos );
24 :
25 0 : FD_TEST( msg->signed_txn_len<=1232UL );
26 0 : FD_TEST( msg->tower_cnt<=31UL );
27 :
28 0 : fd_pb_submsg_open( encoder, 5U ); /* Event */
29 0 : fd_pb_submsg_open( encoder, 3U ); /* SignedVote */
30 0 : if( msg->signed_txn_len ) fd_pb_push_bytes ( encoder, 1U, msg->signed_txn, msg->signed_txn_len );
31 0 : fd_pb_push_bytes ( encoder, 2U, msg->vote_account, 32UL );
32 0 : fd_pb_push_bytes ( encoder, 3U, msg->vote_authority, 32UL );
33 0 : fd_pb_push_bytes ( encoder, 4U, msg->fee_payer, 32UL );
34 0 : fd_pb_push_bytes ( encoder, 5U, msg->signature, 64UL );
35 0 : if( msg->vote_slot ) fd_pb_push_uint64( encoder, 6U, (ulong)msg->vote_slot );
36 0 : fd_pb_push_bytes ( encoder, 7U, msg->vote_bank_hash, 32UL );
37 0 : fd_pb_push_bytes ( encoder, 8U, msg->vote_block_id, 32UL );
38 0 : fd_pb_push_bytes ( encoder, 9U, msg->txn_blockhash, 32UL );
39 0 : for( ulong k=0UL; k<msg->tower_cnt; k++ ) {
40 0 : fd_pb_submsg_open( encoder, 10U );
41 0 : if( msg->tower[ k ].slot ) fd_pb_push_uint64( encoder, 1U, (ulong)msg->tower[ k ].slot );
42 0 : if( msg->tower[ k ].confirmation_count ) fd_pb_push_uint32( encoder, 2U, (uint)msg->tower[ k ].confirmation_count );
43 0 : fd_pb_submsg_close( encoder );
44 0 : }
45 0 : fd_pb_submsg_close( encoder );
46 0 : fd_pb_submsg_close( encoder );
47 0 : fd_circq_resize_back( circq, fd_pb_encoder_out_sz( encoder ) );
48 0 : }
49 :
50 : void
51 : fd_event_slot_confirmed_serialize( fd_circq_t * circq,
52 : fd_event_client_t * client,
53 : long timestamp_nanos,
54 : ulong link_seq,
55 0 : fd_event_slot_confirmed_t const * msg ) {
56 0 : uchar * buffer = fd_circq_push_back( circq, 1UL, FD_EVENT_SLOT_CONFIRMED_BUF_MAX );
57 0 : FD_TEST( buffer );
58 :
59 0 : ulong event_id = fd_event_client_id_reserve( client );
60 :
61 0 : fd_pb_encoder_t encoder[1];
62 0 : fd_pb_encoder_init( encoder, buffer, FD_EVENT_SLOT_CONFIRMED_BUF_MAX );
63 :
64 0 : FD_TEST( circq->cursor_push_seq );
65 0 : fd_pb_push_uint64( encoder, 1U, circq->cursor_push_seq-1UL );
66 0 : fd_pb_push_uint64( encoder, 2U, event_id );
67 0 : fd_pb_push_uint64( encoder, 3U, link_seq );
68 0 : fd_pb_push_uint64( encoder, 4U, (ulong)timestamp_nanos );
69 :
70 0 : fd_pb_submsg_open( encoder, 5U ); /* Event */
71 0 : fd_pb_submsg_open( encoder, 4U ); /* SlotConfirmed */
72 0 : if( msg->bank_seq ) fd_pb_push_uint64( encoder, 1U, (ulong)msg->bank_seq );
73 0 : if( msg->slot ) fd_pb_push_uint64( encoder, 2U, (ulong)msg->slot );
74 0 : fd_pb_push_bytes ( encoder, 3U, msg->block_id, 32UL );
75 0 : if( msg->stake ) fd_pb_push_uint64( encoder, 4U, (ulong)msg->stake );
76 0 : if( msg->total_stake ) fd_pb_push_uint64( encoder, 5U, (ulong)msg->total_stake );
77 0 : if( msg->valid ) fd_pb_push_bool ( encoder, 6U, msg->valid );
78 0 : if( msg->level ) fd_pb_push_int32 ( encoder, 7U, msg->level );
79 0 : if( msg->forward ) fd_pb_push_bool ( encoder, 8U, msg->forward );
80 0 : fd_pb_submsg_close( encoder );
81 0 : fd_pb_submsg_close( encoder );
82 0 : fd_circq_resize_back( circq, fd_pb_encoder_out_sz( encoder ) );
83 0 : }
84 :
85 : void
86 : fd_event_serialize_by_type( ulong type,
87 : fd_circq_t * circq,
88 : fd_event_client_t * client,
89 : long timestamp_nanos,
90 : ulong link_seq,
91 : void const * ev,
92 0 : ulong ev_sz ) {
93 0 : switch( type ) {
94 0 : case 3UL:
95 0 : FD_TEST( ev_sz==sizeof(fd_event_signed_vote_t) );
96 0 : fd_event_signed_vote_serialize( circq, client, timestamp_nanos, link_seq, (fd_event_signed_vote_t const *)ev );
97 0 : break;
98 0 : case 4UL:
99 0 : FD_TEST( ev_sz==sizeof(fd_event_slot_confirmed_t) );
100 0 : fd_event_slot_confirmed_serialize( circq, client, timestamp_nanos, link_seq, (fd_event_slot_confirmed_t const *)ev );
101 0 : break;
102 0 : default: FD_LOG_ERR(( "unexpected event type %lu", type ));
103 0 : }
104 0 : }
|