Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update to v0.18.1.0 with wallet rpc network request optimizations #8

Closed
wants to merge 52 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
285d9f0
http_server_handlers_map2: dead macros
May 23, 2022
3ee2174
string_coding: unused functions
May 23, 2022
552528b
Remove async_blocked_mode_client
Jun 17, 2022
a0df140
feat(trezor): add HF15 support, BP+
ph4r05 Apr 12, 2022
628fdcd
continue pool pruning even if a tx can't be found
j-berman Jul 1, 2022
8ea6c33
Fix some paths for toolchain / build
hyc Jul 5, 2022
7a31d25
keccak: error out if passed mdlen 100
moneromooo-monero Jul 11, 2022
4d7f6f5
GCC: fix some unused warnings
May 28, 2022
0093bc2
Focus Doxygen documentation
May 16, 2022
bb955d1
Bump Gitian build instructions to v0.18.0.0
Jul 18, 2022
b83874e
Set version in ENV var
Jul 18, 2022
89a2df6
Migrate VERSION variable to non-export
Jul 18, 2022
308e3fa
gpg_keys: add jeffro256 key
Jul 18, 2022
4a4936b
Fix use of rtxn without a mdb_txn_safe wrapper
hyc Jun 7, 2022
ac6db92
functional_tests: silence the cpu power test program
moneromooo-monero Jul 21, 2022
600de07
wallet_rpc_server: longer timeout for stop_mining
moneromooo-monero Jul 21, 2022
1fc60ca
Publish submitted txs via zmq
j-berman Jul 9, 2022
564fa30
DOCS: Rework Portable storage format example
May 11, 2022
85e697f
randomx: update submodule
selsta Jul 24, 2022
f7f1445
device: set ledger min app version
selsta Jul 24, 2022
f797655
Fixed get_block_template_backlog performance
SChernykh Jun 8, 2022
6b61628
dns_util: remove outdated DNSSEC DS trust anchor
selsta Aug 6, 2022
04a1e28
ledger support for hf 15 (BP+, view tags)
j-berman Jun 21, 2022
f8d76ec
version: bump master version number
selsta Aug 9, 2022
ef1924a
Bump to v0.18.1.0
Aug 9, 2022
796513f
repo: remove ldns leftovers
selsta Aug 10, 2022
7b15f21
README: unbound is not vendored anymore
selsta Aug 10, 2022
8305a9f
depends: remove unused packages
selsta Aug 11, 2022
080fc69
Merge pull request #8299
luigi1111 Aug 23, 2022
c286e03
Merge pull request #8323
luigi1111 Aug 23, 2022
8d0487d
Merge pull request #8333
luigi1111 Aug 23, 2022
67a27fb
Merge pull request #8352
luigi1111 Aug 23, 2022
df02b56
Merge pull request #8359
luigi1111 Aug 23, 2022
2056ef7
Merge pull request #8379
luigi1111 Aug 23, 2022
3c78f4d
Merge pull request #8381
luigi1111 Aug 23, 2022
645d752
Merge pull request #8415
luigi1111 Aug 23, 2022
f0f3879
Merge pull request #8419
luigi1111 Aug 23, 2022
ce80747
Merge pull request #8427
luigi1111 Aug 23, 2022
53a8cf7
Merge pull request #8428
luigi1111 Aug 23, 2022
5e2c851
Merge pull request #8442
luigi1111 Aug 23, 2022
ae6ec39
Merge pull request #8444
luigi1111 Aug 23, 2022
7705329
Merge pull request #8450
luigi1111 Aug 23, 2022
8112c52
Merge pull request #8460
luigi1111 Aug 23, 2022
386032d
Merge pull request #8462
luigi1111 Aug 23, 2022
ab63fbc
Merge pull request #8465
luigi1111 Aug 23, 2022
f46f164
Merge pull request #8486
luigi1111 Aug 23, 2022
4e42d6c
Merge pull request #8490
luigi1111 Aug 23, 2022
af8b0fb
Merge pull request #8495
luigi1111 Aug 23, 2022
2807a24
Merge pull request #8496
luigi1111 Aug 23, 2022
5256fdd
Merge pull request #8497
luigi1111 Aug 23, 2022
d6e7d66
wallet2, RPC: Optimize RPC calls for periodic refresh from 3 down to …
rbrunner7 Nov 21, 2021
dba93af
speed up testnet hardforks for local development (#5)
woodser Jul 6, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
key: ccache-${{ runner.os }}-build-${{ github.sha }}
restore-keys: ccache-${{ runner.os }}-build-
- name: install dependencies
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm miniupnpc ldns expat libunwind-headers protobuf ccache
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm miniupnpc expat libunwind-headers protobuf ccache
- name: build
run: |
${{env.CCACHE_SETTINGS}}
Expand Down Expand Up @@ -151,7 +151,7 @@ jobs:
- name: install monero dependencies
run: ${{env.APT_INSTALL_LINUX}}
- name: install Python dependencies
run: pip install requests psutil monotonic
run: pip install requests psutil monotonic zmq
- name: tests
env:
CTEST_OUTPUT_ON_FAILURE: ON
Expand Down
4 changes: 2 additions & 2 deletions Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -754,7 +754,7 @@ WARN_LOGFILE =
# spaces.
# Note: If this tag is empty the current directory is searched.

INPUT = .
INPUT = contrib/epee external/easylogging++ src

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down Expand Up @@ -805,7 +805,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*

EXCLUDE_PATTERNS = */build/* */contrib/depends/*
EXCLUDE_PATTERNS = */src/crypto/crypto_ops_builder/ref10*

# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
Expand Down
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,12 +173,11 @@ library archives (`.a`).
| libzmq | 4.2.0 | NO | `libzmq3-dev` | `zeromq` | `zeromq-devel` | `zeromq-devel` | NO | ZeroMQ library |
| OpenPGM | ? | NO | `libpgm-dev` | `libpgm` | | `openpgm-devel` | NO | For ZeroMQ |
| libnorm[2] | ? | NO | `libnorm-dev` | | | | YES | For ZeroMQ |
| libunbound | 1.4.16 | YES | `libunbound-dev` | `unbound` | `unbound-devel` | `unbound-devel` | NO | DNS resolver |
| libunbound | 1.4.16 | NO | `libunbound-dev` | `unbound` | `unbound-devel` | `unbound-devel` | NO | DNS resolver |
| libsodium | ? | NO | `libsodium-dev` | `libsodium` | `libsodium-devel` | `libsodium-devel` | NO | cryptography |
| libunwind | any | NO | `libunwind8-dev` | `libunwind` | `libunwind-devel` | `libunwind-devel` | YES | Stack traces |
| liblzma | any | NO | `liblzma-dev` | `xz` | `liblzma-devel` | `xz-devel` | YES | For libunwind |
| libreadline | 6.3.0 | NO | `libreadline6-dev` | `readline` | `readline-devel` | `readline-devel` | YES | Input editing |
| ldns | 1.6.17 | NO | `libldns-dev` | `ldns` | `libldns-devel` | `ldns-devel` | YES | SSL toolkit |
| expat | 1.1 | NO | `libexpat1-dev` | `expat` | `expat-devel` | `expat-devel` | YES | XML parsing |
| GTest | 1.5 | YES | `libgtest-dev`[1] | `gtest` | `gtest-devel` | `gtest-devel` | YES | Test suite |
| ccache | any | NO | `ccache` | `ccache` | `ccache` | `ccache` | YES | Compil. cache |
Expand All @@ -205,23 +204,23 @@ then:
Install all dependencies at once on Debian/Ubuntu:

```
sudo apt update && sudo apt install build-essential cmake pkg-config libssl-dev libzmq3-dev libunbound-dev libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev libpgm-dev qttools5-dev-tools libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler libudev-dev libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-locale-dev libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev python3 ccache doxygen graphviz
sudo apt update && sudo apt install build-essential cmake pkg-config libssl-dev libzmq3-dev libunbound-dev libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libexpat1-dev libpgm-dev qttools5-dev-tools libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler libudev-dev libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-locale-dev libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev python3 ccache doxygen graphviz
```

Install all dependencies at once on Arch:
```
sudo pacman -Syu --needed base-devel cmake boost openssl zeromq libpgm unbound libsodium libunwind xz readline ldns expat gtest python3 ccache doxygen graphviz qt5-tools hidapi libusb protobuf systemd
sudo pacman -Syu --needed base-devel cmake boost openssl zeromq libpgm unbound libsodium libunwind xz readline expat gtest python3 ccache doxygen graphviz qt5-tools hidapi libusb protobuf systemd
```

Install all dependencies at once on Fedora:
```
sudo dnf install gcc gcc-c++ cmake pkgconf boost-devel openssl-devel zeromq-devel openpgm-devel unbound-devel libsodium-devel libunwind-devel xz-devel readline-devel ldns-devel expat-devel gtest-devel ccache doxygen graphviz qt5-linguist hidapi-devel libusbx-devel protobuf-devel protobuf-compiler systemd-devel
sudo dnf install gcc gcc-c++ cmake pkgconf boost-devel openssl-devel zeromq-devel openpgm-devel unbound-devel libsodium-devel libunwind-devel xz-devel readline-devel expat-devel gtest-devel ccache doxygen graphviz qt5-linguist hidapi-devel libusbx-devel protobuf-devel protobuf-compiler systemd-devel
```

Install all dependencies at once on openSUSE:

```
sudo zypper ref && sudo zypper in cppzmq-devel ldns-devel libboost_chrono-devel libboost_date_time-devel libboost_filesystem-devel libboost_locale-devel libboost_program_options-devel libboost_regex-devel libboost_serialization-devel libboost_system-devel libboost_thread-devel libexpat-devel libminiupnpc-devel libsodium-devel libunwind-devel unbound-devel cmake doxygen ccache fdupes gcc-c++ libevent-devel libopenssl-devel pkgconf-pkg-config readline-devel xz-devel libqt5-qttools-devel patterns-devel-C-C++-devel_C_C++
sudo zypper ref && sudo zypper in cppzmq-devel libboost_chrono-devel libboost_date_time-devel libboost_filesystem-devel libboost_locale-devel libboost_program_options-devel libboost_regex-devel libboost_serialization-devel libboost_system-devel libboost_thread-devel libexpat-devel libminiupnpc-devel libsodium-devel libunwind-devel unbound-devel cmake doxygen ccache fdupes gcc-c++ libevent-devel libopenssl-devel pkgconf-pkg-config readline-devel xz-devel libqt5-qttools-devel patterns-devel-C-C++-devel_C_C++
```

Install all dependencies at once on macOS with the provided Brewfile:
Expand Down
1 change: 0 additions & 1 deletion contrib/brew/Brewfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ brew "unbound"
brew "libsodium"
brew "miniupnpc"
brew "readline"
brew "ldns"
brew "expat"
brew "ccache"
brew "doxygen"
Expand Down
8 changes: 5 additions & 3 deletions contrib/depends/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Usage

To build dependencies for the current arch+OS:
To build dependencies for the current arch+OS, from this working directory:

```bash
make
Expand All @@ -20,10 +20,12 @@ make HOST=x86_64-w64-mingw32 -j4

A toolchain will be generated that's suitable for plugging into Monero's
cmake. In the above example, a dir named x86_64-w64-mingw32 will be
created. To use it for Monero:
created. To use it for Monero, from the top of the Monero source tree:

```bash
cmake -DCMAKE_TOOLCHAIN=`pwd`/contrib/depends/x86_64-w64-mingw32
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$PWD/../contrib/depends/x86_64-w64-mingw32/share/toolchain.cmake ..
```

Common `host-platform-triplets` for cross compilation are:
Expand Down
30 changes: 0 additions & 30 deletions contrib/depends/packages/graphviz.mk

This file was deleted.

34 changes: 0 additions & 34 deletions contrib/depends/packages/ldns.mk

This file was deleted.

23 changes: 0 additions & 23 deletions contrib/depends/packages/libICE.mk

This file was deleted.

23 changes: 0 additions & 23 deletions contrib/depends/packages/libSM.mk

This file was deleted.

2 changes: 1 addition & 1 deletion contrib/depends/packages/packages.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
packages:=boost openssl zeromq libiconv expat ldns unbound
packages:=boost openssl zeromq libiconv expat unbound

# ccache is useless in gitian builds
ifneq ($(GITIAN),1)
Expand Down
2 changes: 1 addition & 1 deletion contrib/depends/packages/unbound.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ $(package)_version=1.15.0
$(package)_download_path=https://www.nlnetlabs.nl/downloads/$(package)/
$(package)_file_name=$(package)-$($(package)_version).tar.gz
$(package)_sha256_hash=a480dc6c8937447b98d161fe911ffc76cfaffa2da18788781314e81339f1126f
$(package)_dependencies=openssl expat ldns
$(package)_dependencies=openssl expat
$(package)_patches=disable-glibc-reallocarray.patch


Expand Down
21 changes: 0 additions & 21 deletions contrib/depends/packages/xproto.mk

This file was deleted.

26 changes: 0 additions & 26 deletions contrib/epee/include/net/http_server_handlers_map2.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,6 @@
bool handled = false; \
if(false) return true; //just a stub to have "else if"

#define MAP_URI2(pattern, callback) else if(std::string::npos != query_info.m_URI.find(pattern)) return callback(query_info, response_info, &m_conn_context);

#define MAP_URI_AUTO_XML2(s_pattern, callback_f, command_type) //TODO: don't think i ever again will use xml - ambiguous and "overtagged" format

#define MAP_URI_AUTO_JON2_IF(s_pattern, callback_f, command_type, cond) \
else if((query_info.m_URI == s_pattern) && (cond)) \
{ \
Expand Down Expand Up @@ -139,8 +135,6 @@
MDEBUG( s_pattern << "() processed with " << ticks1-ticks << "/"<< ticks2-ticks1 << "/" << ticks3-ticks2 << "ms"); \
}

#define CHAIN_URI_MAP2(callback) else {callback(query_info, response_info, m_conn_context);handled = true;}

#define END_URI_MAP2() return handled;}


Expand Down Expand Up @@ -225,26 +219,6 @@

#define MAP_JON_RPC_WE(method_name, callback_f, command_type) MAP_JON_RPC_WE_IF(method_name, callback_f, command_type, true)

#define MAP_JON_RPC_WERI(method_name, callback_f, command_type) \
else if(callback_name == method_name) \
{ \
PREPARE_OBJECTS_FROM_JSON(command_type) \
epee::json_rpc::error_response fail_resp = AUTO_VAL_INIT(fail_resp); \
fail_resp.jsonrpc = "2.0"; \
fail_resp.id = req.id; \
MINFO(m_conn_context << "calling RPC method " << method_name); \
bool res = false; \
try { res = callback_f(req.params, resp.result, fail_resp.error, response_info, &m_conn_context); } \
catch (const std::exception &e) { MERROR(m_conn_context << "Failed to " << #callback_f << "(): " << e.what()); } \
if (!res) \
{ \
epee::serialization::store_t_to_json(static_cast<epee::json_rpc::error_response&>(fail_resp), response_info.m_body); \
return true; \
} \
FINALIZE_OBJECTS_TO_JSON(method_name) \
return true;\
}

#define MAP_JON_RPC(method_name, callback_f, command_type) \
else if(callback_name == method_name) \
{ \
Expand Down
Loading