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