Line data Source code
1 : #ifndef HEADER_fd_src_discof_rpcserver_fd_block_to_json_h
2 : #define HEADER_fd_src_discof_rpcserver_fd_block_to_json_h
3 :
4 : #include "../../util/fd_util.h"
5 :
6 : #include "../../ballet/txn/fd_txn.h"
7 : #include "../../discof/replay/fd_replay_notif.h"
8 :
9 : typedef struct fd_webserver fd_webserver_t;
10 :
11 : /* Rewards assigned after block is executed */
12 :
13 : struct fd_block_rewards {
14 : ulong collected_fees;
15 : fd_hash_t leader;
16 : ulong post_balance;
17 : };
18 : typedef struct fd_block_rewards fd_block_rewards_t;
19 :
20 : typedef enum {
21 : FD_ENC_BASE58, FD_ENC_BASE64, FD_ENC_BASE64_ZSTD, FD_ENC_JSON, FD_ENC_JSON_PARSED
22 : } fd_rpc_encoding_t;
23 :
24 : enum fd_block_detail { FD_BLOCK_DETAIL_FULL, FD_BLOCK_DETAIL_ACCTS, FD_BLOCK_DETAIL_SIGS, FD_BLOCK_DETAIL_NONE };
25 :
26 : const char* fd_txn_meta_to_json( fd_webserver_t * ws,
27 : const void * meta_raw,
28 : ulong meta_raw_sz );
29 :
30 : const char* fd_txn_to_json( fd_webserver_t * ws,
31 : fd_txn_t* txn,
32 : const uchar* raw,
33 : ulong raw_sz,
34 : fd_rpc_encoding_t encoding,
35 : long maxvers,
36 : enum fd_block_detail detail,
37 : fd_spad_t * spad );
38 :
39 : const char* fd_block_to_json( fd_webserver_t * ws,
40 : const char * call_id,
41 : const uchar * blk_data,
42 : ulong blk_sz,
43 : fd_replay_notif_msg_t * info,
44 : fd_replay_notif_msg_t * parent_info,
45 : fd_rpc_encoding_t encoding,
46 : long maxvers,
47 : enum fd_block_detail detail,
48 : fd_block_rewards_t * rewards,
49 : fd_spad_t * spad );
50 :
51 0 : #define FD_LONG_UNSET (1L << 63L)
52 :
53 : const char* fd_account_to_json( fd_webserver_t * ws,
54 : fd_pubkey_t acct,
55 : fd_rpc_encoding_t enc,
56 : uchar const * val,
57 : ulong val_sz,
58 : long off,
59 : long len,
60 : fd_spad_t * spad );
61 :
62 : #endif /* HEADER_fd_src_discof_rpcserver_fd_block_to_json_h */
|