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