-
Notifications
You must be signed in to change notification settings - Fork 158
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
453d88b
commit a66a378
Showing
21 changed files
with
7,930 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
FD_WITH_RPCSERVER:=1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
ifdef FD_WITH_RPCSERVER | ||
|
||
LDFLAGS+=-Wl,--push-state,-Bstatic -lmicrohttpd -Wl,--pop-state -lgmp -lcrypto | ||
|
||
$(call make-bin,fd_rpcserver,main fd_block_to_json fd_methods fd_rpc_service fd_webserver json_lex keywords,fd_flamenco fd_ballet fd_reedsol fd_disco fd_funk fd_shred fd_tango fd_choreo fd_waltz fd_util, $(SECP256K1_LIBS)) | ||
|
||
$(call make-unit-test,test_rpc_keywords,test_keywords keywords,fd_util) | ||
$(call fuzz-test,fuzz_json_lex,fuzz_json_lex,fd_util) | ||
|
||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -euo pipefail | ||
|
||
# Install prefix | ||
cd ../../.. | ||
PREFIX="$(pwd)/opt" | ||
|
||
checkout_gnuweb () { | ||
# Skip if dir already exists | ||
if [[ -d ./opt/gnuweb/"$1" ]]; then | ||
echo "[~] Skipping $1 fetch as \"$(pwd)/opt/gnuweb/$1\" already exists" | ||
else | ||
echo "[+] Cloning $1 from $2/$3.tar.gz" | ||
curl -o - -L "$2/$3.tar.gz" | gunzip | tar xf - -C ./opt/gnuweb | ||
mv ./opt/gnuweb/$3 ./opt/gnuweb/$1 | ||
echo | ||
fi | ||
} | ||
|
||
fetch () { | ||
mkdir -pv ./opt/gnuweb | ||
checkout_gnuweb libmicrohttpd https://ftp.gnu.org/gnu/libmicrohttpd/ "libmicrohttpd-0.9.77" | ||
} | ||
|
||
install_libmicrohttpd () { | ||
cd ./opt/gnuweb/libmicrohttpd/ | ||
./configure \ | ||
--prefix="$PREFIX" \ | ||
--disable-https \ | ||
--disable-curl \ | ||
--disable-dauth \ | ||
--with-pic | ||
make -j | ||
make install | ||
|
||
echo "[+] Successfully installed libmicrohttpd" | ||
} | ||
|
||
install () { | ||
CC="$(command -v gcc)" | ||
cc="$CC" | ||
export CC | ||
export cc | ||
|
||
( install_libmicrohttpd ) | ||
|
||
echo "[~] Done!" | ||
} | ||
|
||
ACTION=0 | ||
while [[ $# -gt 0 ]]; do | ||
case $1 in | ||
fetch) | ||
shift | ||
fetch | ||
ACTION=1 | ||
;; | ||
install) | ||
shift | ||
install | ||
ACTION=1 | ||
;; | ||
*) | ||
echo "Unknown command: $1" >&2 | ||
exit 1 | ||
;; | ||
esac | ||
done | ||
|
||
if [[ $ACTION == 0 ]]; then | ||
fetch | ||
install | ||
fi |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
typedef enum { | ||
FD_ENC_BASE58, FD_ENC_BASE64, FD_ENC_BASE64_ZSTD, FD_ENC_JSON, FD_ENC_JSON_PARSED | ||
} fd_rpc_encoding_t; | ||
|
||
enum fd_block_detail { FD_BLOCK_DETAIL_FULL, FD_BLOCK_DETAIL_ACCTS, FD_BLOCK_DETAIL_SIGS, FD_BLOCK_DETAIL_NONE }; | ||
|
||
int fd_txn_meta_to_json( fd_textstream_t * ts, | ||
const void * meta_raw, | ||
ulong meta_raw_sz ); | ||
|
||
int fd_txn_to_json( fd_textstream_t * ts, | ||
fd_txn_t* txn, | ||
const uchar* raw, | ||
fd_rpc_encoding_t encoding, | ||
long maxvers, | ||
enum fd_block_detail detail, | ||
int rewards ); | ||
|
||
int fd_block_to_json( fd_textstream_t * ts, | ||
long call_id, | ||
fd_block_t * blk, | ||
const uchar * blk_data, | ||
ulong blk_sz, | ||
fd_slot_meta_t * meta, | ||
fd_rpc_encoding_t encoding, | ||
long maxvers, | ||
enum fd_block_detail detail, | ||
int rewards); | ||
|
||
#define FD_LONG_UNSET (1L << 63L) | ||
|
||
const char* fd_account_to_json( fd_textstream_t * ts, | ||
fd_pubkey_t acct, | ||
fd_rpc_encoding_t enc, | ||
uchar const * val, | ||
ulong val_sz, | ||
long off, | ||
long len ); |
Oops, something went wrong.