From 373588247bcdb0ef2a16531fb8cd556743c5cd74 Mon Sep 17 00:00:00 2001 From: cyan Date: Tue, 30 Jul 2024 17:46:55 +0200 Subject: Generic safety cleanup (#22) * create checksum system for versioning * minor changes to CI * dart ffi cleanup * update checksums --- generate_checksum.sh | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 generate_checksum.sh (limited to 'generate_checksum.sh') diff --git a/generate_checksum.sh b/generate_checksum.sh new file mode 100755 index 0000000..90a8f8c --- /dev/null +++ b/generate_checksum.sh @@ -0,0 +1,31 @@ +#!/bin/bash +cd "$(realpath $(dirname $0))" + +for coin in monero wownero; +do + COIN=$(echo "$coin" | tr a-z A-Z) + COIN_wallet2_api_c_h_sha256=$(sha256sum ${coin}_libwallet2_api_c/src/main/cpp/wallet2_api_c.h | xargs | awk '{ print $1 }') + COIN_wallet2_api_c_cpp_sha256=$(sha256sum ${coin}_libwallet2_api_c/src/main/cpp/wallet2_api_c.cpp | xargs | awk '{ print $1 }') + COIN_wallet2_api_c_exp_sha256=$(sha256sum ${coin}_libwallet2_api_c/${coin}_libwallet2_api_c.exp | xargs | awk '{ print $1 }') + COIN_libwallet2_api_c_version=$(git log --exclude=${coin}_checksum.h --oneline -- ${coin}_libwallet2_api_c | wc -l) + COIN_libwallet2_api_c_date=$(git log --exclude=${coin}_checksum.h -1 --format=%ai -- ${coin}_libwallet2_api_c) + + cat > ${coin}_libwallet2_api_c/src/main/cpp/${coin}_checksum.h << EOF +#ifndef MONEROC_CHECKSUMS +#define MONEROC_CHECKSUMS +const char * ${COIN}_wallet2_api_c_h_sha256 = "${COIN_wallet2_api_c_h_sha256}"; +const char * ${COIN}_wallet2_api_c_cpp_sha256 = "${COIN_wallet2_api_c_cpp_sha256}"; +const char * ${COIN}_wallet2_api_c_exp_sha256 = "${COIN_wallet2_api_c_exp_sha256}"; +const int ${COIN}_libwallet2_api_c_version = ${COIN_libwallet2_api_c_version}; +const char * ${COIN}_wallet2_api_c_date = "${COIN_libwallet2_api_c_date}"; +#endif +EOF + cat > impls/monero.dart/lib/src/checksum_${coin}.dart << EOF +// ignore_for_file: constant_identifier_names +const String wallet2_api_c_h_sha256 = "${COIN_wallet2_api_c_h_sha256}"; +const String wallet2_api_c_cpp_sha256 = "${COIN_wallet2_api_c_cpp_sha256}"; +const String wallet2_api_c_exp_sha256 = "${COIN_wallet2_api_c_exp_sha256}"; +const int libwallet2_api_c_version = ${COIN_libwallet2_api_c_version}; +const String wallet2_api_c_date = "${COIN_libwallet2_api_c_date}"; +EOF +done \ No newline at end of file -- cgit v1.2.3