Files
xahaud/hook/generate_tts.sh

39 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -eu
SCRIPT_DIR=$(dirname "$0")
SCRIPT_DIR=$(cd "$SCRIPT_DIR" && pwd)
RIPPLED_ROOT="$SCRIPT_DIR/../src/ripple"
TX_FORMATS="$RIPPLED_ROOT/protocol/TxFormats.h"
echo '// For documentation please see: https://xrpl-hooks.readme.io/reference/'
echo '// Generated using generate_tts.sh'
sed -n '/enum TxType/,/};/p' "$TX_FORMATS" |
awk '
function ltrim(s) { sub(/^[[:space:]]+/, "", s); return s }
function rtrim(s) { sub(/[[:space:]]+$/, "", s); return s }
function trim(s) { return rtrim(ltrim(s)) }
/^[ \t]*tt[A-Z0-9_]+/ {
line = $0
deprecated = (line ~ /\[\[deprecated/)
gsub(/\[\[deprecated[^]]*\]\]/, "", line)
sub(/\/\/.*$/, "", line)
gsub(/,[[:space:]]*$/, "", line)
split(line, parts, "=")
if (length(parts) < 2)
next
name = trim(parts[1])
value = trim(parts[2])
if (name == "" || value == "")
next
prefix = deprecated ? "// " : ""
postfix = deprecated ? " // deprecated" : ""
printf "%s#define %s %s%s\n", prefix, name, value, postfix
}
'