diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 000000000..3d463b6c4 --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,58 @@ +name: ci/gh-actions/windows-build-test + +on: + workflow_dispatch: + push: + paths-ignore: + - '**/*.md' + pull_request: + paths-ignore: + - '**/*.md' + +env: + USE_DEVICE_TREZOR_MANDATORY: ON + CCACHE_TEMPDIR: /tmp/.ccache-temp + CCACHE_DIR: /tmp/.ccache + CCACHE_SETTINGS: | + ccache --max-size=150M + ccache --set-config=compression=true + +jobs: + windows: + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: msys2/setup-msys2@v2 + with: + msystem: MINGW64 + update: true + install: mingw-w64-x86_64-toolchain mingw-w64-x86_64-autotools mingw-w64-x86_64-doxygen mingw-w64-x86_64-cmake mingw-w64-x86_64-ccache mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf mingw-w64-x86_64-libusb mingw-w64-x86_64-unbound mingw-w64-x86_64-graphviz git mingw-w64-x86_64-pkgconf mingw-w64-x86_64-ccache mingw-w64-x86_64-libunwind mingw-w64-x86_64-gperf mingw-w64-x86_64-miniupnpc mingw-w64-x86_64-zeromq mingw-w64-x86_64-cppzmq mingw-w64-x86_64-gpgme mingw-w64-x86_64-dlfcn patch zip + - name: ccache + uses: actions/cache@v4 + with: + path: ${{ steps.msys2.outputs.msys2-location }}\tmp\.ccache + key: ccache-${{ runner.os }}-msys2-${{ github.sha }} + restore-keys: ccache-${{ runner.os }}-msys2 + - name: install boost + run: | + pacman --noconfirm -U contrib/mingw-w64-x86_64-boost-1.83.0-2-any.pkg.tar.zst + - name: build + run: | + ${{ env.CCACHE_SETTINGS }} + make -j$(nproc) release-static-win-x86_64 + - name: package + run: | + cd "${{ github.workspace }}\build\release\bin" + zip -9 ../win-x64.zip morelo* + cd .. + mv win-x64.zip $(sha256sum win-x64.zip | cut -d " " -f 1).zip + - uses: actions/upload-artifact@v4 + with: + name: win-x64 + path: '${{ github.workspace }}\build\release\*.zip' + compression-level: 0 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7ad42504c..71d11f7eb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,90 +1,96 @@ name: ci/gh-actions/build -on: [push, pull_request, workflow_dispatch] +on: + workflow_dispatch: + push: + paths-ignore: + - '**/*.md' + pull_request: + paths-ignore: + - '**/*.md' env: - APT_SET_CONF: | - echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom + APT_INSTALL: 'sudo apt-get update && sudo apt-get -y install build-essential cmake pkg-config libboost-all-dev libssl-dev libsodium-dev libunwind-dev liblzma-dev libreadline-dev libldns-dev libexpat1-dev libudev-dev libusb-1.0-0-dev libhidapi-dev xsltproc gperf autoconf automake libtool-bin miniupnpc doxygen graphviz libunbound-dev libzmq3-dev libnorm-dev libpgm-dev libprotobuf-dev protobuf-compiler ccache' + USE_DEVICE_TREZOR_MANDATORY: ON + CCACHE_TEMPDIR: /tmp/.ccache-temp + CCACHE_DIR: /tmp/.ccache CCACHE_SETTINGS: | - ccache --max-size=150M - ccache --set-config=compression=true + ccache --max-size=150M + ccache --set-config=compression=true + jobs: - build-windows: - runs-on: ubuntu-20.04 - env: - CCACHE_TEMPDIR: /tmp/.ccache-temp - strategy: - fail-fast: false - matrix: - toolchain: - - name: "build-depends-windows-x64" - host: "x86_64-w64-mingw32" - packages: "cmake python3 g++-mingw-w64-x86-64 qttools5-dev-tools" - name: ${{ matrix.toolchain.name }} + windows: + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive -# Most volatile cache - name: ccache - uses: actions/cache@v3 + uses: actions/cache@v4 with: - path: ~/.ccache - key: ccache-${{ matrix.toolchain.host }}-${{ github.sha }} - restore-keys: ccache-${{ matrix.toolchain.host }}- -# Less volatile cache - - name: depends cache - uses: actions/cache@v3 + path: /tmp/.ccache + key: ccache-${{ runner.os }}-x86_64-w64-mingw32-${{ github.sha }} + restore-keys: ccache-${{ runner.os }}-x86_64-w64-mingw32 + - name: depends ccache + uses: actions/cache@v4 with: path: contrib/depends/built - key: depends-${{ matrix.toolchain.host }}-${{ hashFiles('contrib/depends/packages/*') }} + key: ccache-depends-${{ runner.os }}-x86_64-w64-mingw32-${{ hashFiles('contrib/depends/packages/*') }} restore-keys: | - depends-${{ matrix.toolchain.host }}-${{ hashFiles('contrib/depends/packages/*') }} - depends-${{ matrix.toolchain.host }}- -# Static cache - - name: set apt conf - run: ${{env.APT_SET_CONF}} + ccache-depends-${{ runner.os }}-x86_64-w64-mingw32-${{ hashFiles('contrib/depends/packages/*') }} + ccache-depends-${{ runner.os }}-x86_64-w64-mingw32 - name: install dependencies - run: sudo apt update; sudo apt -y install libboost-all-dev libsodium-dev build-essential libtool cmake autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache ${{ matrix.toolchain.packages }} - - name: prepare w64-mingw32 - if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' }} + run: ${{ env.APT_INSTALL }} g++-mingw-w64-x86-64 zip + - name: prepare toolchain run: | - sudo update-alternatives --set ${{ matrix.toolchain.host }}-g++ $(which ${{ matrix.toolchain.host }}-g++-posix) - sudo update-alternatives --set ${{ matrix.toolchain.host }}-gcc $(which ${{ matrix.toolchain.host }}-gcc-posix) + sudo update-alternatives --set x86_64-w64-mingw32-g++ $(which x86_64-w64-mingw32-g++-posix) + sudo update-alternatives --set x86_64-w64-mingw32-gcc $(which x86_64-w64-mingw32-gcc-posix) - name: build run: | - ${{env.CCACHE_SETTINGS}} - make depends target=${{ matrix.toolchain.host }} cmake_opts=${{ matrix.toolchain.cmake_opts }} -j2 - - uses: actions/upload-artifact@v3 - if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' || matrix.toolchain.host == 'x86_64-unknown-linux-gnu' || matrix.toolchain.host == 'aarch64-linux-gnu' || 'arm-linux-gnueabihf' }} + ${{ env.CCACHE_SETTINGS }} + make -j$(nproc) depends target=x86_64-w64-mingw32 buildtag=win-x64 + - name: package + run: | + cd ${{ github.workspace }}/build/release/bin + zip -9 ../win-x64.zip morelo* + cd .. + mv win-x64.zip $(sha256sum win-x64.zip | cut -d " " -f 1).zip + - uses: actions/upload-artifact@v4 with: - name: windows-release - path: | - /home/runner/work/morelo/morelo/build/${{ matrix.toolchain.host }}/release/bin/morelo* + name: win-x64 + path: '${{ github.workspace }}/build/release/*.zip' + compression-level: 0 - build-ubuntu: - runs-on: ubuntu-20.04 + linux: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ ubuntu-24.04, ubuntu-22.04 ] + env: + BUILD_NAME: ${{ matrix.os == 'ubuntu-24.04' && 'ubuntu24' || 'ubuntu22' }} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: submodules: recursive - - name: remove bundled boost - run: sudo rm -rf /usr/local/share/boost - - name: set apt conf - run: | - echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - - name: update apt - run: sudo apt update - - name: install morelo dependencies - run: sudo apt -y install libboost-all-dev build-essential cmake graphviz doxygen libunwind8-dev pkg-config libssl-dev libsodium-dev libhidapi-dev libusb-1.0-0-dev gperf libreadline-dev + - uses: actions/cache@v4 + with: + path: /tmp/.ccache + key: ccache-${{ runner.os }}-${{ matrix.os }}-${{ github.sha }} + restore-keys: ccache-${{ runner.os }}-${{ matrix.os }} + - name: install dependencies + run: ${{ env.APT_INSTALL }} - name: build - run: make -j2 - - name: Upload linux artifacts - uses: actions/upload-artifact@master + run: | + ${{ env.CCACHE_SETTINGS }} + make -j$(nproc) release-${{ env.BUILD_NAME }} + - name: package + run: | + cd ${{ github.workspace }}/build/release/bin + tar cJf ../linux-x64-${{ env.BUILD_NAME }}.tar.xz --owner=0 --group=0 morelo* + cd .. + mv linux-x64-${{ env.BUILD_NAME }}.tar.xz $(sha256sum linux-x64-${{ env.BUILD_NAME }}.tar.xz | cut -d " " -f 1).tar.xz + - uses: actions/upload-artifact@v4 with: - name: linux-release - path: 'build/**/**/morelo*' \ No newline at end of file + name: linux-x64-${{ env.BUILD_NAME }} + path: '${{ github.workspace }}/build/release/*.tar.xz' + compression-level: 0 diff --git a/.github/workflows/legacy.yml b/.github/workflows/legacy.yml deleted file mode 100644 index fdba8f722..000000000 --- a/.github/workflows/legacy.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: ci/gh-actions/build - -on: [push, pull_request] - -env: - CCACHE_SETTINGS: | - ccache --max-size=150M - ccache --set-config=compression=true -jobs: - build-ubuntu: - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@v1 - with: - submodules: recursive - - name: remove bundled boost - run: sudo rm -rf /usr/local/share/boost - - name: set apt conf - run: | - echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - - name: update apt - run: sudo apt update - - name: install morelo dependencies - run: sudo apt -y install libboost-all-dev build-essential cmake graphviz doxygen libunwind8-dev pkg-config libssl-dev libsodium-dev libhidapi-dev libusb-1.0-0-dev gperf libreadline-dev - - name: build - run: make -j3 - - name: Upload linux artifacts - uses: actions/upload-artifact@master - with: - name: linux-release-ubuntu18 - path: 'build/**/**/morelo*' \ No newline at end of file diff --git a/ANONYMITY_NETWORKS.md b/ANONYMITY_NETWORKS.md index a5c9578f2..c3c81c02e 100644 --- a/ANONYMITY_NETWORKS.md +++ b/ANONYMITY_NETWORKS.md @@ -1,6 +1,6 @@ -# Anonymity Networks with Arqma +# Anonymity Networks with Morelo -Currently only Tor and I2P have been integrated into Arqma. The usage of +Currently only Tor and I2P have been integrated into Morelo. The usage of these networks is still considered experimental - there are a few pessimistic cases where privacy is leaked. The design is intended to maximize privacy of the source of a transaction by broadcasting it over an anonymity network, while @@ -16,11 +16,11 @@ will only be sent to peers on anonymity networks. If an anonymity network is enabled but no peers over an anonymity network are available, an error is logged and the transaction is kept for future broadcasting over an anonymity network. The transaction will not be broadcast unless an anonymity connection -is made or until `arqmad` is shutdown and restarted with only public +is made or until `morelod` is shutdown and restarted with only public connections enabled. -Anonymity networks can also be used with `arqma-wallet-cli` and -`arqma-wallet-rpc` - the wallets will connect to a daemon through a proxy. The +Anonymity networks can also be used with `morelo-wallet-cli` and +`morelo-wallet-rpc` - the wallets will connect to a daemon through a proxy. The daemon must provide a hidden service for the RPC itself, which is separate from the hidden service for P2P connections. @@ -42,13 +42,13 @@ additional peers can be found through typical p2p peerlist sharing. ### Outbound Connections Connecting to an anonymous address requires the command line option -`--proxy` which tells `arqmad` the ip/port of a socks proxy provided by a +`--proxy` which tells `morelod` the ip/port of a socks proxy provided by a separate process. On most systems the configuration will look like: > `--proxy tor,127.0.0.1:9050,10` > `--proxy i2p,127.0.0.1:9000` -which tells `arqmad` that ".onion" p2p addresses can be forwarded to a socks +which tells `morelod` that ".onion" p2p addresses can be forwarded to a socks proxy at IP 127.0.0.1 port 9050 with a max of 10 outgoing connections and ".b32.i2p" p2p addresses can be forwarded to a socks proxy at IP 127.0.0.1 port 9000 with the default max outgoing connections. Since there are no seed nodes @@ -64,29 +64,29 @@ seed nodes on ALL networks, which will typically be undesireable. ### Inbound Connections Receiving anonymity connections is done through the option -`--anonymous-inbound`. This option tells `arqmad` the inbound address, network +`--anonymous-inbound`. This option tells `morelod` the inbound address, network type, and max connections: > `--anonymous-inbound rveahdfho7wo4b2m.onion:29996,127.0.0.1:29996,25` > `--anonymous-inbound cmeua5767mz2q5jsaelk2rxhf67agrwuetaso5dzbenyzwlbkg2q.b32.i2p:5000,127.0.0.1:30000` -which tells `arqmad` that a max of 25 inbound Tor connections are being -received at address "rveahdfho7wo4b2m.onion:29996" and forwarded to `arqmad` +which tells `morelod` that a max of 25 inbound Tor connections are being +received at address "rveahdfho7wo4b2m.onion:29996" and forwarded to `morelod` localhost port 29996, and a default max I2P connections are being received at address "cmeua5767mz2q5jsaelk2rxhf67agrwuetaso5dzbenyzwlbkg2q.b32.i2p:5000" and -forwarded to `arqmad` localhost port 30000. +forwarded to `morelod` localhost port 30000. These addresses will be shared with outgoing peers, over the same network type, otherwise the peer will not be notified of the peer address by the proxy. ### Wallet RPC An anonymity network can be configured to forward incoming connections to a -`arqmad` RPC port - which is independent from the configuration for incoming +`morelod` RPC port - which is independent from the configuration for incoming P2P anonymity connections. The anonymity network (Tor/i2p) is [configured in the same manner](#configuration), except the localhost port must be the RPC port (typically 19994 for mainnet) instead of the p2p port: -> HiddenServiceDir /var/lib/tor/data/arqma +> HiddenServiceDir /var/lib/tor/data/morelo > HiddenServicePort 19994 127.0.0.1:19994 Then the wallet will be configured to use a Tor/i2p address: > `--proxy 127.0.0.1:9050` @@ -121,12 +121,12 @@ distribute the address to its other peers. Tor must be configured for hidden services. An example configuration ("torrc") might look like: -> HiddenServiceDir /var/lib/tor/data/arqma +> HiddenServiceDir /var/lib/tor/data/morelo > HiddenServicePort 29996 127.0.0.1:29996 -This will store key information in `/var/lib/tor/data/arqma` and will forward +This will store key information in `/var/lib/tor/data/morelo` and will forward "Tor port" 29996 to port 29996 of ip 127.0.0.1. The file -`/usr/lib/tor/data/arqma/hostname` will contain the ".onion" address for use +`/usr/lib/tor/data/morelo/hostname` will contain the ".onion" address for use with `--anonymous-inbound`. I2P must be configured with a standard server tunnel. Configuration differs by @@ -146,7 +146,7 @@ sees a transaction over Tor, it could _assume_ (possibly incorrectly) that the transaction originated from the peer. If both the Tor connection and an IPv4/IPv6 connection have timestamps that are approximately close in value they could be used to link the two connections. This is less likely to happen if the -system clock is fairly accurate - many peers on the Arqma-Network should have +system clock is fairly accurate - many peers on the Morelo metwork should have similar timestamps. #### Mitigation @@ -159,31 +159,31 @@ more difficult. ### Bandwidth Usage -An ISP can passively monitor `arqmad` connections from a node and observe when +An ISP can passively monitor `morelod` connections from a node and observe when a transaction is sent over a Tor/I2P connection via timing analysis + size of data sent during that timeframe. I2P should provide better protection against this attack - its connections are not circuit based. However, if a node is -only using I2P for broadcasting Arqma transactions, the total aggregate of +only using I2P for broadcasting Morelo transactions, the total aggregate of I2P data would also leak information. #### Mitigation There is no current mitigation for the user right now. This attack is fairly -sophisticated, and likely requires support from the internet host of an Arqma +sophisticated, and likely requires support from the internet host of an Morelo user. In the near future, "whitening" the amount of data sent over anonymity network connections will be performed. An attempt will be made to make a transaction broadcast indistinguishable from a peer timed sync command. -### Intermittent Arqma Syncing +### Intermittent Morelo Syncing -If a user only runs `arqmad` to send a transaction then quit, this can also +If a user only runs `morelod` to send a transaction then quit, this can also be used by an ISP to link a user to a transaction. #### Mitigation -Run `arqmad` as often as possible to conceal when transactions are being sent. +Run `morelod` as often as possible to conceal when transactions are being sent. Future versions will also have peers that first receive a transaction over an anonymity network delay the broadcast to public peers by a randomized amount. This will not completetely mitigate a user who syncs up sends then quits, in diff --git a/CMakeLists.txt b/CMakeLists.txt index 65354d750..cf321ea1f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,4 @@ +# Copyright (c) 2025, The Morelo Network # Copyright (c) 2018-2021, The Arqma Network # Copyright (c) 2014-2021, The Monero Project # @@ -354,11 +355,11 @@ elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT MINGW) set(DEFAULT_STACK_TRACE ON) set(STACK_TRACE_LIB "easylogging++") # for diag output only set(LIBUNWIND_LIBRARIES "") -elseif (ARM AND STATIC) +elseif(ARM AND STATIC) set(DEFAULT_STACK_TRACE OFF) set(LIBUNWIND_LIBRARIES "") -else() - find_package(Libunwind) +elseif(NOT MINGW) + find_package(Libunwind REQUIRED) if(LIBUNWIND_FOUND) set(DEFAULT_STACK_TRACE ON) set(STACK_TRACE_LIB "libunwind") # for diag output only diff --git a/CONTRIBUTING.TODO.md b/CONTRIBUTING.TODO.md index 9dc5b2f1c..aa3e5bbe6 100644 --- a/CONTRIBUTING.TODO.md +++ b/CONTRIBUTING.TODO.md @@ -1,4 +1,4 @@ -# Contributing to Arqma +# Contributing to Morelo A good way to help is to test, and report bugs. See [How to Report Bugs Effectively (by Simon Tatham)](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html) @@ -12,10 +12,7 @@ of software solid and usable. * If modifying code for which Doxygen headers exist, that header must be modified to match. * Tests would be nice to have if you're adding functionality. -Patches are preferably to be sent via a Github pull request. If that -can't be done, patches in "git format-patch" format can be sent -(eg, posted to fpaste.org with a long enough timeout and a link -posted to Telegram Arqma Group: https://telegram.arqma.com). +Patches are preferably to be sent via a GitHub pull request. Patches should be self contained. A good rule of thumb is to have one patch per separate issue, feature, or logical change. Also, no @@ -57,6 +54,7 @@ the previous paragraph is here. Copyright (c) 2009-2015 Pieter Hintjens. Copyright (c) 2017-2020 The Monero Project. Copyright (c) 2018-2020 The Arqma Network. +Copyright (c) 2019-2024 The Morelo Network. This Specification is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. @@ -68,11 +66,9 @@ You should have received a copy of the GNU General Public License along with thi The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. -The "Arqma Development Team" is defined in this document as the following users: -- malbit -- ArqTras -- SmajeNz0 -- muscleman +The "Morelo Development Team" is defined in this document as the following users: +- MrKris7100 +- dmkng ## Goals @@ -128,7 +124,7 @@ C4 is meant to provide a reusable optimal collaboration model for open source so - To request changes, a user SHOULD log an issue on the project Platform issue tracker. - The user or Contributor SHOULD write the issue by describing the problem they face or observe. - The user or Contributor SHOULD seek consensus on the accuracy of their observation, and the value of solving the problem. -- Users SHALL NOT log feature requests, ideas, or suggestions unrelated to Arqma code or Arqma's dependency code or Arqma's potential/future dependency code or research which successfully implements Arqma. +- Users SHALL NOT log feature requests, ideas, or suggestions unrelated to Morelo code or Morelo's dependency code or Morelo's potential/future dependency code or research which successfully implements Morelo. - Users SHALL NOT log any solutions to problems (verifiable or hypothetical) of which are not explicitly documented and/or not provable and/or cannot be reasonably proven. - Thus, the release history of the project SHALL be a list of meaningful issues logged and solved. - To work on an issue, a Contributor SHALL fork the project repository and then work on their forked repository. @@ -136,9 +132,9 @@ C4 is meant to provide a reusable optimal collaboration model for open source so - A Contributor SHALL NOT commit changes directly to the project. - To discuss a patch, people MAY comment on the Platform pull request, on the commit, or elsewhere. - To accept or reject a patch, a Maintainer SHALL use the Platform interface. -- Maintainers SHOULD NOT merge their own patches except in exceptional cases, such as non-responsiveness from other Maintainers for an extended period (more than 30 days) or unless urgent as defined by the Monero Maintainers Team. +- Maintainers SHOULD NOT merge their own patches except in exceptional cases, such as non-responsiveness from other Maintainers for an extended period (more than 30 days) or unless urgent as defined by the Morelo Maintainers Team. - Maintainers SHALL NOT make value judgments on correct patches unless the Maintainer (as may happen in rare circumstances) is a core code developer. -- Maintainers MUST NOT merge pull requests in less than 168 hours (1 week) unless deemed urgent by at least 2 people from the Monero Maintainer Team. +- Maintainers MUST NOT merge pull requests in less than 168 hours (1 week) unless deemed urgent by at least 2 people from the Morelo Maintainer Team. - The Contributor MAY tag an issue as "Ready" after making a pull request for the issue. - The user who created an issue SHOULD close the issue after checking the patch is successful. - Maintainers SHOULD ask for improvements to incorrect patches and SHOULD reject incorrect patches if the Contributor does not respond constructively. diff --git a/Dockerfile b/Dockerfile index 57dc6abd5..a9e8e3b1b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -182,24 +182,24 @@ RUN set -ex && \ rm -rf /var/lib/apt COPY --from=builder /src/build/release/bin /usr/local/bin/ -# Below command is creating Arqma user to do not run daemon as a root -RUN adduser --system --group --disabled-password arqma && \ - mkdir -p /wallet /home/arqma/.arqma && \ - chown -R arqma:arqma /home/arqma/.arqma && \ - chown -R arqma:arqma /wallet +# Below command is creating Morelo user to do not run daemon as a root +RUN adduser --system --group --disabled-password morelo && \ + mkdir -p /wallet /home/morelo/.morelo && \ + chown -R morelo:morelo /home/morelo/.morelo && \ + chown -R morelo:morelo /wallet # Contains the blockchain -VOLUME /home/arqma/.arqma +VOLUME /home/morelo/.morelo # Generate your wallet via accessing the container and run: # cd /wallet -# arqma-wallet-cli +# morelo-wallet-cli VOLUME /wallet EXPOSE 19993 EXPOSE 19994 -# switch to user arqma -USER arqma +# switch to user morelo +USER morelo -ENTRYPOINT ["arqmad", "--p2p-bind-ip=0.0.0.0", "--p2p-bind-port=19993", "--rpc-bind-ip=0.0.0.0", "--rpc-bind-port=19994", "--non-interactive", "--confirm-external-bind"] +ENTRYPOINT ["morelod", "--rpc-bind-ip=0.0.0.0", "--non-interactive", "--confirm-external-bind"] diff --git a/Doxyfile b/Doxyfile index b54b0edce..da76929e2 100644 --- a/Doxyfile +++ b/Doxyfile @@ -32,13 +32,13 @@ DOXYFILE_ENCODING = UTF-8 # title of most generated pages and in a few other places. # The default value is: My Project. -PROJECT_NAME = "Arqma Network" +PROJECT_NAME = "Morelo Network" # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "0.4.0.0" +PROJECT_NUMBER = "0.1.1.0" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/Makefile b/Makefile index 68a759884..87d42f97c 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,4 @@ +# Copyright (c) 2025, The Morelo Network # Copyright (c) 2018-2020, The Arqma Network # Copyright (c) 2014-2020, The Monero Project # @@ -29,35 +30,28 @@ ANDROID_STANDALONE_TOOLCHAIN_PATH ?= /usr/local/toolchain -dotgit=$(shell ls -d .git/config) -ifneq ($(dotgit), .git/config) - USE_SINGLE_BUILDDIR=1 -endif +builddir := build +topdir := ../.. +deldirs := $(builddir)/debug $(builddir)/release $(builddir)/fuzz +flags := -DBUILD_TESTS=OFF -subbuilddir:=$(shell echo `uname | sed -e 's|[:/\\ \(\)]|_|g'`/`git branch | grep '\* ' | cut -f2- -d' '| sed -e 's|[:/\\ \(\)]|_|g'`) -ifeq ($(USE_SINGLE_BUILDDIR),) - builddir := build/"$(subbuilddir)" - topdir := ../../../.. - deldirs := $(builddir) -else - builddir := build - topdir := ../.. - deldirs := $(builddir)/debug $(builddir)/release $(builddir)/fuzz +ifdef MORELO_SLIM + flags += -DMORELO_SLIM=ON endif all: release-all depends: - cd contrib/depends && $(MAKE) HOST=$(target) && cd ../.. && mkdir -p build/$(target)/release - cd build/$(target)/release && cmake -D BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$(CURDIR)/contrib/depends/$(target)/share/toolchain.cmake ../../.. && $(MAKE) + cd contrib/depends && $(MAKE) HOST=$(target) && cd ../.. && mkdir -p $(builddir)/release + cd $(builddir)/release && cmake $(flags) -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$(CURDIR)/contrib/depends/$(target)/share/toolchain.cmake -DBUILD_TAG="$(buildtag)" ../.. && $(MAKE) depends-compat: - cd contrib/depends && $(MAKE) HOST=$(target) && cd ../.. && mkdir -p build/$(target)-compat/release - cd build/$(target)-compat/release && cmake -D BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DBACKCOMPAT=ON -DCMAKE_TOOLCHAIN_FILE=$(CURDIR)/contrib/depends/$(target)/share/toolchain.cmake ../../.. && $(MAKE) + cd contrib/depends && $(MAKE) HOST=$(target) && cd ../.. && mkdir -p $(builddir)/release + cd $(builddir)/release && cmake $(flags) -DCMAKE_BUILD_TYPE=Release -DBACKCOMPAT=ON -DCMAKE_TOOLCHAIN_FILE=$(CURDIR)/contrib/depends/$(target)/share/toolchain.cmake -DBUILD_TAG="$(buildtag)" ../.. && $(MAKE) cmake-debug: mkdir -p $(builddir)/debug - cd $(builddir)/debug && cmake -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=Debug $(topdir) + cd $(builddir)/debug && cmake $(flags) -DCMAKE_BUILD_TYPE=Debug $(topdir) debug: cmake-debug cd $(builddir)/debug && $(MAKE) @@ -66,90 +60,106 @@ debug: cmake-debug # * libwallet_api_tests fail (Issue #895) #debug-test: # mkdir -p build/debug -# cd build/debug && cmake -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=Debug ../.. && $(MAKE) && $(MAKE) ARGS="-E libwallet_api_tests" test +# cd build/debug && cmake -DBUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Debug ../.. && $(MAKE) && $(MAKE) ARGS="-E libwallet_api_tests" test debug-all: mkdir -p $(builddir)/debug - cd $(builddir)/debug && cmake -D BUILD_TESTS=OFF -D BUILD_SHARED_LIBS=OFF -D CMAKE_BUILD_TYPE=Debug $(topdir) && $(MAKE) + cd $(builddir)/debug && cmake $(flags) -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug $(topdir) && $(MAKE) debug-static-all: mkdir -p $(builddir)/debug - cd $(builddir)/debug && cmake -D BUILD_TESTS=OFF -D STATIC=ON -D CMAKE_BUILD_TYPE=Debug $(topdir) && $(MAKE) + cd $(builddir)/debug && cmake $(flags) -DSTATIC=ON -DCMAKE_BUILD_TYPE=Debug $(topdir) && $(MAKE) + +debug-static-win-x86_64: + mkdir -p $(builddir)/debug + cd $(builddir)/debug && cmake -G "MSYS Makefiles" $(flags) -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Debug -DBUILD_TAG="win-x64" -DCMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -DMSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) $(topdir) && $(MAKE) -debug-static-win: +debug-win-x86_64: mkdir -p $(builddir)/debug - cd $(builddir)/debug && cmake -G "MSYS Makefiles" -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Debug -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) $(topdir) && $(MAKE) + cd $(builddir)/debug && cmake -G "MSYS Makefiles" $(flags) -DSTATIC=OFF -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Debug -DBUILD_TAG="win-x64" -DCMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -DMSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) $(topdir) && $(MAKE) cmake-release: mkdir -p $(builddir)/release - cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=Release $(topdir) + cd $(builddir)/release && cmake $(flags) -DCMAKE_BUILD_TYPE=Release $(topdir) release: cmake-release cd $(builddir)/release && $(MAKE) release-asan: mkdir -p $(builddir)/release-asan - cd $(builddir)/release-asan && cmake -D SANITIZE=ON -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE) + cd $(builddir)/release-asan && cmake $(flags) -DSANITIZE=ON -DCMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE) debug-asan: mkdir -p $(builddir)/debug-asan - cd $(builddir)/debug-asan && cmake -D SANITIZE=ON -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=Debug $(topdir) && $(MAKE) + cd $(builddir)/debug-asan && cmake $(flags) -DSANITIZE=ON -DCMAKE_BUILD_TYPE=Debug $(topdir) && $(MAKE) release-all: mkdir -p $(builddir)/release - cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE) + cd $(builddir)/release && cmake $(flags) -DCMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE) release-static: mkdir -p $(builddir)/release - cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE) + cd $(builddir)/release && cmake $(flags) -DSTATIC=ON -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE) coverage: mkdir -p $(builddir)/debug - cd $(builddir)/debug && cmake -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=Debug -D COVERAGE=ON $(topdir) && $(MAKE) && $(MAKE) test + cd $(builddir)/debug && cmake $(flags) -DCMAKE_BUILD_TYPE=Debug -DCOVERAGE=ON $(topdir) && $(MAKE) && $(MAKE) test # Targets for specific prebuilt builds which will be advertised for updates by their build tag release-static-android-armv7: mkdir -p $(builddir)/release/translations cd $(builddir)/release/translations && cmake ../../../translations && $(MAKE) - cd $(builddir)/release && CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG="android-armv7" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARM_MODE=ON -D CMAKE_ANDROID_ARCH_ABI="armeabi-v7a" ../.. && $(MAKE) + cd $(builddir)/release && CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ cmake $(flags) -DARCH="armv7-a" -DSTATIC=ON -DBUILD_64=OFF -DCMAKE_BUILD_TYPE=Release -DANDROID=true -DINSTALL_VENDORED_LIBUNBOUND=ON -DBUILD_TAG="android-armv7" -DCMAKE_SYSTEM_NAME="Android" -DCMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -DCMAKE_ANDROID_ARM_MODE=ON -DCMAKE_ANDROID_ARCH_ABI="armeabi-v7a" ../.. && $(MAKE) release-static-android-armv8: mkdir -p $(builddir)/release/translations cd $(builddir)/release/translations && cmake ../../../translations && $(MAKE) - cd $(builddir)/release && CC=aarch64-linux-android-clang CXX=aarch64-linux-android-clang++ cmake -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG="android-armv8" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARCH_ABI="arm64-v8a" ../.. && $(MAKE) + cd $(builddir)/release && CC=aarch64-linux-android-clang CXX=aarch64-linux-android-clang++ cmake $(flags) -DARCH="armv8-a" -DSTATIC=ON -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Release -DANDROID=true -DINSTALL_VENDORED_LIBUNBOUND=ON -DBUILD_TAG="android-armv8" -DCMAKE_SYSTEM_NAME="Android" -DCMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -DCMAKE_ANDROID_ARCH_ABI="arm64-v8a" ../.. && $(MAKE) release-static-linux-armv6: mkdir -p $(builddir)/release - cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D ARCH="armv6zk" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-armv6" $(topdir) && $(MAKE) + cd $(builddir)/release && cmake $(flags) -DARCH="armv6zk" -DSTATIC=ON -DBUILD_64=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="linux-armv6" $(topdir) && $(MAKE) release-static-linux-armv7: mkdir -p $(builddir)/release - cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-armv7" $(topdir) && $(MAKE) + cd $(builddir)/release && cmake $(flags) -DARCH="armv7-a" -DSTATIC=ON -DBUILD_64=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="linux-armv7" $(topdir) && $(MAKE) release-static-linux-armv8: mkdir -p $(builddir)/release - cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-armv8" $(topdir) && $(MAKE) + cd $(builddir)/release && cmake $(flags) -DARCH="armv8-a" -DSTATIC=ON -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="linux-armv8" $(topdir) && $(MAKE) release-static-linux-x86_64: mkdir -p $(builddir)/release - cd $(builddir)/release && cmak -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-x64" $(topdir) && $(MAKE) + cd $(builddir)/release && cmake $(flags) -DSTATIC=ON -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="linux-x64" $(topdir) && $(MAKE) + +release-ubuntu22: + mkdir -p $(builddir)/release + cd $(builddir)/release && cmake $(flags) -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="linux-x64-ubuntu22" $(topdir) && $(MAKE) + +release-ubuntu24: + mkdir -p $(builddir)/release + cd $(builddir)/release && cmake $(flags) -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="linux-x64-ubuntu24" $(topdir) && $(MAKE) release-static-freebsd-x86_64: mkdir -p $(builddir)/release - cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="freebsd-x64" $(topdir) && $(MAKE) + cd $(builddir)/release && cmake $(flags) -DSTATIC=ON -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="freebsd-x64" $(topdir) && $(MAKE) release-static-mac-x86_64: mkdir -p $(builddir)/release - cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="mac-x64" $(topdir) && $(MAKE) + cd $(builddir)/release && cmake $(flags) -DSTATIC=ON -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="mac-x64" $(topdir) && $(MAKE) + +release-static-win-x86_64: + mkdir -p $(builddir)/release + cd $(builddir)/release && cmake -G "MSYS Makefiles" $(flags) -DARCH="x86-64" -DBUILD_64=ON -D_FORTIFY_SOURCE=0 -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="win-x64" -DCMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -DMSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) $(topdir) && $(MAKE) -release-static-win: +release-win-x86_64: mkdir -p $(builddir)/release - cd $(builddir)/release && cmake -G "MSYS Makefiles" -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D_FORTIFY_SOURCE=0 -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) $(topdir) && $(MAKE) + cd $(builddir)/release && cmake -G "MSYS Makefiles" $(flags) -DSTATIC=OFF -DARCH="x86-64" -DBUILD_64=ON -D_FORTIFY_SOURCE=0 -DCMAKE_BUILD_TYPE=Release -DBUILD_TAG="win-x64" -DCMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -DMSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) $(topdir) && $(MAKE) #fuzz: # mkdir -p $(builddir)/fuzz -# cd $(builddir)/fuzz && cmake -D STATIC=ON -D SANITIZE=ON -D BUILD_TESTS=ON -D USE_LTO=OFF -D CMAKE_C_COMPILER=afl-gcc -D CMAKE_CXX_COMPILER=afl-g++ -D ARCH="x86-64" -D CMAKE_BUILD_TYPE=fuzz -D BUILD_TAG="linux-x64" $(topdir) && $(MAKE) +# cd $(builddir)/fuzz && cmake -DSTATIC=ON -DSANITIZE=ON -DBUILD_TESTS=ON -DUSE_LTO=OFF -DCMAKE_C_COMPILER=afl-gcc -DCMAKE_CXX_COMPILER=afl-g++ -DARCH="x86-64" -DCMAKE_BUILD_TYPE=fuzz -DBUILD_TAG="linux-x64" $(topdir) && $(MAKE) clean: @echo "WARNING: Back-up your wallet if it exists within ./"$(deldirs)"!" ; \ diff --git a/cmake/Doxyfile.in b/cmake/Doxyfile.in index 74b4e4633..607fd7b79 100644 --- a/cmake/Doxyfile.in +++ b/cmake/Doxyfile.in @@ -26,7 +26,7 @@ DOXYFILE_ENCODING = UTF-8 # identify the project. Note that if you do not use Doxywizard you need # to put quotes around the project name if it contains spaces. -PROJECT_NAME = Arqma +PROJECT_NAME = Morelo # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or diff --git a/contrib/depends/README.md b/contrib/depends/README.md index f93ada369..7f43c41ea 100644 --- a/contrib/depends/README.md +++ b/contrib/depends/README.md @@ -12,9 +12,9 @@ For example: make HOST=x86_64-w64-mingw32 -j4 -A toolchain will be generated that's suitable for plugging into Arqma's +A toolchain will be generated that's suitable for plugging into Morelo's cmake. In the above example, a dir named x86_64-w64-mingw32 will be -created. To use it for Arqma: +created. To use it for Morelo: cmake -DCMAKE_TOOLCHAIN=`pwd`/contrib/depends/x86_64-w64-mingw32 diff --git a/contrib/depends/macdeploy/README.md b/contrib/depends/macdeploy/README.md index 83a27613c..e055b8c22 100644 --- a/contrib/depends/macdeploy/README.md +++ b/contrib/depends/macdeploy/README.md @@ -8,7 +8,7 @@ Used part only for SDK Extraction Info. ### Step 1: Obtaining `Xcode.app` -Arqma current macOS SDK +Morelo current macOS SDK (`Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz`) can be extracted from [Xcode_11.3.1.xip](https://download.developer.apple.com/Developer_Tools/Xcode_11.3.1/Xcode_11.3.1.xip). diff --git a/contrib/depends/packages/boost.mk b/contrib/depends/packages/boost.mk index a0b730cc6..9f44e5ee9 100644 --- a/contrib/depends/packages/boost.mk +++ b/contrib/depends/packages/boost.mk @@ -1,8 +1,8 @@ package=boost -$(package)_version=1_73_0 -$(package)_download_path=https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/ -$(package)_file_name=boost_$($(package)_version).tar.bz2 -$(package)_sha256_hash=4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402 +$(package)_version=1.83.0 +$(package)_download_path=https://archives.boost.io/release/$($(package)_version)/source/ +$(package)_file_name=$(package)_$(subst .,_,$($(package)_version)).tar.bz2 +$(package)_sha256_hash=6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e $(package)_dependencies=libiconv define $(package)_set_vars diff --git a/contrib/depends/packages/hidapi.mk b/contrib/depends/packages/hidapi.mk index da853324c..316a28201 100644 --- a/contrib/depends/packages/hidapi.mk +++ b/contrib/depends/packages/hidapi.mk @@ -1,8 +1,8 @@ package=hidapi -$(package)_version=0.9.0 +$(package)_version=0.15.0 $(package)_download_path=https://github.com/libusb/hidapi/archive $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=630ee1834bdd5c5761ab079fd04f463a89585df8fcae51a7bfe4229b1e02a652 +$(package)_sha256_hash=5d84dec684c27b97b921d2f3b73218cb773cf4ea915caee317ac8fc73cef8136 $(package)_linux_dependencies=libusb eudev define $(package)_set_vars diff --git a/contrib/depends/packages/libusb.mk b/contrib/depends/packages/libusb.mk index 9344873b2..5642d4084 100644 --- a/contrib/depends/packages/libusb.mk +++ b/contrib/depends/packages/libusb.mk @@ -1,8 +1,8 @@ package=libusb -$(package)_version=1.0.23 +$(package)_version=1.0.28 $(package)_download_path=https://github.com/libusb/libusb/releases/download/v$($(package)_version) $(package)_file_name=$(package)-$($(package)_version).tar.bz2 -$(package)_sha256_hash=db11c06e958a82dac52cf3c65cb4dd2c3f339c8a988665110e0d24d19312ad8d +$(package)_sha256_hash=966bb0d231f94a474eaae2e67da5ec844d3527a1f386456394ff432580634b29 define $(package)_preprocess_cmds autoreconf -i diff --git a/contrib/epee/include/console_handler.h b/contrib/epee/include/console_handler.h index dcc25bd0b..9ee919409 100644 --- a/contrib/epee/include/console_handler.h +++ b/contrib/epee/include/console_handler.h @@ -179,7 +179,7 @@ namespace epee #else while (m_run.load(std::memory_order_relaxed)) { - int retval = ::WaitForSingleObject(::GetStdHandle(STD_INPUT_HANDLE), 100); + DWORD retval = ::WaitForSingleObject(::GetStdHandle(STD_INPUT_HANDLE), 100); switch (retval) { case WAIT_FAILED: diff --git a/contrib/epee/include/misc_log_ex.h b/contrib/epee/include/misc_log_ex.h index 6944975f2..6508007f2 100644 --- a/contrib/epee/include/misc_log_ex.h +++ b/contrib/epee/include/misc_log_ex.h @@ -34,8 +34,8 @@ #include "easylogging++.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "default" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "default" #define MAX_LOG_FILE_SIZE 104850000 // 100 MB - 7600 bytes #define MAX_LOG_FILES 50 @@ -64,20 +64,20 @@ #define MCLOG_MAGENTA(level,cat,x) MCLOG_COLOR(level,cat,el::Color::Magenta,x) #define MCLOG_CYAN(level,cat,x) MCLOG_COLOR(level,cat,el::Color::Cyan,x) -#define MLOG_RED(level,x) MCLOG_RED(level,ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MLOG_GREEN(level,x) MCLOG_GREEN(level,ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MLOG_YELLOW(level,x) MCLOG_YELLOW(level,ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MLOG_BLUE(level,x) MCLOG_BLUE(level,ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MLOG_MAGENTA(level,x) MCLOG_MAGENTA(level,ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MLOG_CYAN(level,x) MCLOG_CYAN(level,ARQMA_DEFAULT_LOG_CATEGORY,x) - -#define MFATAL(x) MCFATAL(ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MERROR(x) MCERROR(ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MWARNING(x) MCWARNING(ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MINFO(x) MCINFO(ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MDEBUG(x) MCDEBUG(ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MTRACE(x) MCTRACE(ARQMA_DEFAULT_LOG_CATEGORY,x) -#define MLOG(level,x) MCLOG(level,ARQMA_DEFAULT_LOG_CATEGORY,el::Color::Default,x) +#define MLOG_RED(level,x) MCLOG_RED(level,MORELO_DEFAULT_LOG_CATEGORY,x) +#define MLOG_GREEN(level,x) MCLOG_GREEN(level,MORELO_DEFAULT_LOG_CATEGORY,x) +#define MLOG_YELLOW(level,x) MCLOG_YELLOW(level,MORELO_DEFAULT_LOG_CATEGORY,x) +#define MLOG_BLUE(level,x) MCLOG_BLUE(level,MORELO_DEFAULT_LOG_CATEGORY,x) +#define MLOG_MAGENTA(level,x) MCLOG_MAGENTA(level,MORELO_DEFAULT_LOG_CATEGORY,x) +#define MLOG_CYAN(level,x) MCLOG_CYAN(level,MORELO_DEFAULT_LOG_CATEGORY,x) + +#define MFATAL(x) MCFATAL(MORELO_DEFAULT_LOG_CATEGORY,x) +#define MERROR(x) MCERROR(MORELO_DEFAULT_LOG_CATEGORY,x) +#define MWARNING(x) MCWARNING(MORELO_DEFAULT_LOG_CATEGORY,x) +#define MINFO(x) MCINFO(MORELO_DEFAULT_LOG_CATEGORY,x) +#define MDEBUG(x) MCDEBUG(MORELO_DEFAULT_LOG_CATEGORY,x) +#define MTRACE(x) MCTRACE(MORELO_DEFAULT_LOG_CATEGORY,x) +#define MLOG(level,x) MCLOG(level,MORELO_DEFAULT_LOG_CATEGORY,el::Color::Default,x) #define MGINFO(x) MCINFO("global",x) #define MGINFO_RED(x) MCLOG_RED(el::Level::Info, "global",x) @@ -94,7 +94,7 @@ el::base::Writer(level, color, __FILE__, __LINE__, ELPP_FUNC, type).construct(cat) << x; \ } \ } while(0) -#define MIDEBUG(init, x) IFLOG(el::Level::Debug, ARQMA_DEFAULT_LOG_CATEGORY, el::Color::Default, el::base::DispatchAction::NormalLog, init, x) +#define MIDEBUG(init, x) IFLOG(el::Level::Debug, MORELO_DEFAULT_LOG_CATEGORY, el::Color::Default, el::base::DispatchAction::NormalLog, init, x) #define LOG_ERROR(x) MERROR(x) diff --git a/contrib/epee/include/net/abstract_tcp_server.h b/contrib/epee/include/net/abstract_tcp_server.h index d5496b0a3..6b9f52e40 100644 --- a/contrib/epee/include/net/abstract_tcp_server.h +++ b/contrib/epee/include/net/abstract_tcp_server.h @@ -38,8 +38,8 @@ #pragma comment(lib, "Ws2_32.lib") -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" namespace epee { diff --git a/contrib/epee/include/net/abstract_tcp_server2.h b/contrib/epee/include/net/abstract_tcp_server2.h index f7c4206a5..03c6f5575 100644 --- a/contrib/epee/include/net/abstract_tcp_server2.h +++ b/contrib/epee/include/net/abstract_tcp_server2.h @@ -56,8 +56,8 @@ #include "connection_basic.hpp" #include "network_throttle-detail.hpp" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" #define ABSTRACT_SERVER_SEND_QUE_MAX_COUNT 3000 diff --git a/contrib/epee/include/net/abstract_tcp_server2.inl b/contrib/epee/include/net/abstract_tcp_server2.inl index fe722dbc1..f9402136d 100644 --- a/contrib/epee/include/net/abstract_tcp_server2.inl +++ b/contrib/epee/include/net/abstract_tcp_server2.inl @@ -44,14 +44,15 @@ #include "string_tools.h" #include "misc_language.h" #include "net/local_ip.h" +#include #include "pragma_comp_defs.h" #include #include #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" #define DEFAULT_TIMEOUT_MS_LOCAL 1800000 // 30 minutes #define DEFAULT_TIMEOUT_MS_REMOTE 300000 // 5 minutes diff --git a/contrib/epee/include/net/abstract_tcp_server_cp.h b/contrib/epee/include/net/abstract_tcp_server_cp.h index 9d190dc20..4bcf8b47c 100644 --- a/contrib/epee/include/net/abstract_tcp_server_cp.h +++ b/contrib/epee/include/net/abstract_tcp_server_cp.h @@ -42,8 +42,8 @@ #include "net_utils_base.h" #include "pragma_comp_defs.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" #define LEVIN_DEFAULT_DATA_BUFF_SIZE 2000 diff --git a/contrib/epee/include/net/abstract_tcp_server_cp.inl b/contrib/epee/include/net/abstract_tcp_server_cp.inl index a29582c8b..c865023b2 100644 --- a/contrib/epee/include/net/abstract_tcp_server_cp.inl +++ b/contrib/epee/include/net/abstract_tcp_server_cp.inl @@ -27,8 +27,8 @@ #pragma comment(lib, "Ws2_32.lib") -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" namespace epee { diff --git a/contrib/epee/include/net/buffer.h b/contrib/epee/include/net/buffer.h index 58128d243..b5160133c 100644 --- a/contrib/epee/include/net/buffer.h +++ b/contrib/epee/include/net/buffer.h @@ -32,8 +32,8 @@ #include "misc_log_ex.h" #include "span.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.buffer" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.buffer" //#define NET_BUFFER_LOG(x) MDEBUG(x) #define NET_BUFFER_LOG(x) ((void)0) diff --git a/contrib/epee/include/net/http_auth.h b/contrib/epee/include/net/http_auth.h index 69d0dfc93..1993a3d2b 100644 --- a/contrib/epee/include/net/http_auth.h +++ b/contrib/epee/include/net/http_auth.h @@ -36,8 +36,8 @@ #include "wipeable_string.h" #include "http_base.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" namespace epee { diff --git a/contrib/epee/include/net/http_base.h b/contrib/epee/include/net/http_base.h index c30b4e8b1..0380bad06 100644 --- a/contrib/epee/include/net/http_base.h +++ b/contrib/epee/include/net/http_base.h @@ -35,8 +35,8 @@ #include "string_tools.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" namespace epee { diff --git a/contrib/epee/include/net/http_client.h b/contrib/epee/include/net/http_client.h index 61e2928d9..75b52609f 100644 --- a/contrib/epee/include/net/http_client.h +++ b/contrib/epee/include/net/http_client.h @@ -57,8 +57,8 @@ //#pragma comment(lib, "shlwapi.lib") -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" extern epee::critical_section gregexp_lock; diff --git a/contrib/epee/include/net/http_client_base.h b/contrib/epee/include/net/http_client_base.h index 91e6e5402..701ca8ebf 100644 --- a/contrib/epee/include/net/http_client_base.h +++ b/contrib/epee/include/net/http_client_base.h @@ -26,8 +26,8 @@ #pragma once -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" namespace epee { diff --git a/contrib/epee/include/net/http_client_via_api_helper.h b/contrib/epee/include/net/http_client_via_api_helper.h index 89169810d..f6b28c879 100644 --- a/contrib/epee/include/net/http_client_via_api_helper.h +++ b/contrib/epee/include/net/http_client_via_api_helper.h @@ -32,8 +32,8 @@ #include #pragma comment(lib, "Wininet.lib") -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" namespace epee { diff --git a/contrib/epee/include/net/http_protocol_handler.h b/contrib/epee/include/net/http_protocol_handler.h index e89c362cd..5cae2d2c9 100644 --- a/contrib/epee/include/net/http_protocol_handler.h +++ b/contrib/epee/include/net/http_protocol_handler.h @@ -37,8 +37,8 @@ #include "http_auth.h" #include "http_base.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" namespace epee { diff --git a/contrib/epee/include/net/http_protocol_handler.inl b/contrib/epee/include/net/http_protocol_handler.inl index cee3ba5c9..02fff9a62 100644 --- a/contrib/epee/include/net/http_protocol_handler.inl +++ b/contrib/epee/include/net/http_protocol_handler.inl @@ -34,8 +34,8 @@ #include "net_parse_helpers.h" #include "time_helper.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" #define HTTP_MAX_URI_LEN 9000 #define HTTP_MAX_HEADER_LEN 100000 diff --git a/contrib/epee/include/net/http_server_cp.h b/contrib/epee/include/net/http_server_cp.h index e69f31fba..ced2a6c0f 100644 --- a/contrib/epee/include/net/http_server_cp.h +++ b/contrib/epee/include/net/http_server_cp.h @@ -33,8 +33,8 @@ #include "abstract_tcp_server_cp.h" #include "http_server.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" namespace epee { diff --git a/contrib/epee/include/net/http_server_cp2.h b/contrib/epee/include/net/http_server_cp2.h index dafdb85a1..f8ba9a742 100644 --- a/contrib/epee/include/net/http_server_cp2.h +++ b/contrib/epee/include/net/http_server_cp2.h @@ -33,8 +33,8 @@ #include "abstract_tcp_server2.h" #include "http_protocol_handler.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" namespace epee { diff --git a/contrib/epee/include/net/http_server_handlers_map2.h b/contrib/epee/include/net/http_server_handlers_map2.h index b0fca2311..0faf81dbd 100644 --- a/contrib/epee/include/net/http_server_handlers_map2.h +++ b/contrib/epee/include/net/http_server_handlers_map2.h @@ -31,8 +31,8 @@ #include "storages/portable_storage.h" #include "storages/portable_storage_template_helper.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" #define CHAIN_HTTP_TO_MAP2(context_type) bool handle_http_request(const epee::net_utils::http::http_request_info& query_info, \ diff --git a/contrib/epee/include/net/http_server_impl_base.h b/contrib/epee/include/net/http_server_impl_base.h index cc33cc1ed..57b34ffad 100644 --- a/contrib/epee/include/net/http_server_impl_base.h +++ b/contrib/epee/include/net/http_server_impl_base.h @@ -37,8 +37,8 @@ #include "http_protocol_handler.h" #include "net/http_server_handlers_map2.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.http" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.http" using namespace boost::placeholders; diff --git a/contrib/epee/include/net/levin_client.inl b/contrib/epee/include/net/levin_client.inl index d44fb2a7b..285705084 100644 --- a/contrib/epee/include/net/levin_client.inl +++ b/contrib/epee/include/net/levin_client.inl @@ -31,8 +31,8 @@ //------------------------------------------------------------------------------ #include "string_tools.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" namespace epee { diff --git a/contrib/epee/include/net/levin_client_async.h b/contrib/epee/include/net/levin_client_async.h index f70e5d9ca..47b865460 100644 --- a/contrib/epee/include/net/levin_client_async.h +++ b/contrib/epee/include/net/levin_client_async.h @@ -31,8 +31,8 @@ #include "net_helper.h" #include "levin_base.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" namespace epee diff --git a/contrib/epee/include/net/levin_helper.h b/contrib/epee/include/net/levin_helper.h index ce199641f..52626d00e 100644 --- a/contrib/epee/include/net/levin_helper.h +++ b/contrib/epee/include/net/levin_helper.h @@ -32,8 +32,8 @@ #include "serializeble_struct_helper.h" #include "int-util.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" namespace epee { diff --git a/contrib/epee/include/net/levin_protocol_handler.h b/contrib/epee/include/net/levin_protocol_handler.h index 1fab00e15..a58499e63 100644 --- a/contrib/epee/include/net/levin_protocol_handler.h +++ b/contrib/epee/include/net/levin_protocol_handler.h @@ -33,8 +33,8 @@ #include "levin_base.h" #include "int-util.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" namespace epee { diff --git a/contrib/epee/include/net/levin_protocol_handler_async.h b/contrib/epee/include/net/levin_protocol_handler_async.h index 78fd50103..7cdb345be 100644 --- a/contrib/epee/include/net/levin_protocol_handler_async.h +++ b/contrib/epee/include/net/levin_protocol_handler_async.h @@ -43,8 +43,8 @@ #include #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" #ifndef MIN_BYTES_WANTED #define MIN_BYTES_WANTED 512 diff --git a/contrib/epee/include/net/net_helper.h b/contrib/epee/include/net/net_helper.h index 3bedbace7..e88c85f1c 100644 --- a/contrib/epee/include/net/net_helper.h +++ b/contrib/epee/include/net/net_helper.h @@ -48,8 +48,8 @@ #include "net/net_ssl.h" #include "misc_language.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" #ifndef MAKE_IP #define MAKE_IP( a1, a2, a3, a4 ) (a1|(a2<<8)|(a3<<16)|(a4<<24)) diff --git a/contrib/epee/include/net/net_parse_helpers.h b/contrib/epee/include/net/net_parse_helpers.h index 4a4d0ff96..b47f5a0b9 100644 --- a/contrib/epee/include/net/net_parse_helpers.h +++ b/contrib/epee/include/net/net_parse_helpers.h @@ -31,8 +31,8 @@ #include "http_base.h" #include "reg_exp_definer.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" namespace epee { diff --git a/contrib/epee/include/net/net_utils_base.h b/contrib/epee/include/net/net_utils_base.h index a34ac4647..c57d98539 100644 --- a/contrib/epee/include/net/net_utils_base.h +++ b/contrib/epee/include/net/net_utils_base.h @@ -37,8 +37,8 @@ #include "serialization/keyvalue_serialization.h" #include "misc_log_ex.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" #ifndef MAKE_IP #define MAKE_IP( a1, a2, a3, a4 ) (a1|(a2<<8)|(a3<<16)|(a4<<24)) diff --git a/contrib/epee/include/serialization/keyvalue_serialization.h b/contrib/epee/include/serialization/keyvalue_serialization.h index 531c1a4f7..3627084f4 100644 --- a/contrib/epee/include/serialization/keyvalue_serialization.h +++ b/contrib/epee/include/serialization/keyvalue_serialization.h @@ -33,8 +33,8 @@ #include "enableable.h" #include "keyvalue_serialization_overloads.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "serialization" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "serialization" namespace epee { diff --git a/contrib/epee/include/serialization/keyvalue_serialization_overloads.h b/contrib/epee/include/serialization/keyvalue_serialization_overloads.h index d5f88cf5b..8cc906635 100644 --- a/contrib/epee/include/serialization/keyvalue_serialization_overloads.h +++ b/contrib/epee/include/serialization/keyvalue_serialization_overloads.h @@ -33,8 +33,8 @@ #include #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "serialization" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "serialization" namespace epee { diff --git a/contrib/epee/include/storages/levin_abstract_invoke2.h b/contrib/epee/include/storages/levin_abstract_invoke2.h index 05d3ad71b..602fdf0be 100644 --- a/contrib/epee/include/storages/levin_abstract_invoke2.h +++ b/contrib/epee/include/storages/levin_abstract_invoke2.h @@ -34,8 +34,8 @@ #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net" using namespace boost::placeholders; diff --git a/contrib/epee/include/storages/parserse_base_utils.h b/contrib/epee/include/storages/parserse_base_utils.h index e2ae502af..216e62bb5 100644 --- a/contrib/epee/include/storages/parserse_base_utils.h +++ b/contrib/epee/include/storages/parserse_base_utils.h @@ -33,8 +33,8 @@ #include "misc_log_ex.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "serialization" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "serialization" namespace epee { diff --git a/contrib/epee/include/storages/portable_storage_val_converters.h b/contrib/epee/include/storages/portable_storage_val_converters.h index e54cda828..9182420c0 100644 --- a/contrib/epee/include/storages/portable_storage_val_converters.h +++ b/contrib/epee/include/storages/portable_storage_val_converters.h @@ -27,7 +27,7 @@ #pragma once - +#include #include #include diff --git a/contrib/epee/include/string_tools.h b/contrib/epee/include/string_tools.h index 686febca5..ef5fd49b0 100644 --- a/contrib/epee/include/string_tools.h +++ b/contrib/epee/include/string_tools.h @@ -34,7 +34,7 @@ #include #include #endif - +#include #include #include #include diff --git a/contrib/epee/src/buffer.cpp b/contrib/epee/src/buffer.cpp index 7428ac930..b15e0b157 100644 --- a/contrib/epee/src/buffer.cpp +++ b/contrib/epee/src/buffer.cpp @@ -25,12 +25,12 @@ // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - +#include #include #include "net/buffer.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.buffer" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.buffer" namespace epee { diff --git a/contrib/epee/src/connection_basic.cpp b/contrib/epee/src/connection_basic.cpp index e7b4f2f13..e673e8b1f 100644 --- a/contrib/epee/src/connection_basic.cpp +++ b/contrib/epee/src/connection_basic.cpp @@ -53,8 +53,8 @@ #define GET_IO_SERVICE(s) ((s).get_io_service()) #endif -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.conn" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.conn" // ################################################################################################ // local (TU local) headers diff --git a/contrib/epee/src/http_auth.cpp b/contrib/epee/src/http_auth.cpp index b632213ba..2f1e81afe 100644 --- a/contrib/epee/src/http_auth.cpp +++ b/contrib/epee/src/http_auth.cpp @@ -93,7 +93,7 @@ namespace constexpr const auto client_auth_field = ceref(u8"Authorization"); constexpr const auto server_auth_field = ceref(u8"WWW-authenticate"); - constexpr const auto auth_realm = ceref(u8"arqma-rpc"); + constexpr const auto auth_realm = ceref(u8"morelo-rpc"); constexpr const char comma = 44; constexpr const char equal_sign = 61; constexpr const char quote = 34; diff --git a/contrib/epee/src/mlocker.cpp b/contrib/epee/src/mlocker.cpp index 4d58041f7..4b0d66a32 100644 --- a/contrib/epee/src/mlocker.cpp +++ b/contrib/epee/src/mlocker.cpp @@ -40,8 +40,8 @@ #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "mlocker" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "mlocker" // did an mlock operation previously fail? we only // want to log an error once and be done with it diff --git a/contrib/epee/src/mlog.cpp b/contrib/epee/src/mlog.cpp index 4cd83f45d..40bb5488f 100644 --- a/contrib/epee/src/mlog.cpp +++ b/contrib/epee/src/mlog.cpp @@ -43,12 +43,12 @@ #include "misc_os_dependent.h" #include "misc_log_ex.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "logging" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "logging" #define MLOG_BASE_FORMAT "%datetime{%Y-%M-%d %H:%m:%s.%g}\t%thread\t%level\t%logger\t%loc\t%msg" -#define MLOG_LOG(x) CINFO(el::base::Writer,el::base::DispatchAction::FileOnlyLog,ARQMA_DEFAULT_LOG_CATEGORY) << x +#define MLOG_LOG(x) CINFO(el::base::Writer,el::base::DispatchAction::FileOnlyLog,MORELO_DEFAULT_LOG_CATEGORY) << x using namespace epee; @@ -150,7 +150,7 @@ void mlog_configure(const std::string &filename_base, bool console, const std::s el::Configurations c; c.setGlobally(el::ConfigurationType::Filename, filename_base); c.setGlobally(el::ConfigurationType::ToFile, "true"); - const char *log_format = getenv("ARQMA_LOG_FORMAT"); + const char *log_format = getenv("MORELO_LOG_FORMAT"); if (!log_format) log_format = MLOG_BASE_FORMAT; c.setGlobally(el::ConfigurationType::Format, log_format); @@ -222,12 +222,12 @@ void mlog_configure(const std::string &filename_base, bool console, const std::s } }); mlog_set_common_prefix(); - const char *arqma_log = getenv("ARQMA_LOGS"); - if (!arqma_log) + const char *logs = getenv("MORELO_LOGS"); + if (!logs) { - arqma_log = get_default_categories(0); + logs = get_default_categories(0); } - mlog_set_log(arqma_log); + mlog_set_log(logs); #ifdef WIN32 EnableVTMode(); #endif diff --git a/contrib/epee/src/net_ssl.cpp b/contrib/epee/src/net_ssl.cpp index eb1d181f7..77972cb9e 100644 --- a/contrib/epee/src/net_ssl.cpp +++ b/contrib/epee/src/net_ssl.cpp @@ -33,8 +33,8 @@ #include "misc_log_ex.h" #include "net/net_ssl.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.ssl" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.ssl" // openssl genrsa -out /tmp/KEY 4096 // openssl req -new -key /tmp/KEY -out /tmp/REQ diff --git a/contrib/epee/src/network_throttle-detail.cpp b/contrib/epee/src/network_throttle-detail.cpp index f3211961d..21f5c01ef 100644 --- a/contrib/epee/src/network_throttle-detail.cpp +++ b/contrib/epee/src/network_throttle-detail.cpp @@ -60,8 +60,8 @@ // TODO: #include "net/network_throttle-detail.hpp" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.throttle" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.throttle" // ################################################################################################ // ################################################################################################ diff --git a/contrib/epee/src/wipeable_string.cpp b/contrib/epee/src/wipeable_string.cpp index 8227be099..712287ef7 100644 --- a/contrib/epee/src/wipeable_string.cpp +++ b/contrib/epee/src/wipeable_string.cpp @@ -26,6 +26,7 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include #include #include #include "memwipe.h" diff --git a/contrib/gitian/README.md b/contrib/gitian/README.md index 6bf4b9218..606bc4153 100644 --- a/contrib/gitian/README.md +++ b/contrib/gitian/README.md @@ -1,9 +1,9 @@ Gitian building ================ -*Setup instructions for a Gitian build of Arqma using a VM or physical system.* +*Setup instructions for a Gitian build of Morelo using a VM or physical system.* -Gitian is the deterministic build process that is used to build the Arqma CLI +Gitian is the deterministic build process that is used to build the Morelo CLI executables. It provides a way to be reasonably sure that the executables are really built from the git source. It also makes sure that the same, tested dependencies are used and statically built into the executable. @@ -74,7 +74,7 @@ Initial Gitian Setup The `gitian-build.py` script will checkout different release tags, so it's best to copy it: ```bash -cp arqma/contrib/gitian/gitian-build.py . +cp morelo/contrib/gitian/gitian-build.py . ``` Setup the required environment, you only need to do this once: @@ -92,7 +92,7 @@ fork the gitian.sigs repository and clone it on your host machine, or pass the signed assert file back to your build machine. ``` -git clone git@github.com:arqma/gitian.sigs.git +git clone git@github.com:morelo/gitian.sigs.git git remote add malbit git@github.com:malbit/gitian.sigs.git ``` @@ -111,13 +111,13 @@ If you do detached, offline signing, you need to copy these uncommited changes t ``` export NAME=malbit export VERSION=v0.10.0 -gpg --output $VERSION-linux/$NAME/arqma-linux-$VERSION-build.assert.sig --detach-sign $VERSION-linux/$NAME/arqma-linux-$VERSION-build.assert -gpg --output $VERSION-osx-unsigned/$NAME/arqma-osx-$VERSION-build.assert.sig --detach-sign $VERSION-osx-unsigned/$NAME/arqma-osx-$VERSION-build.assert -gpg --output $VERSION-win-unsigned/$NAME/arqma-win-$VERSION-build.assert.sig --detach-sign $VERSION-win-unsigned/$NAME/arqma-win-$VERSION-build.assert +gpg --output $VERSION-linux/$NAME/morelo-linux-$VERSION-build.assert.sig --detach-sign $VERSION-linux/$NAME/morelo-linux-$VERSION-build.assert +gpg --output $VERSION-osx-unsigned/$NAME/morelo-osx-$VERSION-build.assert.sig --detach-sign $VERSION-osx-unsigned/$NAME/morelo-osx-$VERSION-build.assert +gpg --output $VERSION-win-unsigned/$NAME/morelo-win-$VERSION-build.assert.sig --detach-sign $VERSION-win-unsigned/$NAME/morelo-win-$VERSION-build.assert ``` Make a pull request (both the `.assert` and `.assert.sig` files) to the -[arqma/gitian.sigs](https://github.com/arqma/gitian.sigs/) repository: +[morelo/gitian.sigs](https://github.com/morelo/gitian.sigs/) repository: ``` git checkout -b v0.10.0 @@ -126,7 +126,7 @@ git push --set-upstream $NAME v0.10.0 ``` ```bash - gpg --detach-sign ${VERSION}-linux/${SIGNER}/arqma-linux-*-build.assert - gpg --detach-sign ${VERSION}-win-unsigned/${SIGNER}/arqma-win-*-build.assert - gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/arqma-osx-*-build.assert + gpg --detach-sign ${VERSION}-linux/${SIGNER}/morelo-linux-*-build.assert + gpg --detach-sign ${VERSION}-win-unsigned/${SIGNER}/morelo-win-*-build.assert + gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/morelo-osx-*-build.assert ``` diff --git a/contrib/gitian/gitian-build.py b/contrib/gitian/gitian-build.py index 5a0a8500e..f99120f86 100644 --- a/contrib/gitian/gitian-build.py +++ b/contrib/gitian/gitian-build.py @@ -23,13 +23,13 @@ def setup(): programs += ['lxc', 'debootstrap'] subprocess.check_call(['sudo', 'apt-get', 'install', '-qq'] + programs) if not os.path.isdir('gitian.sigs'): - subprocess.check_call(['git', 'clone', 'https://github.com/arqma/gitian.sigs.git']) + subprocess.check_call(['git', 'clone', 'https://github.com/MoreloNetwork/gitian-sigs.git']) if not os.path.isdir('gitian-builder'): subprocess.check_call(['git', 'clone', 'https://github.com/devrandom/gitian-builder.git']) - if not os.path.isdir('arqma'): - subprocess.check_call(['git', 'clone', 'https://github.com/arqma/arqma.git']) + if not os.path.isdir('morelo'): + subprocess.check_call(['git', 'clone', 'https://github.com/MoreloNetwork/morelo.git']) os.chdir('gitian-builder') - subprocess.check_call(['git', 'checkout', '????????']) // TODO: Will need to be updated with final Release Version commit hash!!! + subprocess.check_call(['git', 'checkout', '????????']) make_image_prog = ['bin/make-base-vm', '--suite', 'bionic', '--arch', 'amd64'] if args.docker: make_image_prog += ['--docker'] @@ -45,7 +45,7 @@ def setup(): def build(): global args, workdir - os.makedirs('arqma-binaries/' + args.version, exist_ok=True) + os.makedirs('morelo-binaries/' + args.version, exist_ok=True) print('\nBuilding Dependencies\n') os.chdir('gitian-builder') os.makedirs('inputs', exist_ok=True) @@ -54,25 +54,25 @@ def build(): subprocess.check_call(['wget', '-N', '-P', 'inputs', 'https://bitcoincore.org/cfields/osslsigncode-Backports-to-1.7.1.patch']) subprocess.check_output(["echo 'a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911 inputs/osslsigncode-Backports-to-1.7.1.patch' | sha256sum -c"], shell=True) subprocess.check_output(["echo 'f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 inputs/osslsigncode-1.7.1.tar.gz' | sha256sum -c"], shell=True) - subprocess.check_call(['make', '-C', '../arqma/contrib/depends', 'download', 'SOURCES_PATH=' + os.getcwd() + '/cache/common']) + subprocess.check_call(['make', '-C', '../morelo/contrib/depends', 'download', 'SOURCES_PATH=' + os.getcwd() + '/cache/common']) if args.linux: print('\nCompiling ' + args.version + ' Linux') - subprocess.check_call(['bin/gbuild', '-j', args.jobs, '-m', args.memory, '--commit', 'arqma='+args.commit, '--url', 'arqma='+args.url, '../arqma/contrib/gitian/gitian-linux.yml']) - subprocess.check_call(['bin/gsign', '-p', args.sign_prog, '--signer', args.signer, '--release', args.version+'-linux', '--destination', '../gitian.sigs/', '../arqma/contrib/gitian/gitian-linux.yml']) - subprocess.check_call('mv build/out/arqma-*.tar.gz ../arqma-binaries/'+args.version, shell=True) + subprocess.check_call(['bin/gbuild', '-j', args.jobs, '-m', args.memory, '--commit', 'morelo='+args.commit, '--url', 'morelo='+args.url, '../morelo/contrib/gitian/gitian-linux.yml']) + subprocess.check_call(['bin/gsign', '-p', args.sign_prog, '--signer', args.signer, '--release', args.version+'-linux', '--destination', '../gitian.sigs/', '../morelo/contrib/gitian/gitian-linux.yml']) + subprocess.check_call('mv build/out/morelo-*.tar.gz ../morelo-binaries/'+args.version, shell=True) if args.windows: print('\nCompiling ' + args.version + ' Windows') - subprocess.check_call(['bin/gbuild', '-j', args.jobs, '-m', args.memory, '--commit', 'arqma='+args.commit, '--url', 'arqma='+args.url, '../arqma/contrib/gitian/gitian-win.yml']) - subprocess.check_call(['bin/gsign', '-p', args.sign_prog, '--signer', args.signer, '--release', args.version+'-win', '--destination', '../gitian.sigs/', '../arqma/contrib/gitian/gitian-win.yml']) - subprocess.check_call('mv build/out/arqma*.zip ../arqma-binaries/'+args.version, shell=True) + subprocess.check_call(['bin/gbuild', '-j', args.jobs, '-m', args.memory, '--commit', 'morelo='+args.commit, '--url', 'morelo='+args.url, '../morelo/contrib/gitian/gitian-win.yml']) + subprocess.check_call(['bin/gsign', '-p', args.sign_prog, '--signer', args.signer, '--release', args.version+'-win', '--destination', '../gitian.sigs/', '../morelo/contrib/gitian/gitian-win.yml']) + subprocess.check_call('mv build/out/morelo*.zip ../morelo-binaries/'+args.version, shell=True) if args.macos: print('\nCompiling ' + args.version + ' MacOS') - subprocess.check_call(['bin/gbuild', '-j', args.jobs, '-m', args.memory, '--commit', 'arqma='+args.commit, '--url', 'arqma'+args.url, '../arqma/contrib/gitian/gitian-osx.yml']) - subprocess.check_call(['bin/gsign', '-p', args.sign_prog, '--signer', args.signer, '--release', args.version+'-osx', '--destination', '../gitian.sigs/', '../arqma/contrib/gitian/gitian-osx.yml']) - subprocess.check_call('mv build/out/arqma*.tar.gz ../arqma-binaries/'+args.version, shell=True) + subprocess.check_call(['bin/gbuild', '-j', args.jobs, '-m', args.memory, '--commit', 'morelo='+args.commit, '--url', 'morelo'+args.url, '../morelo/contrib/gitian/gitian-osx.yml']) + subprocess.check_call(['bin/gsign', '-p', args.sign_prog, '--signer', args.signer, '--release', args.version+'-osx', '--destination', '../gitian.sigs/', '../morelo/contrib/gitian/gitian-osx.yml']) + subprocess.check_call('mv build/out/morelo*.tar.gz ../morelo-binaries/'+args.version, shell=True) os.chdir(workdir) @@ -90,11 +90,11 @@ def verify(): os.chdir('gitian-builder') print('\nVerifying v'+args.version+' Linux\n') - subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-linux', '../arqma/contrib/gitian/gitian-linux.yml']) + subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-linux', '../morelo/contrib/gitian/gitian-linux.yml']) print('\nVerifying v'+args.version+' Windows\n') - subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-win', '../arqma/contrib/gitian/gitian-win.yml']) + subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-win', '../morelo/contrib/gitian/gitian-win.yml']) print('\nVerifying v'+args.version+' MacOS\n') - subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-osx', '../arqma/contrib/gitian/gitian-osx.yml']) + subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-osx', '../morelo/contrib/gitian/gitian-osx.yml']) os.chdir(workdir) def main(): @@ -103,7 +103,7 @@ def main(): parser = argparse.ArgumentParser(usage='%(prog)s [options] signer version') parser.add_argument('-c', '--commit', action='store_true', dest='commit', help='Indicate that the version argument is for a commit or branch') parser.add_argument('-p', '--pull', action='store_true', dest='pull', help='Indicate that the version argument is the number of a github repository pull request') - parser.add_argument('-u', '--url', dest='url', default='https://github.com/arqma/arqma', help='Specify the URL of the repository. Default is %(default)s') + parser.add_argument('-u', '--url', dest='url', default='https://github.com/morelo/morelo', help='Specify the URL of the repository. Default is %(default)s') parser.add_argument('-v', '--verify', action='store_true', dest='verify', help='Verify the Gitian build') parser.add_argument('-b', '--build', action='store_true', dest='build', help='Do a Gitian build') parser.add_argument('-B', '--buildsign', action='store_true', dest='buildsign', help='Build both signed and unsigned binaries') @@ -170,10 +170,10 @@ def main(): if args.setup: setup() - os.chdir('arqma') + os.chdir('morelo') if args.pull: subprocess.check_call(['git', 'fetch', args.url, 'refs/pull/'+args.version+'/merge']) - os.chdir('../gitian-builder/inputs/arqma') + os.chdir('../gitian-builder/inputs/morelo') subprocess.check_call(['git', 'fetch', args.url, 'refs/pull/'+args.version+'/merge']) args.commit = subprocess.check_output(['git', 'show', '-s', '--format=%H', 'FETCH_HEAD'], universal_newlines=True).strip() args.version = 'pull-' + args.version diff --git a/contrib/gitian/gitian-linux.yml b/contrib/gitian/gitian-linux.yml index 5494d6f65..ec5475b2b 100644 --- a/contrib/gitian/gitian-linux.yml +++ b/contrib/gitian/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "arqma-linux-0.10" +name: "morelo-linux-0.10" enable_cache: true suites: - "bionic" @@ -43,8 +43,8 @@ packages: - "libprotobuf-dev" - "python3-zmq" remotes: -- "url": "https://github.com/arqma/arqma.git" - "dir": "arqma" +- "url": "https://github.com/MoreloNetwork/morelo.git" + "dir": "morelo" files: [] script: | @@ -129,7 +129,7 @@ script: | chmod +x ${WRAP_DIR}/${prog} done - cd arqma + cd morelo BASEPREFIX=`pwd`/contrib/depends # Build dependencies for each host for i in $HOSTS; do @@ -154,7 +154,7 @@ script: | mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=${BASEPREFIX}/${i}/share/toolchain.cmake -DBACKCOMPAT=ON make - DISTNAME=arqma-${i} + DISTNAME=morelo-${i} mv bin ${DISTNAME} find ${DISTNAME}/ | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}.tar.gz cd .. diff --git a/contrib/gitian/gitian-osx.yml b/contrib/gitian/gitian-osx.yml index 699eb65ac..3d1a084dc 100644 --- a/contrib/gitian/gitian-osx.yml +++ b/contrib/gitian/gitian-osx.yml @@ -1,5 +1,5 @@ --- -name: "arqma-osx-0.10" +name: "morelo-osx-0.10" enable_cache: true suites: - "bionic" @@ -28,8 +28,8 @@ packages: - "python-setuptools" - "fonts-tuffy" remotes: -- "url": "https://github.com/arqma/arqma.git" - "dir": "arqma" +- "url": "https://github.com/MoreloNetwork/morelo.git" + "dir": "morelo" files: - "MacOSX10.11.sdk.tar.gz" script: | @@ -81,7 +81,7 @@ script: | create_per-host_faketime_wrappers "2000-01-01 12:00:00" export PATH=${WRAP_DIR}:${PATH} - cd arqma + cd morelo BASEPREFIX=`pwd`/contrib/depends mkdir -p ${BASEPREFIX}/SDKs @@ -105,7 +105,7 @@ script: | mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=${BASEPREFIX}/${i}/share/toolchain.cmake make - DISTNAME=arqma-${i} + DISTNAME=morelo-${i} mv bin ${DISTNAME} find ${DISTNAME}/ | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}.tar.gz cd .. diff --git a/contrib/gitian/gitian-win.yml b/contrib/gitian/gitian-win.yml index 14358fa49..d25e1a558 100644 --- a/contrib/gitian/gitian-win.yml +++ b/contrib/gitian/gitian-win.yml @@ -1,5 +1,5 @@ --- -name: "arqma-win-0.10" +name: "morelo-win-0.10" enable_cache: true suites: - "bionic" @@ -23,8 +23,8 @@ packages: - "rename" - "cmake" remotes: -- "url": "https://github.com/arqma/arqma.git" - "dir": "arqma" +- "url": "https://github.com/MoreloNetwork/morelo.git" + "dir": "morelo" files: [] script: | WRAP_DIR=$HOME/wrapped @@ -100,7 +100,7 @@ script: | create_per-host_linker_wrapper "2000-01-01 12:00:00" export PATH=${WRAP_DIR}:${PATH} - cd arqma + cd morelo BASEPREFIX=`pwd`/contrib/depends # Build dependencies for each host for i in $HOSTS; do @@ -126,7 +126,7 @@ script: | mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=${BASEPREFIX}/${i}/share/toolchain.cmake make - DISTNAME=arqma-${i} + DISTNAME=morelo-${i} mv bin ${DISTNAME} find ${DISTNAME}/ | sort | zip -X@ ${OUTDIR}/${DISTNAME}.zip cd .. && rm -rf build diff --git a/contrib/mingw-w64-x86_64-boost-1.83.0-2-any.pkg.tar.zst b/contrib/mingw-w64-x86_64-boost-1.83.0-2-any.pkg.tar.zst new file mode 100644 index 000000000..ad94ccebf Binary files /dev/null and b/contrib/mingw-w64-x86_64-boost-1.83.0-2-any.pkg.tar.zst differ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ff9a8a34b..49f2bd570 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -29,13 +29,13 @@ # # Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers -function(arqma_private_headers group) +function(morelo_private_headers group) source_group("${group}\\Private" FILES ${ARGN}) endfunction() -function(arqma_install_headers subdir) +function(morelo_install_headers subdir) install( FILES ${ARGN} DESTINATION "include/${subdir}" @@ -53,7 +53,7 @@ function(enable_stack_trace target) endif() endfunction() -function(arqma_add_executable name) +function(morelo_add_executable name) source_group("${name}" FILES ${ARGN}) @@ -72,31 +72,33 @@ function(arqma_add_executable name) enable_stack_trace("${name}") endfunction() -function(arqma_add_library name) - arqma_add_library_with_deps(NAME "${name}" SOURCES ${ARGN}) +function(morelo_add_library name) + morelo_add_library_with_deps(NAME "${name}" SOURCES ${ARGN}) endfunction() -function(arqma_add_library_with_deps) - cmake_parse_arguments(ARQMA_ADD_LIBRARY "" "NAME" "DEPENDS;SOURCES" ${ARGN}) - source_group("${ARQMA_ADD_LIBRARY_NAME}" FILES ${ARQMA_ADD_LIBRARY_SOURCES}) +function(morelo_add_library_with_deps) + cmake_parse_arguments(morelo_ADD_LIBRARY "" "NAME" "DEPENDS;SOURCES" ${ARGN}) + source_group("${morelo_ADD_LIBRARY_NAME}" FILES ${morelo_ADD_LIBRARY_SOURCES}) # Define a ("virtual") object library and an actual library that links those # objects together. The virtual libraries can be arbitrarily combined to link # any subset of objects into one library archive. This is used for releasing # libwallet, which combines multiple components. - set(objlib obj_${ARQMA_ADD_LIBRARY_NAME}) - add_library(${objlib} OBJECT ${ARQMA_ADD_LIBRARY_SOURCES}) - add_library("${ARQMA_ADD_LIBRARY_NAME}" $) - if(ARQMA_ADD_LIBRARY_DEPENDS) - add_dependencies(${objlib} ${ARQMA_ADD_LIBRARY_DEPENDS}) + set(objlib obj_${morelo_ADD_LIBRARY_NAME}) + add_library(${objlib} OBJECT ${morelo_ADD_LIBRARY_SOURCES}) + add_library("${morelo_ADD_LIBRARY_NAME}" $) + if(morelo_ADD_LIBRARY_DEPENDS) + add_dependencies(${objlib} ${morelo_ADD_LIBRARY_DEPENDS}) endif() - set_property(TARGET "${ARQMA_ADD_LIBRARY_NAME}" PROPERTY FOLDER "libs") + set_property(TARGET "${morelo_ADD_LIBRARY_NAME}" PROPERTY FOLDER "libs") target_compile_definitions(${objlib} - PRIVATE $) + PRIVATE $) endfunction() include(Version) -arqma_add_library(version SOURCES ${CMAKE_BINARY_DIR}/version.cpp DEPENDS genversion) +morelo_add_library(version SOURCES ${CMAKE_BINARY_DIR}/version.cpp DEPENDS genversion) + +option(MORELO_SLIM "Build only daemon, wallet-rpc and wallet-cli" OFF) add_subdirectory(common) add_subdirectory(crypto) @@ -122,11 +124,13 @@ endif() add_subdirectory(cryptonote_protocol) if(NOT IOS) add_subdirectory(simplewallet) - #add_subdirectory(gen_multisig) - add_subdirectory(gen_ssl_cert) add_subdirectory(daemonizer) add_subdirectory(daemon) - add_subdirectory(blockchain_utilities) + if(NOT MORELO_SLIM) + add_subdirectory(gen_ssl_cert) + #add_subdirectory(gen_multisig) + add_subdirectory(blockchain_utilities) + endif() endif() if(CMAKE_BUILD_TYPE STREQUAL Debug) diff --git a/src/arqma_mq/CMakeLists.txt b/src/arqma_mq/CMakeLists.txt index d04af8630..f49670a9e 100644 --- a/src/arqma_mq/CMakeLists.txt +++ b/src/arqma_mq/CMakeLists.txt @@ -53,10 +53,10 @@ set(arqma_mq_private_headers INotifier.h zmq_handler.h) -arqma_private_headers(arqma_mq +morelo_private_headers(arqma_mq ${arqma_mq_private_headers}) -arqma_add_library(arqma_mq +morelo_add_library(arqma_mq ${arqma_mq_sources} ${arqma_mq_headers} ${arqma_mq_private_headers}) diff --git a/src/arqma_mq/arqmaMQ.cpp b/src/arqma_mq/arqmaMQ.cpp index 295e54a4a..74f32ec8f 100644 --- a/src/arqma_mq/arqmaMQ.cpp +++ b/src/arqma_mq/arqmaMQ.cpp @@ -60,8 +60,8 @@ using namespace epee; #include "p2p/net_node.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon.zmq" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon.zmq" /* namespace cryptonote diff --git a/src/arqma_mq/zmq_handler.cpp b/src/arqma_mq/zmq_handler.cpp index 57c805bf1..8b2b64d6b 100644 --- a/src/arqma_mq/zmq_handler.cpp +++ b/src/arqma_mq/zmq_handler.cpp @@ -36,6 +36,7 @@ #include "cryptonote_basic/cryptonote_format_utils.h" #include "cryptonote_basic/blobdatatype.h" #include "ringct/rctSigs.h" +#include namespace arqmaMQ { diff --git a/src/blockchain_db/CMakeLists.txt b/src/blockchain_db/CMakeLists.txt index 9ec302a8c..3001e0864 100644 --- a/src/blockchain_db/CMakeLists.txt +++ b/src/blockchain_db/CMakeLists.txt @@ -37,9 +37,9 @@ set(blockchain_db_private_headers blockchain_db.h lmdb/db_lmdb.h) -arqma_private_headers(blockchain_db +morelo_private_headers(blockchain_db ${crypto_private_headers}) -arqma_add_library(blockchain_db +morelo_add_library(blockchain_db ${blockchain_db_sources} ${blockchain_db_headers} ${blockchain_db_private_headers}) diff --git a/src/blockchain_db/blockchain_db.cpp b/src/blockchain_db/blockchain_db.cpp index 153cef053..477317cdc 100644 --- a/src/blockchain_db/blockchain_db.cpp +++ b/src/blockchain_db/blockchain_db.cpp @@ -37,8 +37,8 @@ #include "lmdb/db_lmdb.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "blockchain.db" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "blockchain.db" using epee::string_tools::pod_to_hex; diff --git a/src/blockchain_db/lmdb/db_lmdb.cpp b/src/blockchain_db/lmdb/db_lmdb.cpp index a2167549f..b4ef47cd8 100644 --- a/src/blockchain_db/lmdb/db_lmdb.cpp +++ b/src/blockchain_db/lmdb/db_lmdb.cpp @@ -33,6 +33,7 @@ #include #include // std::unique_ptr #include // memcpy +#include #include "string_tools.h" #include "file_io_utils.h" @@ -43,8 +44,8 @@ #include "profile_tools.h" #include "ringct/rctOps.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "blockchain.db.lmdb" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "blockchain.db.lmdb" #if defined(__i386) || defined(__x86_64) @@ -4148,7 +4149,7 @@ std::map> BlockchainLMDB::get while (num_elems > 0) { const tx_out_index toi = get_output_tx_and_index(amount, num_elems - 1); const uint64_t height = get_tx_block_height(toi.first); - if (height + config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED <= blockchain_height) + if (height + config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED <= blockchain_height) break; --num_elems; } diff --git a/src/blockchain_utilities/CMakeLists.txt b/src/blockchain_utilities/CMakeLists.txt index ef3b91c48..8e37b6794 100644 --- a/src/blockchain_utilities/CMakeLists.txt +++ b/src/blockchain_utilities/CMakeLists.txt @@ -37,7 +37,7 @@ set(blockchain_import_private_headers blocksdat_file.h bootstrap_serialization.h) -arqma_private_headers(blockchain_import +morelo_private_headers(blockchain_import ${blockchain_import_private_headers}) set(blockchain_export_sources @@ -50,7 +50,7 @@ set(blockchain_export_private_headers blocksdat_file.h bootstrap_serialization.h) -arqma_private_headers(blockchain_export +morelo_private_headers(blockchain_export ${blockchain_export_private_headers}) @@ -62,7 +62,7 @@ set(blockchain_blackball_private_headers blocksdat_file.h bootstrap_serialization.h) -arqma_private_headers(blockchain_blackball +morelo_private_headers(blockchain_blackball ${blockchain_blackball_private_headers}) set(blockchain_usage_sources @@ -70,7 +70,7 @@ set(blockchain_usage_sources set(blockchain_usage_private_headers) -arqma_private_headers(blockchain_usage +morelo_private_headers(blockchain_usage ${blockchain_usage_private_headers}) @@ -79,7 +79,7 @@ set(blockchain_prune_known_spent_data_sources set(blockchain_prune_known_spent_data_private_headers) -arqma_private_headers(blockchain_prune_known_spent_data +morelo_private_headers(blockchain_prune_known_spent_data ${blockchain_prune_known_spent_data_private_headers}) set(blockchain_prune_sources @@ -87,7 +87,7 @@ set(blockchain_prune_sources set(blockchain_prune_private_headers) -arqma_private_headers(blockchain_prune +morelo_private_headers(blockchain_prune ${blockchain_prune_private_headers}) set(blockchain_ancestry_sources @@ -95,7 +95,7 @@ set(blockchain_ancestry_sources set(blockchain_ancestry_private_headers) -arqma_private_headers(blockchain_ancestry +morelo_private_headers(blockchain_ancestry ${blockchain_ancestry_private_headers}) set(blockchain_depth_sources @@ -103,11 +103,11 @@ set(blockchain_depth_sources set(blockchain_depth_private_headers) -arqma_private_headers(blockchain_depth +morelo_private_headers(blockchain_depth ${blockchain_depth_private_headers}) -arqma_add_executable(blockchain_import +morelo_add_executable(blockchain_import ${blockchain_import_sources} ${blockchain_import_private_headers}) @@ -134,7 +134,7 @@ set_property(TARGET blockchain_import OUTPUT_NAME "morelo-blockchain-import") install(TARGETS blockchain_import DESTINATION bin) -arqma_add_executable(blockchain_export +morelo_add_executable(blockchain_export ${blockchain_export_sources} ${blockchain_export_private_headers}) @@ -155,7 +155,7 @@ set_property(TARGET blockchain_export OUTPUT_NAME "morelo-blockchain-export") install(TARGETS blockchain_export DESTINATION bin) -arqma_add_executable(blockchain_blackball +morelo_add_executable(blockchain_blackball ${blockchain_blackball_sources} ${blockchain_blackball_private_headers}) @@ -178,7 +178,7 @@ set_property(TARGET blockchain_blackball install(TARGETS blockchain_blackball DESTINATION bin) -arqma_add_executable(blockchain_usage +morelo_add_executable(blockchain_usage ${blockchain_usage_sources} ${blockchain_usage_private_headers}) @@ -199,7 +199,7 @@ set_property(TARGET blockchain_usage OUTPUT_NAME "morelo-blockchain-usage") install(TARGETS blockchain_usage DESTINATION bin) -arqma_add_executable(blockchain_ancestry +morelo_add_executable(blockchain_ancestry ${blockchain_ancestry_sources} ${blockchain_ancestry_private_headers}) @@ -220,7 +220,7 @@ set_property(TARGET blockchain_ancestry OUTPUT_NAME "morelo-blockchain-ancestry") install(TARGETS blockchain_ancestry DESTINATION bin) -arqma_add_executable(blockchain_depth +morelo_add_executable(blockchain_depth ${blockchain_depth_sources} ${blockchain_depth_private_headers}) @@ -241,7 +241,7 @@ set_property(TARGET blockchain_depth OUTPUT_NAME "morelo-blockchain-depth") install(TARGETS blockchain_depth DESTINATION bin) -arqma_add_executable(blockchain_prune_known_spent_data +morelo_add_executable(blockchain_prune_known_spent_data ${blockchain_prune_known_spent_data_sources} ${blockchain_prune_known_spent_data_private_headers}) @@ -263,7 +263,7 @@ set_property(TARGET blockchain_prune_known_spent_data OUTPUT_NAME "morelo-blockchain-prune-known-spent-data") install(TARGETS blockchain_prune_known_spent_data DESTINATION bin) -arqma_add_executable(blockchain_prune +morelo_add_executable(blockchain_prune ${blockchain_prune_sources} ${blockchain_prune_private_headers}) diff --git a/src/blockchain_utilities/README.md b/src/blockchain_utilities/README.md index f9e9a559e..0d81d8eb0 100644 --- a/src/blockchain_utilities/README.md +++ b/src/blockchain_utilities/README.md @@ -15,13 +15,13 @@ See also each utility's "--help" option. `$ morelo-blockchain-export` -This loads the existing blockchain and exports it to `$ARQMA_DATA_DIR/export/blockchain.raw` +This loads the existing blockchain and exports it to `$MORELO_DATA_DIR/export/blockchain.raw` ### Import the exported file `$ morelo-blockchain-import` -This imports blocks from `$ARQMA_DATA_DIR/export/blockchain.raw` (exported using the +This imports blocks from `$MORELO_DATA_DIR/export/blockchain.raw` (exported using the `morelo-blockchain-export` tool as described above) into the current database. Defaults: `--batch on`, `--batch size 20000`, `--verify on` diff --git a/src/blockchain_utilities/blockchain_ancestry.cpp b/src/blockchain_utilities/blockchain_ancestry.cpp index baf8836d7..13c66d2e2 100644 --- a/src/blockchain_utilities/blockchain_ancestry.cpp +++ b/src/blockchain_utilities/blockchain_ancestry.cpp @@ -43,8 +43,8 @@ #include "blockchain_db/blockchain_db.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace po = boost::program_options; using namespace epee; @@ -273,7 +273,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/blockchain_utilities/blockchain_blackball.cpp b/src/blockchain_utilities/blockchain_blackball.cpp index 249d52208..38455d593 100644 --- a/src/blockchain_utilities/blockchain_blackball.cpp +++ b/src/blockchain_utilities/blockchain_blackball.cpp @@ -42,9 +42,10 @@ #include "blockchain_db/blockchain_db.h" #include "wallet/ringdb.h" #include "version.h" +#include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace po = boost::program_options; using namespace epee; @@ -1063,7 +1064,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/blockchain_utilities/blockchain_depth.cpp b/src/blockchain_utilities/blockchain_depth.cpp index 970486ab6..288313965 100644 --- a/src/blockchain_utilities/blockchain_depth.cpp +++ b/src/blockchain_utilities/blockchain_depth.cpp @@ -37,8 +37,8 @@ #include "blockchain_db/blockchain_db.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace po = boost::program_options; using namespace epee; @@ -88,7 +88,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/blockchain_utilities/blockchain_export.cpp b/src/blockchain_utilities/blockchain_export.cpp index 35b43f026..2e41598c1 100644 --- a/src/blockchain_utilities/blockchain_export.cpp +++ b/src/blockchain_utilities/blockchain_export.cpp @@ -35,8 +35,8 @@ #include "blockchain_db/blockchain_db.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace po = boost::program_options; using namespace epee; @@ -88,7 +88,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/blockchain_utilities/blockchain_import.cpp b/src/blockchain_utilities/blockchain_import.cpp index 1606be592..a02308348 100644 --- a/src/blockchain_utilities/blockchain_import.cpp +++ b/src/blockchain_utilities/blockchain_import.cpp @@ -46,8 +46,8 @@ #include "include_base_utils.h" #include "cryptonote_core/cryptonote_core.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace { @@ -607,7 +607,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/blockchain_utilities/blockchain_prune.cpp b/src/blockchain_utilities/blockchain_prune.cpp index 325f0fbd3..bc077a75a 100644 --- a/src/blockchain_utilities/blockchain_prune.cpp +++ b/src/blockchain_utilities/blockchain_prune.cpp @@ -38,8 +38,8 @@ #include "blockchain_db/lmdb/db_lmdb.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" #define MDB_val_set(var, val) MDB_val var = {sizeof(val), (void *)&val} @@ -481,7 +481,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/blockchain_utilities/blockchain_prune_known_spent_data.cpp b/src/blockchain_utilities/blockchain_prune_known_spent_data.cpp index 44f746cc4..85f824638 100644 --- a/src/blockchain_utilities/blockchain_prune_known_spent_data.cpp +++ b/src/blockchain_utilities/blockchain_prune_known_spent_data.cpp @@ -35,9 +35,10 @@ #include "cryptonote_core/blockchain.h" #include "blockchain_db/blockchain_db.h" #include "version.h" +#include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace po = boost::program_options; using namespace epee; @@ -138,7 +139,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/blockchain_utilities/blockchain_stats.cpp b/src/blockchain_utilities/blockchain_stats.cpp index cb2afb965..ccfe651c4 100644 --- a/src/blockchain_utilities/blockchain_stats.cpp +++ b/src/blockchain_utilities/blockchain_stats.cpp @@ -37,8 +37,8 @@ #include "blockchain_db/blockchain_db.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace po = boost::program_options; using namespace epee; @@ -98,7 +98,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/blockchain_utilities/blockchain_usage.cpp b/src/blockchain_utilities/blockchain_usage.cpp index cbb227535..be9290a51 100644 --- a/src/blockchain_utilities/blockchain_usage.cpp +++ b/src/blockchain_utilities/blockchain_usage.cpp @@ -37,8 +37,8 @@ #include "blockchain_db/blockchain_db.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace po = boost::program_options; using namespace epee; @@ -120,7 +120,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/blockchain_utilities/blocksdat_file.cpp b/src/blockchain_utilities/blocksdat_file.cpp index 586ea74e4..ca48c5f8f 100644 --- a/src/blockchain_utilities/blocksdat_file.cpp +++ b/src/blockchain_utilities/blocksdat_file.cpp @@ -29,8 +29,8 @@ #include "blocksdat_file.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace po = boost::program_options; diff --git a/src/blockchain_utilities/bootstrap_file.cpp b/src/blockchain_utilities/bootstrap_file.cpp index 5f7f52cd2..d3f6fbdcc 100644 --- a/src/blockchain_utilities/bootstrap_file.cpp +++ b/src/blockchain_utilities/bootstrap_file.cpp @@ -33,8 +33,8 @@ #include "bootstrap_file.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bcutil" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bcutil" namespace po = boost::program_options; diff --git a/src/blocks/checkpoints.dat b/src/blocks/checkpoints.dat index 593f4708d..e3de4df10 100644 Binary files a/src/blocks/checkpoints.dat and b/src/blocks/checkpoints.dat differ diff --git a/src/checkpoints/CMakeLists.txt b/src/checkpoints/CMakeLists.txt index eb4375b8d..dbe86c7f4 100644 --- a/src/checkpoints/CMakeLists.txt +++ b/src/checkpoints/CMakeLists.txt @@ -45,9 +45,9 @@ set(checkpoints_headers) set(checkpoints_private_headers checkpoints.h) -arqma_private_headers(checkpoints +morelo_private_headers(checkpoints ${checkpoints_private_headers}) -arqma_add_library(checkpoints +morelo_add_library(checkpoints ${checkpoints_sources} ${checkpoints_headers} ${checkpoints_private_headers}) diff --git a/src/checkpoints/checkpoints.cpp b/src/checkpoints/checkpoints.cpp index 52c39aca4..5958342a9 100644 --- a/src/checkpoints/checkpoints.cpp +++ b/src/checkpoints/checkpoints.cpp @@ -38,8 +38,8 @@ using namespace epee; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "checkpoints" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "checkpoints" namespace cryptonote { @@ -170,7 +170,7 @@ namespace cryptonote ADD_CHECKPOINT(0, "60077b4d5cd49a1278d448c58b6854993d127fcaedbdeab82acff7f7fd86e328"); return true; } - //checkpoints here + ADD_CHECKPOINT(0, "4cfad7c7554f6877d266fc7e0883bc46d01b30c1d7c45a30fb439cdd275aa4bc"); ADD_CHECKPOINT(2500, "ac7a0e1fcd548959fe8a2f66b8555ac708398d8ba5a9e3748d9f80c442309a98"); ADD_CHECKPOINT(5000, "8baad678b806fdaa69be49c12843573af75dec5b436a61e29fd3c92835166f6a"); @@ -265,6 +265,199 @@ namespace cryptonote ADD_CHECKPOINT(227500, "dafcc3794899566379d77ed9f104e16003a30945597d6617be356f6bce03d3df"); ADD_CHECKPOINT(230000, "07182f3ca5ea2d34aab23141eb2c1246cd3005a7ef30c7fc63a46a32248eac3b"); ADD_CHECKPOINT(232500, "809282c0531fe3fcbd3625a1009672289888110d85215e4fd071d99d2f54713a"); + ADD_CHECKPOINT(235000, "94d05047dcb2f4db0dbd29fc6030302e4b89c0dc45d248f0f652317184f108dc"); + ADD_CHECKPOINT(237500, "19ec55e56c7a31a30e6d485f7aab54f18f62a412f17519077c849c9bb89036ed"); + ADD_CHECKPOINT(240000, "46f02bc205a4a79c88a9b83e574e8a3fc2f6dfee57e00db882db87fcb99b43ae"); + ADD_CHECKPOINT(242500, "be151432089eb5a94ee23d755f2d918839d77d53f39d6f754629105c1da52903"); + ADD_CHECKPOINT(245000, "29c1f9b1bebdd71315b5da13bbd4dc4a9f3999236a637b82edb34bd66df1ad59"); + ADD_CHECKPOINT(247500, "30bcd5f26a7be1e40d08f859977ed1d7ffe7ba8de1eb7742e731f7140f358d3e"); + ADD_CHECKPOINT(250000, "4f5bc71d70a9614f5396960ffd8f0765b567e1083258285099d1efbe05f67bbc"); + ADD_CHECKPOINT(252500, "5ebdffe032f53d5fd9dcf0d626f61ebff90e6a5599817a92aea9237f0390773a"); + ADD_CHECKPOINT(255000, "2df23914a6305e44e788fc88b22fa8b4fa8d41fcc52e32f7b757c5a8350fead9"); + ADD_CHECKPOINT(257500, "fa84f401eb11f832eefee81dedc6ebbd597dc01403b73fea94a115d312850bf9"); + ADD_CHECKPOINT(260000, "b61e5b1cca5ad45b737afe07ef251dae1ad4a0772553a2038229c2bf1ba3d408"); + ADD_CHECKPOINT(262500, "2cea59e0ebac8e37da8dd6905d251b611f93e45f4915a81af26d117da4845424"); + ADD_CHECKPOINT(265000, "d533d3c2cec3a5c558b76cc31d22c3f8eca0c5c11847fdc5f906f7c342f32e85"); + ADD_CHECKPOINT(267500, "9a3fba9a3e8a39ffa6d6d8820d9683595366d5ad9ad5b6170e427dab4939518e"); + ADD_CHECKPOINT(270000, "752d76da077599187a18c7ef5555a9821d9776fcbd858a0fff80d0e92fe4333d"); + ADD_CHECKPOINT(272500, "f27fb7268694bd358076256cbb83b40956544b97ed9105e6316e2a3158ce5acb"); + ADD_CHECKPOINT(275000, "d7d1ba696e3732fc0526741b50bad1933036a5e1927f74c17b7aad5e61e3a9b7"); + ADD_CHECKPOINT(277500, "3a3de93de1283b1654fe76c255e508e62c1d3caa3a6799795eee9ef049aec577"); + ADD_CHECKPOINT(280000, "01f76c509d15cb6b6d0b4c4e9ecb2efd49dfc7f34b176d679290677a692c0d6e"); + ADD_CHECKPOINT(282500, "004ed2b6e5b64702495426094c1cf6fd206cf88828021796e7e59c55ac2baf48"); + ADD_CHECKPOINT(285000, "a71ca560430d9715d47b7b0191b29b85eb41f3d8caefb928802dffc64d35284c"); + ADD_CHECKPOINT(287500, "02ed866bafd9d315a14686afbf5c26cc7c6d6e34769c39f5829762a7524f0f17"); + ADD_CHECKPOINT(290000, "3b9eed7641d7417ac8f3f3f401bd590354c287e727411bb9fcf1fb6faec97031"); + ADD_CHECKPOINT(292500, "d0c0ec7ab52d823fd947ec1080df16bdd75f792d5e9cf00f4312018a1c94641a"); + ADD_CHECKPOINT(295000, "78409406a3f70ae134064554d9ffa3a40ebbaeef3230aaa06af9bf27cc47471a"); + ADD_CHECKPOINT(297500, "d8820a618a7ab7bb40c33d357d6fb8f6c77b1b988cfa42c9de211839bd55a699"); + ADD_CHECKPOINT(300000, "ccc1a087d01f2f73b3c2bdfa97699f5691dc1c5daa95cc3300f870d4f80d8745"); + ADD_CHECKPOINT(302500, "6f593731357cc09b3e88a5e4bde11a1e6df5e6b5775a9b263f53e16b4fda4e84"); + ADD_CHECKPOINT(305000, "d634f5f890746f9a41b13534cb58b37ce7a5d36438f207204fb34f64e05331d6"); + ADD_CHECKPOINT(307500, "544bb927bbabd9405244b51b51a8cddb4c0db92ed8a56244b804492eff785b97"); + ADD_CHECKPOINT(310000, "517cb6c2c1be9d04bf7069c21fb1d3958be5d90cd05e9d15652f039561dae4e9"); + ADD_CHECKPOINT(312500, "53bee1e716209acda8a90f305c50b6f5cd29b93c2e00d59fade7533bb5c225d7"); + ADD_CHECKPOINT(315000, "faf66abac8c6817e43709a37d7184206a14e5860691fdadbe223401b7e15fcd6"); + ADD_CHECKPOINT(317500, "407215c7aae9ef55ea06fbf5c674f76f96a2018df3614b1a7a19d57f44cd66ad"); + ADD_CHECKPOINT(320000, "3ae70616fd7c466c3425049147d74dec860ef812f7902f29e3e2d9a47eaa879e"); + ADD_CHECKPOINT(322500, "b1ef5cbbc348ef864b4cfc0a64f35f8e34bf72b03c31def64935836a47afb4ab"); + ADD_CHECKPOINT(325000, "59beb3aae268c1dbd6184cfb015b864d1a504399f95c0bda4530f9800f3fa2ac"); + ADD_CHECKPOINT(327500, "a351d877de57b8019bb9fc42917defdc59ce292e48bf6c7a571a5d3fe71762e2"); + ADD_CHECKPOINT(330000, "70f8d56c6ef666ace1288f5e368c3b75d4e0c92eeea8b3e00a41b409b23115a1"); + ADD_CHECKPOINT(332500, "61a7068a67dba6a0dec586bd31211d6ca8173bda90875ebff9ce02667386d2fd"); + ADD_CHECKPOINT(335000, "0916c35cddcf57c44ad8d60fc543a918e333b55ceafc95629b262c5637d50166"); + ADD_CHECKPOINT(337500, "4d2d303809e0e92457667303c1909fbfbbe2486269ebae14c8006fb3a4a4a69d"); + ADD_CHECKPOINT(340000, "9a19c20e1430290961456987e556f26c3d257605537de987aef73bb285e5f207"); + ADD_CHECKPOINT(342500, "3b40472d9d18fa6667c2f44905fd1b00c1e23c737ad23ffca7b3b8f5ffed6d7f"); + ADD_CHECKPOINT(345000, "f64ad51df072ff4e834765a79531267aed111b54add8a2870fdfdb2332ab8c3c"); + ADD_CHECKPOINT(347500, "f6a7a5b2011cb75b2d525e1f93be247c6e64005dae63ccbff7558c718f18178d"); + ADD_CHECKPOINT(350000, "5cd97b56eeeb48bc977778599d6502a28e18d268befe3d79f8ea48672a4b40c9"); + ADD_CHECKPOINT(352500, "209b676fb774481ed256c6777d2090fc0f9f7365fb36ec53fec1c633d5e48a2e"); + ADD_CHECKPOINT(355000, "69e910685dc08629402f6fb8fa08685f5bb9f2c14680e0675496758a9d8cc609"); + ADD_CHECKPOINT(357500, "10df470466abf2eb8229fea6e6aec55a74e96a6d177db20c8fcc2cb491e7b557"); + ADD_CHECKPOINT(360000, "6919a0e88660616eecef713ed580a9a1c2a4a8abe47f61e39515afb62ae4f9ac"); + ADD_CHECKPOINT(362500, "260ac660eab141fb0ec4cab3d47b70144ce2bf5af4867f92aa4a7d3ae424fc9f"); + ADD_CHECKPOINT(365000, "a120e524314363b96e8e5d63405a0b83b5832f671688f3cae6d1b2308b533e28"); + ADD_CHECKPOINT(367500, "3d6bef47531dacae0ca583a8dd9bc352d2ff1630741c2fcaed03efb7a3503e54"); + ADD_CHECKPOINT(370000, "2ab9ea733ed4054b462015eb16ad8e07bfb6fa97844a5fc6262dd463251ce913"); + ADD_CHECKPOINT(372500, "d4c6906bff256512298784bc147ed0df09eca4697da1266755092a1a0b669e2d"); + ADD_CHECKPOINT(375000, "ffa3f5b006a83f0c0dbd51b45624b719739dfcd9281d6f88c1a035ea716ca6eb"); + ADD_CHECKPOINT(377500, "89ba7aa9732e4ed8975850be751fb75dcd6cc31b3f4f2aeea6dea10a6bf30f1e"); + ADD_CHECKPOINT(380000, "3195b8dc24e25506f3f2736b7279b2b5a605a731ef7c2f115f82eea085b0e71b"); + ADD_CHECKPOINT(382500, "ce8add9856c72da94aa074a4bc48a80c01860394af567d432f3132a6609ae32f"); + ADD_CHECKPOINT(385000, "8105c30b366ea252ff3cb4627f48fa078f5271ae6a6719f3bf057e6ee2940901"); + ADD_CHECKPOINT(387500, "d9ab286605b7b9688d6c8608a24a11709ef2457c2631219dec1153cf671eca27"); + ADD_CHECKPOINT(390000, "0874d09cddb16f9433d35cd4666ce55111f3af1b7e217fe330f88c65c3c76b61"); + ADD_CHECKPOINT(392500, "cceec08eda32cec641c19870c00add9caf09229367385554d02b04806bdcf331"); + ADD_CHECKPOINT(395000, "71cea80600e39012bd074bd42be4bb55583683b0aae867d7a3c24ea4cfdde7bf"); + ADD_CHECKPOINT(397500, "d831b64ca3457d45ff344a39e564352a2c0278973fb084bba09a4f9734ee0edf"); + ADD_CHECKPOINT(400000, "ccb26eb66d7d447ad896070da280fdf15cc7603583f1a9a96e62950f9d8a4aa9"); + ADD_CHECKPOINT(402500, "179ca4591cc3e976ea0d7423dc7e51ddf2da541b3ffff9f2156ef5d82d168ca6"); + ADD_CHECKPOINT(405000, "a073db7b74721e21f86b52bfc0b5b663025e65dda5adfa95083421b2f0158589"); + ADD_CHECKPOINT(407500, "31ccf1c6c206c31fdff0fe4cbcb9a65e9beb4e6b7cbc6f62a2fa734d5092a510"); + ADD_CHECKPOINT(410000, "eb8599df0deea0ca24abba8c18c00e48d756640c1ecd383a2b5535ec6f1c8c5a"); + ADD_CHECKPOINT(412500, "2ddcfe3ca161a251600fe48d7d951c9170e99f52bcc1d4d80957562b7a779097"); + ADD_CHECKPOINT(415000, "0429e40739211512176c96bbf43fee3ad242f82a63380806e7d5572eb7178fd3"); + ADD_CHECKPOINT(417500, "2342a14de6ec575fd0f4ac4951a44de90b7cd23d14143e4db8fe1fbde56c45da"); + ADD_CHECKPOINT(420000, "aa84582118b423adb16f616ada8a1663bd67ca833d84c30c5e9fc5b17929aa49"); + ADD_CHECKPOINT(422500, "d9f96282992e0b5a3659fdabfeb8ec8cc1e60d254112490f2c74077db5876609"); + ADD_CHECKPOINT(425000, "e4feacc82c91f48fcaa17008b57dd180b3012589c675b58fe8feedac0053cd8a"); + ADD_CHECKPOINT(427500, "68d1fcba00784ab319b5d5c32849a80128f2bc6830c0cef689939c6c80df92e3"); + ADD_CHECKPOINT(430000, "2f81020d87e3a1d9c4cd5d2150eaec92a3b52f94d3cd13a697605430e2e04aef"); + ADD_CHECKPOINT(432500, "c88fc32c9b02fc2a5e1c23f5932ab13fdc885392f413f9d6d60d1c3870e169f3"); + ADD_CHECKPOINT(435000, "d9bc7497d3ac95f06bab216c5189c97ff516054e0a0a38b9479569bda7202e64"); + ADD_CHECKPOINT(437500, "7fec5b60dd04cb1dfdefa004b959a63eb4c8f669c1c626f09af9535c60b3fb7a"); + ADD_CHECKPOINT(440000, "9147f65ea65a7fe6419a9a4e62f55ac0b89b032642b093514daa89cfafea3860"); + ADD_CHECKPOINT(442500, "49fdd0b95adcb2bd854f8ff6c44e02cafcda7cc7d75312a29d27592ce0dce266"); + ADD_CHECKPOINT(445000, "4480bf88b87fc63b3707826574efec5bfbb207b21ffc42daa657962892927869"); + ADD_CHECKPOINT(447500, "5cec41f53beb24194d2f9991ddb85e11bcea2dbca103e6283e2c3dc9dec49fc1"); + ADD_CHECKPOINT(450000, "4d7f62cd4c6f2cd76f073f07283bde49b74a322126ed1edd0e812bf2beb6e3cb"); + ADD_CHECKPOINT(452500, "c8b6af24bffb813179c9716ef486a9981a97c6106892af476139eb873977ad81"); + ADD_CHECKPOINT(455000, "414a5e8d058b5b06ccc2d5e887e65a25a85c9174b879c7809f30ef77d29beec1"); + ADD_CHECKPOINT(457500, "c7952b280197a63a315de33f8d10dce317dd756e63d35deffcce242c371ff961"); + ADD_CHECKPOINT(460000, "2d02807725a3ff2acfa9b0f4b7d4839141518fc37d3d47a0e160da1083a71676"); + ADD_CHECKPOINT(462500, "60fa4d47c8899e1181aff6efef386d6f34a8d26603419739b41eed045305d365"); + ADD_CHECKPOINT(465000, "35f6506e4aa1cdd40c8f6a98307c72e6ec4b7e966891d8fc182c442e2063103d"); + ADD_CHECKPOINT(467500, "c166041077889183fea446e0b52c0e0776e78e5f7b377b41b3818fcc6f5b6031"); + ADD_CHECKPOINT(470000, "fe8abb3cac6fb2faa3d01b6a71787376f4c8855e70711a96c1a20007376f52ce"); + ADD_CHECKPOINT(472500, "25df0cfd6cf6f8c20a7db621df75aa2885681302e184c36a4f57672a9bbf7ffd"); + ADD_CHECKPOINT(475000, "97ac3228defb8b405ec173da24b06d824174974c77c0badade3a5c5ce3f1cc2d"); + ADD_CHECKPOINT(477500, "af38ab4479859d0c28d3d86c1f4be47f5c333f8dbdea78c452484135913e055f"); + ADD_CHECKPOINT(480000, "9d9a72fdc7921b24112de25f0181e4101930bcf8c1c782b04639d2b473427284"); + ADD_CHECKPOINT(482500, "997a9523d64663a78d3891c29d73d0dfc126f9734af1acc9d49e65b2eba9d673"); + ADD_CHECKPOINT(485000, "6e9eec1571f85fef2d3570c787692264d8432f4b5ed66211f40be5f777567bcc"); + ADD_CHECKPOINT(487500, "752f3f7170be5a9f312736b751230adc8e7605cfbc49ea0e29869da1d00088db"); + ADD_CHECKPOINT(490000, "bd40862c8cf84738338f2ea9943b9d30a922ad0d1b97640eb5d67590ab1ce651"); + ADD_CHECKPOINT(492500, "809b16f38166835494816ea8b4a218ec9a8036515ff2ae407d0027239be9acf2"); + ADD_CHECKPOINT(495000, "b943f417ad2d76d2a67cc47c5042c96724e7eee92d7c07aa5a8787f57837f135"); + ADD_CHECKPOINT(497500, "199afe78cb49b2a4c67c344aebb2b0481a8324293cef7ab7f8e569a8f17c0822"); + ADD_CHECKPOINT(500000, "256a4996a8b75fd7c432b7acc904afa5a861209d952fb7cfe26c50bf4da7c689"); + ADD_CHECKPOINT(502500, "b2e43e3b52cefe79425ebd9aa483f0fab0a2d7985bdea22882183ff3209ed94a"); + ADD_CHECKPOINT(505000, "1e412a7e3b0b1e28b78a99b9709c5d5101ffd112193c717a7884a38cfd8ab24a"); + ADD_CHECKPOINT(507500, "6a4702828ebbdbc0e57ffcd2fe15f436d75fbb70e7bfbe6843b464a162800073"); + ADD_CHECKPOINT(510000, "dcdfad5456e8f5c71efc991fec02835deccb5850efa7ef53754d9b47d0150337"); + ADD_CHECKPOINT(512500, "e97de4578cb70530a2c4853d758ce74cf353a46fd4a4eddc2368d4d4aec2d46a"); + ADD_CHECKPOINT(515000, "ec6a13930c9ff431d43458a3e9557c82fe20dac3fcde538c4f2eb4b3e6111613"); + ADD_CHECKPOINT(517500, "e38fc3a86e42a7f2ff5b3d56352741d2fccf235e711e018aed50b37a0ed0fb23"); + ADD_CHECKPOINT(520000, "8800afcc20f5e9c4c59e3c2105a867e7461b207111da15a8a0cde4a127e0429d"); + ADD_CHECKPOINT(522500, "0551c7a5e2b2f625444c3286df215a7efa27bef36d65e19ee2d4356d35547796"); + ADD_CHECKPOINT(525000, "119205fbea7f97cb9c8e24b0e4902e64565de055ce1e9abedc405b1476293ee2"); + ADD_CHECKPOINT(527500, "51543b943664c4a2abae6a8bde291eeaa12f7d5862372aba32c7b654bd18836b"); + ADD_CHECKPOINT(530000, "83e7b4acc7ddf05bc0d60335b188a3e5c6c15e3a1a9aab8da311c35451083956"); + ADD_CHECKPOINT(532500, "a61a38cd1350c60fc7f7f7e89cd959e76061bd8ebbc3a422d6f5440372b5d3c6"); + ADD_CHECKPOINT(535000, "9edd001283458a1be788ce589daa4def0c42270819da9a95c9e9afa8c647a3f4"); + ADD_CHECKPOINT(537500, "10c091e05cfe6147b1a186f4725096901fb6be7adaccc13cf05fca837e2f9056"); + ADD_CHECKPOINT(540000, "f0b48cc10e6f2b75cc1991893dc5ce2bddc191303857d7ccd5758b6b4038a9cc"); + ADD_CHECKPOINT(542500, "6c0812402015ad743f939a077074eff408029a1c77bd86248b1d8c85944490d9"); + ADD_CHECKPOINT(545000, "e2c058be5e0ba5a3bee981c134f779cc0acc2ff9f141c8c1deecdef272f31c52"); + ADD_CHECKPOINT(547500, "0e18fd0cb15875f0d14405e9176925d8975feecc3f14474c0c941027e4bea0e7"); + ADD_CHECKPOINT(550000, "82504eff9327fc22afad6de9eec3a0ca7409b370981ae61824e0654a59bf1a32"); + ADD_CHECKPOINT(552500, "069455d299d9a53c091787b1795db51400f7bcf42791455b2c917be702f7143e"); + ADD_CHECKPOINT(555000, "b056bd5806d7852ff9bca8b77c15d178ae45d33a465271c0246bf177f38b97a9"); + ADD_CHECKPOINT(557500, "3696174f37fc4ff4fe4421bc0c7f7c78615e41f3a6d125c88f95568a81d759df"); + ADD_CHECKPOINT(560000, "9ee365e679573fee3a7dd8bf58f8e0d84b2da62e007efa4f23b44af51f8dd3e3"); + ADD_CHECKPOINT(562500, "9f7fb257a6034005c7147fd2e443294caace9ce94b8aef097a5cbbedb9de80bc"); + ADD_CHECKPOINT(565000, "c9da58b1f984f37d5b476618e729c4b5be01698687237715b830faf06273f237"); + ADD_CHECKPOINT(567500, "c61571035813b34dc94543c27be8839ce102b51842d53f82e1c8d065464e5ef2"); + ADD_CHECKPOINT(570000, "3772be94916925f69892cb1bf60e6d58b6f12b7d514d460f30801c1dd1fe0f1e"); + ADD_CHECKPOINT(572500, "e781fa099f112a90fb48dd5560ffa370fd7d3102e862267f5b754706db259c61"); + ADD_CHECKPOINT(575000, "f60f4498a1a3762f9cfc98ac6b62b683bd1d9e81dce3a4dfc3e07627fd06213f"); + ADD_CHECKPOINT(577500, "5425c9c25ca040f72cd48427aac7becf5cb7a3d23a24fda4e44b7c6685434689"); + ADD_CHECKPOINT(580000, "ee6a77d93b10090b2944c8686d58d2d2cec99e4d4a7df0c33e970bc08b6938ad"); + ADD_CHECKPOINT(582500, "b88421d54cc9b4a4ae05e2d5297a72d582e7393f243d55fdce0c47a4dd80987b"); + ADD_CHECKPOINT(585000, "33f78e978eb541e13ae8c8448c6d63bff5f14c541a12a141646a21bfbe4a34b5"); + ADD_CHECKPOINT(587500, "cbb6a446bf4fda8d1f31df208f4cc3997f1244ad71f7a18c51a4b80d952582c7"); + ADD_CHECKPOINT(590000, "2b934c53d01ec394a4b92f08263c7f08f0d121e7c550359e8a8ea280c5c6f62e"); + ADD_CHECKPOINT(592500, "70d996fb330058db209a16826a4934adfa441263e40c20c25ab98fb17f229155"); + ADD_CHECKPOINT(595000, "f7c54e3f51f42090f6c60ceed216ff9d7d55f5bade82d63607c91c34eba3dffe"); + ADD_CHECKPOINT(597500, "b09b9494aa3398000301a2479b3f96f433b770e8d53f945b7b1a157ecde2f1c1"); + ADD_CHECKPOINT(600000, "f109d3ae12546eaa793a2320c13713622ef9a408260ac795ecb287873ff3104c"); + ADD_CHECKPOINT(602500, "eb10a78e855bb9979129e8a441dcfc114c1b71f6c9e377eabc1d8f5b1d59f8b8"); + ADD_CHECKPOINT(605000, "e17de7b2c22c3833a8f8fda76921fbd86a5b65679d716f59655d16db2ade9c94"); + ADD_CHECKPOINT(607500, "bd584843e766473b4260b23ffbf45e7408964c6120d66f77ed839fb7fd934bf8"); + ADD_CHECKPOINT(610000, "bbb5ddb44a0784e3b5b3501919c206ba48b7ba10180bf1263a14ccf6edb1535d"); + ADD_CHECKPOINT(612500, "86c14158e50d4d9de9376c4f6f07b32eba48858521bba312b54f2e6ebbf368ba"); + ADD_CHECKPOINT(615000, "e48f8a2e2db0834a0134df32a584f2a22dd3b26a8b1eeaac89978cbf78cf643c"); + ADD_CHECKPOINT(617500, "b2208ab1b070c854ea3019f0578c4105b82a4336144e89b427ec1220a7b50af0"); + ADD_CHECKPOINT(620000, "0b803cc5b6154b5d2a6ab1c29875620dd48671ec448d2b48cdf4d4d26b2d0278"); + ADD_CHECKPOINT(622500, "40449ef9d0968dcfc14de1bb328378529c713fc3eb31ce5501e286df337814ff"); + ADD_CHECKPOINT(625000, "433abc2db938fc40eb67a1f013e8171e6bb2238a478575d6702200b20a74bbd0"); + ADD_CHECKPOINT(627500, "35baeea8a58350a75f388e24462fdaa5e4f76807a6e0263f4009f51d75738dc2"); + ADD_CHECKPOINT(630000, "ef889fd0c31dbd436addc0804c5f9fc7e6bffebbae2500646ce435bfac2cb323"); + ADD_CHECKPOINT(632500, "43adcf36fc5751d1ea50a6080a4d44aead9c5442882f744f9a4692eab327e5db"); + ADD_CHECKPOINT(635000, "d08f7b5cc9ebecbf4dfdc7bbcdfd9a67aa1f8fbb676f8d4d2b789f69b2981716"); + ADD_CHECKPOINT(637500, "f71cb08b0465e63941be9ff2c7a8e985f144594573d5c1956716767df75545c9"); + ADD_CHECKPOINT(640000, "1194685824a73559a0653529cf7b993840501e4463270ff8a9ffe9a6451880b0"); + ADD_CHECKPOINT(642500, "73ab897a1bd046a94161d2f72c489218efd4781a25f0a0c384a3c4234c58beb2"); + ADD_CHECKPOINT(645000, "42ba86725a49d01a0feaa2ae01bca33fd960c5e01de1b2dfc7903bf6fa9939d6"); + ADD_CHECKPOINT(647500, "e0e5fc083cf80d55013037f8392ffb7abf697238b89604aaf277b99dac2d5431"); + ADD_CHECKPOINT(650000, "58f6f7de420a378e1148bec1c19cd7ef58a0a14a5a17fe47a73f7135da36b058"); + ADD_CHECKPOINT(652500, "efe02e1b7f05debc09e2b2ba9a533b9e15175058a8094be4b92f1530540a5cff"); + ADD_CHECKPOINT(655000, "9ae389a00b82ff817239e2e27a3c5a2db53cdf27713dbdd41b8652479de42a77"); + ADD_CHECKPOINT(657500, "f48ec6ab1409893d9d71201b1da281be9c4aa0503142586d8a10ecb27369bffd"); + ADD_CHECKPOINT(660000, "497fd687a58cb312620859f7fdeda72ffa90ad179531c6a50c5b6867fc851d27"); + ADD_CHECKPOINT(662500, "d058f6fafaeaf4a77dd447f15c489e040ee6dcf6bb48894b352053afce986155"); + ADD_CHECKPOINT(665000, "fc8559d7fe8f1da703bf6d02a70eb6c4ae97adb16d02197fe151cc3a5410f50a"); + ADD_CHECKPOINT(667500, "e5bcb881750b47a100ee523c735d2a7184613033499717b72746407fa51be805"); + ADD_CHECKPOINT(670000, "be6c2a29eafba0b6bd5025b786fb45e59cf3f419675b8e46cf96a8a6168a6331"); + ADD_CHECKPOINT(672500, "e4558375bfa4fc1b23b9986252cef044cc2b25fc0393409d7ef2dd08beab165b"); + ADD_CHECKPOINT(675000, "ee31d20c0ca3817a5dac480fc5a4f08ee7e05f563182d47534cec9d2dc08966d"); + ADD_CHECKPOINT(677500, "d7f4c3d31be1baf67276825e4beee4cd0235af53fab0f4355ee30626cf92c73a"); + ADD_CHECKPOINT(680000, "35a74d207a3577f9d27a4d0b8a2fdd0248ccaafcba608b06d4822c0986dd4c56"); + ADD_CHECKPOINT(682500, "874ff1fe3c2c9d4a7bdb8515bd2e676fe3aa1aacae977951a264ca7b673c54a1"); + ADD_CHECKPOINT(685000, "b6b02331892efa8cf50da56f7e40c4af38ae48ca8d15dd5bce18e4f50df85d83"); + ADD_CHECKPOINT(687500, "7fbbc53a7eda35e3dd3966b22a0de09fafe47322e97ae0274277d07bff20dbe4"); + ADD_CHECKPOINT(690000, "a25a51254d4710253cc07a72e1e9e851d1b5b2ecf21f8c59806c5b8010f93e89"); + ADD_CHECKPOINT(692500, "00b85ec314a5a30bc64a500e1c1fc1e548ea0b3fdce835c6a9793769dbbef07a"); + ADD_CHECKPOINT(695000, "6430e8681944931f914cb975cb976fb380a76f62fd908fa77d2e09aa7c9e2835"); + ADD_CHECKPOINT(697500, "833a5daae87f79fdc899fd914d2fb604b366b6c91bdd0cd2d9ad6e6163fab4f9"); + ADD_CHECKPOINT(700000, "41fc17697d2fa338cc85e746ba9351cd88526cf1701493dc7fcf95d8698517ed"); + ADD_CHECKPOINT(702500, "39d3320a380845f358693b0baa610dbb16e4c413fdcf5133d3b7942186178262"); + ADD_CHECKPOINT(705000, "ce05692369648a414b5a0d3aa2fa6b08324e3a62991c100400dafad306607a29"); + ADD_CHECKPOINT(707500, "9c0f0ac7e89e299a707977c71d58a7f5fd4b89732cc545f13caba18b77444651"); + ADD_CHECKPOINT(710000, "c6c474969fe683aec4bf963da90eb138169031a3f7216156dc24dcbedf29470b"); + ADD_CHECKPOINT(712500, "c455ed9443cf2b3149ea0825235ff8ecec86b92684b067640184a047f45418eb"); + ADD_CHECKPOINT(715000, "9c4807d2073cebe2e915746a95c81b0d365b1d655a1a89ddacbe42f8aef3f286"); return true; } @@ -286,18 +479,18 @@ namespace cryptonote if(!epee::serialization::load_t_from_json_file(hashes, json_hashfile_fullpath)) { MERROR("Error loading checkpoints from " << json_hashfile_fullpath); - return false; + return true; } for(std::vector::const_iterator it = hashes.hashlines.begin(); it != hashes.hashlines.end(); ) { uint64_t height; height = it->height; if (height <= prev_max_height) { - LOG_PRINT_L1("ignoring checkpoint height " << height); + LOG_PRINT_L1("ignoring checkpoint height " << height); } else { - std::string blockhash = it->hash; - LOG_PRINT_L1("Adding checkpoint height " << height << ", hash=" << blockhash); - ADD_CHECKPOINT(height, blockhash); + std::string blockhash = it->hash; + LOG_PRINT_L1("Adding checkpoint height " << height << ", hash=" << blockhash); + ADD_CHECKPOINT(height, blockhash); } ++it; } @@ -309,18 +502,19 @@ namespace cryptonote { std::vector records; - return false; - // All four Morelo Network domains have DNSSEC on and valid - static const std::vector dns_urls = { };//TODO "checkpoints.morelonetwork.pl" }; - + // All Morelo Network domains have DNSSEC on and valid + static const std::vector dns_urls = { + "mainpoints.morelo.cc", "mainpoints.morelonetwork.pl", "mainpoints.morelo.vip" + }; static const std::vector testnet_dns_urls = { + "testpoints.morelo.cc", "testpoints.morelonetwork.pl", "testpoints.morelo.vip" }; - static const std::vector stagenet_dns_urls = { + "stagepoints.morelo.cc", "stagepoints.morelonetwork.pl", "stagepoints.morelo.vip" }; if (!tools::dns_utils::load_txt_records_from_dns(records, nettype == TESTNET ? testnet_dns_urls : nettype == STAGENET ? stagenet_dns_urls : dns_urls)) - return true; // why true ? + return true; for (const auto& record : records) { @@ -335,7 +529,7 @@ namespace cryptonote std::stringstream ss(record.substr(0, pos)); if (!(ss >> height)) { - continue; + continue; } // parse the second part as crypto::hash, @@ -343,13 +537,13 @@ namespace cryptonote std::string hashStr = record.substr(pos + 1); if (!epee::string_tools::hex_to_pod(hashStr, hash)) { - continue; + continue; } ADD_CHECKPOINT(height, hashStr); } } - return false; + return true; } bool checkpoints::load_new_checkpoints(const std::string &json_hashfile_fullpath, network_type nettype, bool dns) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 529290379..d9b2d943c 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -87,9 +87,9 @@ set(common_private_headers aligned.h combinator.h) -arqma_private_headers(common +morelo_private_headers(common ${common_private_headers}) -arqma_add_library(common +morelo_add_library(common ${common_sources} ${common_headers} ${common_private_headers} diff --git a/src/common/combinator.h b/src/common/combinator.h index e112b0b94..f75e9ae93 100644 --- a/src/common/combinator.h +++ b/src/common/combinator.h @@ -34,6 +34,7 @@ #include #include #include +#include namespace tools { diff --git a/src/common/dns_utils.cpp b/src/common/dns_utils.cpp index d9578d182..41ca7c13f 100644 --- a/src/common/dns_utils.cpp +++ b/src/common/dns_utils.cpp @@ -1,3 +1,4 @@ +// Copyright (c) 2019-2024, The Morelo Network // Copyright (c) 2018-2019, The ArQmA Network // Copyright (c) 2014-2018, The Monero Project // @@ -40,17 +41,17 @@ #include using namespace epee; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.dns" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.dns" static const char *DEFAULT_DNS_PUBLIC_ADDR[] = { - "1.1.1.1", // Cloudflare - "8.8.8.8", // Google - "64.6.64.6", // Verisign - "209.244.0.3", // Level3 - "8.26.56.26", // Comodo - "77.88.8.8", // Yandex + "208.67.222.222", // OpenDNS + "1.1.1.1", // Cloudflare + "8.8.8.8", // Google + "9.9.9.9", // Quad9 + "8.26.56.26", // Comodo + "45.90.28.190" // NextDNS }; static boost::mutex instance_lock; @@ -103,8 +104,9 @@ get_builtin_ds(void) { static const char * const ds[] = { - ". IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5\n", - ". IN DS 20326 8 2 E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D\n", + "morelo.cc. DS 2371 13 2 BE68DD85DB1FAF3AC8E2D9BA050E84222CB85C552AAE68DCE2D768557B6E2863", + "morelonetwork.pl. DS 2371 13 2 1D064892752E6DBA91DA1C100B3E681AFEE6D2046DABFD71748BCDDF9E385EF1", + "morelo.vip. DS 25517 13 2 140CE388B1DC001A0312D3769449313312A041FB356BF8DE8FBB6D07CD589B09", NULL }; return ds; @@ -285,7 +287,7 @@ DNSResolver::DNSResolver() : m_data(new DNSResolverData()) // should be a valid DNSSEC record, and switch to known good // DNSSEC resolvers if verification fails bool available, valid; - static const char *probe_hostname = ""; //TODO + static const char *probe_hostname = "updates.morelo.cc"; auto records = get_txt_record(probe_hostname, available, valid); if (!valid) { @@ -407,8 +409,8 @@ namespace dns_utils // TODO: parse the string in a less stupid way, probably with regex std::string address_from_txt_record(const std::string& s) { - // make sure the txt record has "oa1:arq" and find it - auto pos = s.find("oa1:arq"); + // make sure the txt record has "oa1:mrl" and find it + auto pos = s.find("oa1:mrl"); if (pos == std::string::npos) return {}; // search from there to find "recipient_address=" @@ -420,31 +422,31 @@ std::string address_from_txt_record(const std::string& s) auto pos2 = s.find(";", pos); if (pos2 != std::string::npos) { - // length of address == 97, we can at least validate that much here - if (pos2 - pos == 97) + // length of address == 98, we can at least validate that much here + if (pos2 - pos == 98) { - return s.substr(pos, 97); + return s.substr(pos, 98); } - else if (pos2 - pos == 109) // length of address == 109 --> integrated address + else if (pos2 - pos == 110) // length of address == 110 --> integrated address { - return s.substr(pos, 109); + return s.substr(pos, 110); } } return {}; } /** - * @brief gets a Arqma address from the TXT record of a DNS entry + * @brief gets a Morelo address from the TXT record of a DNS entry * - * gets the Arqma address from the TXT record of the DNS entry associated + * gets the Morelo address from the TXT record of the DNS entry associated * with . If this lookup fails, or the TXT record does not contain an - * XMR address in the correct format, returns an empty string. + * MRL address in the correct format, returns an empty string. * will be set true or false according to whether or not the DNS query passes * DNSSEC validation. * * @param url the url to look up * @param dnssec_valid return-by-reference for DNSSEC status of query * - * @return a Arqma address (as a string) or an empty string + * @return a Morelo address (as a string) or an empty string */ std::vector addresses_from_url(const std::string& url, bool& dnssec_valid) { @@ -461,7 +463,7 @@ std::vector addresses_from_url(const std::string& url, bool& dnssec } else dnssec_valid = false; - // for each txt record, try to find a Arqma address in it. + // for each txt record, try to find a Morelo address in it. for (auto& rec : records) { std::string addr = address_from_txt_record(rec); diff --git a/src/common/dns_utils.h b/src/common/dns_utils.h index 295586e24..e1153a1e3 100644 --- a/src/common/dns_utils.h +++ b/src/common/dns_utils.h @@ -112,7 +112,7 @@ class DNSResolver * @brief Gets a DNS address from OpenAlias format * * If the address looks good, but contains one @ symbol, replace that with a . - * e.g. donations@arqma.com becomes donations.arqma.com + * e.g. donate@morelo.cc becomes donate.morelo.cc * * @param oa_addr OpenAlias address * diff --git a/src/common/download.cpp b/src/common/download.cpp index e76d03e67..de18941b3 100644 --- a/src/common/download.cpp +++ b/src/common/download.cpp @@ -35,8 +35,8 @@ #include "net/http_client.h" #include "download.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.dl" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.dl" namespace tools { diff --git a/src/common/i18n.cpp b/src/common/i18n.cpp index 843899f6f..df64d9d47 100644 --- a/src/common/i18n.cpp +++ b/src/common/i18n.cpp @@ -37,8 +37,8 @@ #include "translation_files.h" #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "i18n" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "i18n" static const unsigned char qm_magic[16] = {0x3c, 0xb8, 0x64, 0x18, 0xca, 0xef, 0x9c, 0x95, 0xcd, 0x21, 0x1c, 0xbf, 0x60, 0xa1, 0xbd, 0xdd}; diff --git a/src/common/perf_timer.cpp b/src/common/perf_timer.cpp index d66fe63fb..fa0546d4a 100644 --- a/src/common/perf_timer.cpp +++ b/src/common/perf_timer.cpp @@ -31,8 +31,8 @@ #include "misc_os_dependent.h" #include "perf_timer.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "perf" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "perf" #define PERF_LOG_ALWAYS(level, cat, x) \ el::base::Writer(level, el::Color::Default, __FILE__, __LINE__, ELPP_FUNC, el::base::DispatchAction::FileOnlyLog).construct(cat) << x diff --git a/src/common/perf_timer.h b/src/common/perf_timer.h index ac479d12c..ceee7eca1 100644 --- a/src/common/perf_timer.h +++ b/src/common/perf_timer.h @@ -77,11 +77,11 @@ class LoggingPerformanceTimer: public PerformanceTimer void set_performance_timer_log_level(el::Level level); #define PERF_TIMER_NAME(name) pt_##name -#define PERF_TIMER_UNIT(name, unit) tools::LoggingPerformanceTimer PERF_TIMER_NAME(name)(#name, "perf." ARQMA_DEFAULT_LOG_CATEGORY, unit, tools::performance_timer_log_level) -#define PERF_TIMER_UNIT_L(name, unit, l) tools::LoggingPerformanceTimer PERF_TIMER_NAME(name)t_##name(#name, "perf." ARQMA_DEFAULT_LOG_CATEGORY, unit, l) +#define PERF_TIMER_UNIT(name, unit) tools::LoggingPerformanceTimer PERF_TIMER_NAME(name)(#name, "perf." MORELO_DEFAULT_LOG_CATEGORY, unit, tools::performance_timer_log_level) +#define PERF_TIMER_UNIT_L(name, unit, l) tools::LoggingPerformanceTimer PERF_TIMER_NAME(name)t_##name(#name, "perf." MORELO_DEFAULT_LOG_CATEGORY, unit, l) #define PERF_TIMER(name) PERF_TIMER_UNIT(name, 1000000) #define PERF_TIMER_L(name, l) PERF_TIMER_UNIT_L(name, 1000000, l) -#define PERF_TIMER_START_UNIT(name, unit) std::unique_ptr PERF_TIMER_NAME(name)(new tools::LoggingPerformanceTimer(#name, "perf." ARQMA_DEFAULT_LOG_CATEGORY, unit, el::Level::Info)) +#define PERF_TIMER_START_UNIT(name, unit) std::unique_ptr PERF_TIMER_NAME(name)(new tools::LoggingPerformanceTimer(#name, "perf." MORELO_DEFAULT_LOG_CATEGORY, unit, el::Level::Info)) #define PERF_TIMER_START(name) PERF_TIMER_START_UNIT(name, 1000000) #define PERF_TIMER_STOP(name) do { PERF_TIMER_NAME(name).reset(NULL); } while(0) #define PERF_TIMER_PAUSE(name) PERF_TIMER_NAME(name)->pause() diff --git a/src/common/stack_trace.cpp b/src/common/stack_trace.cpp index ba23f661a..593922fa8 100644 --- a/src/common/stack_trace.cpp +++ b/src/common/stack_trace.cpp @@ -34,6 +34,7 @@ #endif #include "easylogging++/easylogging++.h" +#include #include #ifdef USE_UNWIND #define UNW_LOCAL_ONLY @@ -47,14 +48,14 @@ #include "common/stack_trace.h" #include "misc_log_ex.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "stacktrace" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "stacktrace" #define ST_LOG(x) \ do { \ auto elpp = ELPP; \ if (elpp) { \ - CINFO(el::base::Writer,el::base::DispatchAction::FileOnlyLog,ARQMA_DEFAULT_LOG_CATEGORY) << x; \ + CINFO(el::base::Writer,el::base::DispatchAction::FileOnlyLog,MORELO_DEFAULT_LOG_CATEGORY) << x; \ } \ else { \ std::cout << x << std::endl; \ diff --git a/src/common/updates.cpp b/src/common/updates.cpp index 9180b015b..91e5fbd0f 100644 --- a/src/common/updates.cpp +++ b/src/common/updates.cpp @@ -1,3 +1,4 @@ +// Copyright (c) 2019-2024, The Morelo Network // Copyright (c) 2018-2019, The Arqma Network // Copyright (c) 2017-2018, The Monero Project // @@ -33,8 +34,8 @@ #include "dns_utils.h" #include "updates.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "updates" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "updates" namespace tools { @@ -45,45 +46,45 @@ namespace tools MDEBUG("Checking updates for " << buildtag << " " << software); - // All four Morelo Network domains have DNSSEC on and valid + // All Morelo Network domains have DNSSEC on and valid static const std::vector dns_urls = { - //"" TODO + "updates.morelo.cc", "updates.morelonetwork.pl", "updates.morelo.vip" }; - if (!tools::dns_utils::load_txt_records_from_dns(records, dns_urls)) + if(!tools::dns_utils::load_txt_records_from_dns(records, dns_urls)) return false; - for (const auto& record : records) + for(const auto& record : records) { std::vector fields; boost::split(fields, record, boost::is_any_of(":")); - if (fields.size() != 4) + if(fields.size() != 4) { MWARNING("Updates record does not have 4 fields: " << record); continue; } - if (software != fields[0] || buildtag != fields[1]) + if(software != fields[0] || buildtag != fields[1]) continue; bool alnum = true; - for (auto c: fields[3]) - if (!isalnum(c)) + for(auto c : fields[3]) + if(!isalnum(c)) alnum = false; - if (fields[3].size() != 64 && !alnum) + if(fields[3].size() != 64 && !alnum) { MWARNING("Invalid hash: " << fields[3]); continue; } // use highest version - if (found) + if(found) { int cmp = vercmp(version.c_str(), fields[2].c_str()); - if (cmp > 0) + if(cmp > 0) continue; - if (cmp == 0 && hash != fields[3]) - MWARNING("Two matches found for " << software << " version " << version << " on " << buildtag); + if(cmp == 0 && hash != fields[3]) + MWARNING("Multiple matches found for " << software << " version " << version << " on " << buildtag); } version = fields[2]; @@ -97,17 +98,25 @@ namespace tools std::string get_update_url(const std::string &software, const std::string &buildtag, const std::string &version, bool user) { - const char *base = user ? "" : ""; //TODO -#ifdef _WIN32 - static const char *extension = strncmp(buildtag.c_str(), "install-", 8) ? ".zip" : ".exe"; -#else - static const char extension[] = ".tar.gz"; -#endif - std::string url; - url = base; - - url = url + "/" + software + "-" + buildtag + "-v" + version + extension; + if(user) { + if(buildtag == "source") { + url = "https://github.com/MoreloNetwork/" + software + "/tree/" + version; + } else { + url = "https://github.com/MoreloNetwork/" + software + "/releases/tag/" + version; + } + } else { + if(buildtag == "source") { + url = "https://github.com/MoreloNetwork/" + software + "/archive/refs/tags/" + version; + } else { + url = "https://github.com/MoreloNetwork/" + software + "/releases/download/" + version + "/" + buildtag; + } + #ifdef _WIN32 + url += strncmp(buildtag.c_str(), "install-", 8) ? ".zip" : ".exe"; + #else + url += ".tar.xz"; + #endif + } return url; } -} +} \ No newline at end of file diff --git a/src/common/util.cpp b/src/common/util.cpp index 51923e86f..3f49459b6 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -88,8 +88,8 @@ using namespace epee; #include #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "util" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "util" namespace { @@ -678,10 +678,10 @@ std::string get_nix_version_display_string() { ub_ctx *ctx = ub_ctx_create(); if (!ctx) return false; // cheat a bit, should not happen unless OOM - char *arqma = strdup("morelo"), *unbound = strdup("unbound"); - ub_ctx_zone_add(ctx, arqma, unbound); // this calls ub_ctx_finalize first, then errors out with UB_SYNTAX + char *morelo = strdup("morelo"), *unbound = strdup("unbound"); + ub_ctx_zone_add(ctx, morelo, unbound); // this calls ub_ctx_finalize first, then errors out with UB_SYNTAX free(unbound); - free(arqma); + free(morelo); // if no threads, bails out early with UB_NOERROR, otherwise fails with UB_AFTERFINAL id already finalized bool with_threads = ub_ctx_async(ctx, 1) != 0; // UB_AFTERFINAL is not defined in public headers, check any error ub_ctx_delete(ctx); @@ -1108,7 +1108,7 @@ void closefrom(int fd) std::string get_human_readable_bytes(uint64_t bytes) { // Use 1024 for "kilo", 1024*1024 for "mega" and so on instead of the more modern and standard-conforming - // 1000, 1000*1000 and so on, to be consistent with other Arqma code that also uses base 2 units + // 1000, 1000*1000 and so on, to be consistent with other Morelo code that also uses base 2 units struct byte_map { const char* const format; diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt index 341c99c58..91e2bfb97 100644 --- a/src/crypto/CMakeLists.txt +++ b/src/crypto/CMakeLists.txt @@ -72,9 +72,9 @@ set(crypto_private_headers skein.h skein_port.h) -arqma_private_headers(cncrypto +morelo_private_headers(cncrypto ${crypto_private_headers}) -arqma_add_library(cncrypto +morelo_add_library(cncrypto ${crypto_sources} ${crypto_headers} ${crypto_private_headers}) diff --git a/src/crypto/oaes_lib.c b/src/crypto/oaes_lib.c index 13027e2c4..6b7a14ccd 100644 --- a/src/crypto/oaes_lib.c +++ b/src/crypto/oaes_lib.c @@ -468,7 +468,7 @@ OAES_RET oaes_sprintf( static void oaes_get_seed(char buf[RANDSIZ + 1]) { struct timeval tv; - struct tm *ts = gmtime(&tv.tv_sec); + struct tm *ts = gmtime((time_t *)&tv.tv_sec); char * _test = NULL; gettimeofday(&tv, NULL);; @@ -483,7 +483,7 @@ static void oaes_get_seed(char buf[RANDSIZ + 1]) static uint32_t oaes_get_seed(void) { struct timeval tv; - struct tm *ts = gmtime(&tv.tv_sec); + struct tm *ts = gmtime((time_t *)&tv.tv_sec); char * _test = NULL; uint32_t _ret = 0; diff --git a/src/crypto/rx-slow-hash.c b/src/crypto/rx-slow-hash.c index 6afa7103d..779f60f9a 100644 --- a/src/crypto/rx-slow-hash.c +++ b/src/crypto/rx-slow-hash.c @@ -83,7 +83,7 @@ static inline int disabled_flags(void) { return flags; } - const char *env = getenv("ARQMA_RANDOMX_UMASK"); + const char *env = getenv("MORELO_RANDOMX_UMASK"); if (!env) { flags = 0; } diff --git a/src/crypto/slow-hash.c b/src/crypto/slow-hash.c index 88990dd5b..987af69ed 100644 --- a/src/crypto/slow-hash.c +++ b/src/crypto/slow-hash.c @@ -369,7 +369,7 @@ STATIC INLINE int force_software_aes(void) if (use != -1) return use; - const char *env = getenv("ARQMA_USE_SOFTWARE_AES"); + const char *env = getenv("MORELO_USE_SOFTWARE_AES"); if (!env) { use = 0; } diff --git a/src/cryptonote_basic/CMakeLists.txt b/src/cryptonote_basic/CMakeLists.txt index a8acf2260..75c5509d1 100644 --- a/src/cryptonote_basic/CMakeLists.txt +++ b/src/cryptonote_basic/CMakeLists.txt @@ -61,9 +61,9 @@ set(cryptonote_basic_private_headers tx_extra.h verification_context.h) -arqma_private_headers(cryptonote_basic +morelo_private_headers(cryptonote_basic ${cryptonote_basic_private_headers}) -arqma_add_library(cryptonote_basic +morelo_add_library(cryptonote_basic ${cryptonote_basic_sources} ${cryptonote_basic_headers} ${cryptonote_basic_private_headers}) diff --git a/src/cryptonote_basic/account.cpp b/src/cryptonote_basic/account.cpp index c819dcb22..28ed2bffd 100644 --- a/src/cryptonote_basic/account.cpp +++ b/src/cryptonote_basic/account.cpp @@ -42,8 +42,8 @@ extern "C" #include "cryptonote_basic_impl.h" #include "cryptonote_format_utils.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "account" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "account" #define KEYS_ENCRYPTION_SALT 'k' diff --git a/src/cryptonote_basic/cryptonote_basic.h b/src/cryptonote_basic/cryptonote_basic.h index 4c331b402..b0bc7cebf 100644 --- a/src/cryptonote_basic/cryptonote_basic.h +++ b/src/cryptonote_basic/cryptonote_basic.h @@ -172,7 +172,7 @@ namespace cryptonote BEGIN_SERIALIZE() VARINT_FIELD(version) - if(version == 0 || config::tx_settings::ARQMA_TX_VERSION < version) return false; + if(version == 0 || config::tx_settings::MORELO_TX_VERSION < version) return false; VARINT_FIELD(unlock_time) FIELD(vin) FIELD(vout) diff --git a/src/cryptonote_basic/cryptonote_basic_impl.cpp b/src/cryptonote_basic/cryptonote_basic_impl.cpp index ff26f4be1..4ad9932ec 100644 --- a/src/cryptonote_basic/cryptonote_basic_impl.cpp +++ b/src/cryptonote_basic/cryptonote_basic_impl.cpp @@ -1,3 +1,4 @@ +// Copyright (c) 2019-2024, The Morelo Network // Copyright (c) 2018-2019, The Arqma Network // Copyright (c) 2014-2018, The Monero Project // @@ -43,9 +44,10 @@ using namespace epee; #include "crypto/hash.h" #include "int-util.h" #include "common/dns_utils.h" +#include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "cn" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "cn" namespace cryptonote { @@ -85,35 +87,34 @@ namespace cryptonote { } //----------------------------------------------------------------------------------------------- bool get_block_reward(size_t median_weight, size_t current_block_weight, uint64_t already_generated_coins, uint64_t &reward, uint8_t version, uint64_t height, uint64_t hardfork_height) { - uint64_t base_reward; - // HalvingARQ implementation - // Base static reward for mined block - // Halving every X blocks - // That means divide reward by 2 - if(version >= 17) - { - base_reward = BASE_REWARD_V17; - uint64_t blocks_past = height - hardfork_height; - // Calculate number of halvings - uint64_t halvings = blocks_past / HALVING_EVERY_X_BLOCKS; - if(halvings) - { - for(uint64_t i = 0; i < halvings; i++) - { - base_reward /= 2; // Divide reward by 2 - } - if(base_reward < COIN) // If reward is lower than one unit - { - base_reward = 0; // Make the reward 0 - } - } - reward = base_reward; - if(height == hardfork_height) - { - reward += DEVS_REWARD_V17; - } - return true; - } + uint64_t base_reward; + // HalvingARQ implementation + // Base static reward for mined block + // Halving every X blocks + // That means divide reward by 2 + if(version >= 17) + { + base_reward = BASE_REWARD_V17; + uint64_t blocks_past = height - hardfork_height; + // Calculate number of halvings + uint64_t halvings = blocks_past / HALVING_EVERY_X_BLOCKS; + if(halvings) + { + for(uint64_t i = 0; i < halvings; i++) + { + base_reward /= 2; // Divide reward by 2 + } + } + reward = base_reward; + if(height == hardfork_height) + { + if(version == 17) + { + reward += DEVS_REWARD_V17; + } + } + return true; + } static_assert(DIFFICULTY_TARGET_V2 % 60 == 0,"difficulty targets must be a multiple of 60"); const int target_minutes = DIFFICULTY_TARGET_V2 / 60; diff --git a/src/cryptonote_basic/cryptonote_boost_serialization.h b/src/cryptonote_basic/cryptonote_boost_serialization.h index f2d728389..6051b8570 100644 --- a/src/cryptonote_basic/cryptonote_boost_serialization.h +++ b/src/cryptonote_basic/cryptonote_boost_serialization.h @@ -248,7 +248,7 @@ namespace boost { a & x.mask; a & x.amount; - // a & x.senderPk; // not serialized, as we do not use it in Arqma currently + // a & x.senderPk; // not serialized, as we do not use it currently } template diff --git a/src/cryptonote_basic/cryptonote_format_utils.cpp b/src/cryptonote_basic/cryptonote_format_utils.cpp index 5a63e4a30..9151adb6d 100644 --- a/src/cryptonote_basic/cryptonote_format_utils.cpp +++ b/src/cryptonote_basic/cryptonote_format_utils.cpp @@ -29,6 +29,7 @@ // // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers +#include #include #include #include "wipeable_string.h" @@ -42,8 +43,8 @@ using namespace epee; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "cn" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "cn" #define ENCRYPTED_PAYMENT_ID_TAIL 0x8d diff --git a/src/cryptonote_basic/difficulty.cpp b/src/cryptonote_basic/difficulty.cpp index 2a3d3eb5b..fc7fda551 100644 --- a/src/cryptonote_basic/difficulty.cpp +++ b/src/cryptonote_basic/difficulty.cpp @@ -41,8 +41,8 @@ #include "cryptonote_config.h" #include "difficulty.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "difficulty" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "difficulty" namespace cryptonote { diff --git a/src/cryptonote_basic/hardfork.cpp b/src/cryptonote_basic/hardfork.cpp index f448afd6a..6eae3be89 100644 --- a/src/cryptonote_basic/hardfork.cpp +++ b/src/cryptonote_basic/hardfork.cpp @@ -29,13 +29,14 @@ #include #include +#include #include "cryptonote_basic/cryptonote_basic.h" #include "blockchain_db/blockchain_db.h" #include "hardfork.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "hardfork" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "hardfork" using namespace cryptonote; diff --git a/src/cryptonote_basic/miner.cpp b/src/cryptonote_basic/miner.cpp index f79e9cfd6..403bb8ed3 100644 --- a/src/cryptonote_basic/miner.cpp +++ b/src/cryptonote_basic/miner.cpp @@ -29,6 +29,7 @@ // // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers +#include #include #include #include @@ -72,8 +73,8 @@ #include #endif -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "miner" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "miner" using namespace epee; diff --git a/src/cryptonote_config.h b/src/cryptonote_config.h index 5630a8bab..33fbd949a 100644 --- a/src/cryptonote_config.h +++ b/src/cryptonote_config.h @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2022, The Morelo Network +// Copyright (c) 2019-2024, The Morelo Network // Copyright (c) 2018-2019, The Arqma Network // Copyright (c) 2014-2018, The Monero Project // @@ -36,27 +36,27 @@ #include #include -#define CRYPTONOTE_DNS_TIMEOUT_MS 20000 +#define CRYPTONOTE_DNS_TIMEOUT_MS 20000 -#define CRYPTONOTE_MAX_BLOCK_NUMBER 500000000 -#define CRYPTONOTE_GETBLOCKTEMPLATE_MAX_BLOCK_SIZE 196608 //size of block (bytes) that is the maximum that miners will produce -#define CRYPTONOTE_PUBLIC_ADDRESS_TEXTBLOB_VER 0 -#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V2 300*2 -#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V3 100*3 -#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V4 CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V3 -#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT 60*60*2 +#define CRYPTONOTE_MAX_BLOCK_NUMBER 500000000 +#define CRYPTONOTE_GETBLOCKTEMPLATE_MAX_BLOCK_SIZE 196608 // size of block (bytes) that is the maximum that miners will produce +#define CRYPTONOTE_PUBLIC_ADDRESS_TEXTBLOB_VER 0 +#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V2 300 * 2 +#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V3 100 * 3 +#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V4 CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V3 +#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT 60 * 60 * 2 -#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW 60 -#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V2 11 -#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V9 BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V2 +#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW 60 +#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V2 11 +#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V9 BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V2 // MONEY_SUPPLY - total number coins to be generated -#define MONEY_SUPPLY ((uint64_t)75000000000000000) -#define EMISSION_SPEED_FACTOR_PER_MINUTE (21) -#define EMISSION_SPEED_FACTOR_V16 (20) -#define FINAL_SUBSIDY_PER_MINUTE ((uint64_t)300000000) +#define MONEY_SUPPLY ((uint64_t)75000000000000000) +#define EMISSION_SPEED_FACTOR_PER_MINUTE (21) +#define EMISSION_SPEED_FACTOR_V16 (20) +#define FINAL_SUBSIDY_PER_MINUTE ((uint64_t)300000000) -#define BASE_REWARD_V17 ((uint64_t)55550000000) // Static reward before first halving +#define BASE_REWARD_V17 ((uint64_t)55550000000) // Static reward before first halving /* Blocks per: @@ -64,145 +64,147 @@ 1 Month: 21600 BLOCKS (30 * 720, not exaclly) 1 Year: 262,8K BLOCKS (365 * 720) */ -#define HALVING_EVERY_X_BLOCKS 262800 // Halving every 1 year -#define DEVS_REWARD_V17 ((uint64_t)12000000000000000) - - - -#define CRYPTONOTE_REWARD_BLOCKS_WINDOW 100 -#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2 60000 //size of block (bytes) after which reward for block calculated using block size -#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V1 20000 //size of block (bytes) after which reward for block calculated using block size - before first fork -#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5 300000 //size of block (bytes) after which reward for block calculated using block size - second change, from v5 -#define CRYPTONOTE_LONG_TERM_BLOCK_WEIGHT_WINDOW_SIZE 100000 // size in blocks of the long term block weight median window -#define CRYPTONOTE_SHORT_TERM_BLOCK_WEIGHT_SURGE_FACTOR 50 -#define CRYPTONOTE_COINBASE_BLOB_RESERVED_SIZE 600 -#define CRYPTONOTE_DISPLAY_DECIMAL_POINT 9 +#define HALVING_EVERY_X_BLOCKS 262800 // Halving every 1 year +#define DEVS_REWARD_V17 ((uint64_t)12000000000000000) + + +#define CRYPTONOTE_REWARD_BLOCKS_WINDOW 100 +#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2 60000 // size of block (bytes) after which reward for block calculated using block size +#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V1 20000 // size of block (bytes) after which reward for block calculated using block size - before first fork +#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5 300000 // size of block (bytes) after which reward for block calculated using block size - second change, from v5 +#define CRYPTONOTE_LONG_TERM_BLOCK_WEIGHT_WINDOW_SIZE 100000 // size in blocks of the long term block weight median window +#define CRYPTONOTE_SHORT_TERM_BLOCK_WEIGHT_SURGE_FACTOR 50 +#define CRYPTONOTE_COINBASE_BLOB_RESERVED_SIZE 600 +#define CRYPTONOTE_DISPLAY_DECIMAL_POINT 9 // COIN - number of smallest units in one coin -#define COIN ((uint64_t)1000000000) - -#define FEE_PER_KB_OLD ((uint64_t)10000000) -#define FEE_PER_KB ((uint64_t)20000) -#define FEE_PER_BYTE ((uint64_t)3) -#define DYNAMIC_FEE_PER_KB_BASE_FEE ((uint64_t)20000) -#define DYNAMIC_FEE_PER_KB_BASE_BLOCK_REWARD ((uint64_t)10000000000) -#define DYNAMIC_FEE_PER_KB_BASE_FEE_V5 ((uint64_t)20000 * (uint64_t)CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2 / CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5) -#define DYNAMIC_FEE_PER_BYTE_BASE_FEE_V13 ((uint64_t)(DYNAMIC_FEE_PER_KB_BASE_FEE_V5) * 50 / 1000) -#define DYNAMIC_FEE_REFERENCE_TRANSACTION_WEIGHT ((uint64_t)750) - -#define ORPHANED_BLOCKS_MAX_COUNT 100 - - -#define DIFFICULTY_TARGET_V3 DIFFICULTY_TARGET_V2 -#define DIFFICULTY_TARGET_V2 240 // seconds -#define DIFFICULTY_TARGET_V1 120 // seconds - before first fork -#define DIFFICULTY_WINDOW 720 // blocks -#define DIFFICULTY_WINDOW_V2 30 -#define DIFFICULTY_WINDOW_V3 17 -#define DIFFICULTY_LAG 15 // !!! -#define DIFFICULTY_CUT 60 // timestamps to cut after sorting - -#define DIFFICULTY_TARGET_V10 120 -#define DIFFICULTY_BLOCKS_COUNT_V10 (DIFFICULTY_WINDOW_V10 + 1) -#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V10 11 -#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V10 360 -#define DIFFICULTY_WINDOW_V10 90 - -#define DIFFICULTY_TARGET_V11 120 -#define DIFFICULTY_BLOCKS_COUNT_V11 (DIFFICULTY_WINDOW_V11 + 1) -#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V11 11 -#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V11 360 -#define DIFFICULTY_WINDOW_V11 90 - -#define DIFFICULTY_TARGET_V16 120 -#define DIFFICULTY_WINDOW_V16 45 -#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V16 11 -#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V16 180 -#define DIFFICULTY_BLOCKS_COUNT_V16 (DIFFICULTY_WINDOW_V16 + 1) - -#define DIFFICULTY_BLOCKS_COUNT_V3 (DIFFICULTY_WINDOW_V3 + 1) -#define DIFFICULTY_BLOCKS_COUNT_V2 (DIFFICULTY_WINDOW_V2 + 1) // added to make N=N -#define DIFFICULTY_BLOCKS_COUNT DIFFICULTY_WINDOW + DIFFICULTY_LAG - -#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V1 DIFFICULTY_TARGET_V1 * CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS -#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V2 DIFFICULTY_TARGET_V2 * CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS -#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS 1 - -#define DIFFICULTY_BLOCKS_ESTIMATE_TIMESPAN DIFFICULTY_TARGET_V2 //just alias; used by tests - -#define BLOCKS_IDS_SYNCHRONIZING_DEFAULT_COUNT 10000 //by default, blocks ids count in synchronizing - -#define BLOCKS_SYNCHRONIZING_MAX_COUNT 2048 //must be a power of 2, greater than 128, equal to SEEDHASH_EPOCH_BLOCKS - -#define CRYPTONOTE_MEMPOOL_TX_LIVETIME (86400*3) //seconds, three days -#define CRYPTONOTE_MEMPOOL_TX_FROM_ALT_BLOCK_LIVETIME 604800 //seconds, one week - -#define COMMAND_RPC_GET_BLOCKS_FAST_MAX_COUNT 100 - -#define P2P_LOCAL_WHITE_PEERLIST_LIMIT 1000 -#define P2P_LOCAL_GRAY_PEERLIST_LIMIT 5000 - -#define P2P_DEFAULT_CONNECTIONS_COUNT 32 -#define P2P_DEFAULT_HANDSHAKE_INTERVAL 60 // secondes -#define P2P_DEFAULT_PACKET_MAX_SIZE 50000000 // 50000000 bytes maximum packet size -#define P2P_DEFAULT_PEERS_IN_HANDSHAKE 250 -#define P2P_DEFAULT_CONNECTION_TIMEOUT 5000 // 5 seconds -#define P2P_DEFAULT_SOCKS_CONNECT_TIMEOUT 45 // seconds -#define P2P_DEFAULT_PING_CONNECTION_TIMEOUT 2000 // 2 seconds -#define P2P_DEFAULT_INVOKE_TIMEOUT 60*2*1000 // 2 minutes -#define P2P_DEFAULT_HANDSHAKE_INVOKE_TIMEOUT 5000 // 5 seconds -#define P2P_DEFAULT_WHITELIST_CONNECTIONS_PERCENT 70 -#define P2P_DEFAULT_ANCHOR_CONNECTIONS_COUNT 2 -#define P2P_DEFAULT_SYNC_SEARCH_CONNECTIONS_COUNT 2 - -#define P2P_DEFAULT_LIMIT_RATE_UP 4096 // Kbps -#define P2P_DEFAULT_LIMIT_RATE_DOWN 16384 // Kbps - -#define P2P_FAILED_ADDR_FORGET_SECONDS (60*60) // 1 hour -#define P2P_IP_BLOCKTIME (60*60*24) // 24 hour -#define P2P_IP_FAILS_BEFORE_BLOCK 10 -#define P2P_IDLE_CONNECTION_KILL_INTERVAL (5*60) // 5 minutes - -#define P2P_SUPPORT_FLAG_FLUFFY_BLOCKS 0x01 -#define P2P_SUPPORT_FLAGS P2P_SUPPORT_FLAG_FLUFFY_BLOCKS +#define COIN ((uint64_t)1000000000) + +#define FEE_PER_KB_OLD ((uint64_t)10000000) +#define FEE_PER_KB ((uint64_t)20000) +#define FEE_PER_BYTE ((uint64_t)3) +#define DYNAMIC_FEE_PER_KB_BASE_FEE ((uint64_t)20000) +#define DYNAMIC_FEE_PER_KB_BASE_BLOCK_REWARD ((uint64_t)10000000000) +#define DYNAMIC_FEE_PER_KB_BASE_FEE_V5 ((uint64_t)20000 * (uint64_t)CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2 / CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5) +#define DYNAMIC_FEE_PER_BYTE_BASE_FEE_V13 ((uint64_t)(DYNAMIC_FEE_PER_KB_BASE_FEE_V5) / 20) +#define DYNAMIC_FEE_REFERENCE_TRANSACTION_WEIGHT ((uint64_t)750) + +#define NEW_FEE_V18 ((uint64_t)(DYNAMIC_FEE_PER_BYTE_BASE_FEE_V13 / 100)) // Divide it 100 times + + +#define ORPHANED_BLOCKS_MAX_COUNT 100 + + +#define DIFFICULTY_TARGET_V3 DIFFICULTY_TARGET_V2 +#define DIFFICULTY_TARGET_V2 240 // seconds +#define DIFFICULTY_TARGET_V1 120 // seconds - before first fork +#define DIFFICULTY_WINDOW 720 // blocks +#define DIFFICULTY_WINDOW_V2 30 +#define DIFFICULTY_WINDOW_V3 17 +#define DIFFICULTY_LAG 15 // !!! +#define DIFFICULTY_CUT 60 // timestamps to cut after sorting + +#define DIFFICULTY_TARGET_V10 120 +#define DIFFICULTY_BLOCKS_COUNT_V10 (DIFFICULTY_WINDOW_V10 + 1) +#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V10 11 +#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V10 360 +#define DIFFICULTY_WINDOW_V10 90 + +#define DIFFICULTY_TARGET_V11 120 +#define DIFFICULTY_BLOCKS_COUNT_V11 (DIFFICULTY_WINDOW_V11 + 1) +#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V11 11 +#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V11 360 +#define DIFFICULTY_WINDOW_V11 90 + +#define DIFFICULTY_TARGET_V16 120 +#define DIFFICULTY_WINDOW_V16 45 +#define BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW_V16 11 +#define CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT_V16 180 +#define DIFFICULTY_BLOCKS_COUNT_V16 (DIFFICULTY_WINDOW_V16 + 1) + +#define DIFFICULTY_BLOCKS_COUNT_V3 (DIFFICULTY_WINDOW_V3 + 1) +#define DIFFICULTY_BLOCKS_COUNT_V2 (DIFFICULTY_WINDOW_V2 + 1) // added to make N=N +#define DIFFICULTY_BLOCKS_COUNT DIFFICULTY_WINDOW + DIFFICULTY_LAG + +#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V1 DIFFICULTY_TARGET_V1 * CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS +#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_SECONDS_V2 DIFFICULTY_TARGET_V2 * CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS +#define CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS 1 + +#define DIFFICULTY_BLOCKS_ESTIMATE_TIMESPAN DIFFICULTY_TARGET_V2 //just alias; used by tests + +#define BLOCKS_IDS_SYNCHRONIZING_DEFAULT_COUNT 10000 // by default, blocks ids count in synchronizing + +#define BLOCKS_SYNCHRONIZING_MAX_COUNT 2048 // must be a power of 2, greater than 128, equal to SEEDHASH_EPOCH_BLOCKS + +#define CRYPTONOTE_MEMPOOL_TX_LIVETIME (86400 * 3) // seconds, three days +#define CRYPTONOTE_MEMPOOL_TX_FROM_ALT_BLOCK_LIVETIME 604800 // seconds, one week + +#define COMMAND_RPC_GET_BLOCKS_FAST_MAX_COUNT 100 + +#define P2P_LOCAL_WHITE_PEERLIST_LIMIT 1000 +#define P2P_LOCAL_GRAY_PEERLIST_LIMIT 5000 + +#define P2P_DEFAULT_CONNECTIONS_COUNT 32 +#define P2P_DEFAULT_HANDSHAKE_INTERVAL 60 // seconds +#define P2P_DEFAULT_PACKET_MAX_SIZE 50000000 // 50000000 bytes maximum packet size +#define P2P_DEFAULT_PEERS_IN_HANDSHAKE 250 +#define P2P_DEFAULT_CONNECTION_TIMEOUT 5000 // 5 seconds +#define P2P_DEFAULT_SOCKS_CONNECT_TIMEOUT 45 // seconds +#define P2P_DEFAULT_PING_CONNECTION_TIMEOUT 2000 // 2 seconds +#define P2P_DEFAULT_INVOKE_TIMEOUT 60 * 2 * 1000 // 2 minutes +#define P2P_DEFAULT_HANDSHAKE_INVOKE_TIMEOUT 5000 // 5 seconds +#define P2P_DEFAULT_WHITELIST_CONNECTIONS_PERCENT 70 +#define P2P_DEFAULT_ANCHOR_CONNECTIONS_COUNT 2 +#define P2P_DEFAULT_SYNC_SEARCH_CONNECTIONS_COUNT 2 + +#define P2P_DEFAULT_LIMIT_RATE_UP 8192 // Kbps +#define P2P_DEFAULT_LIMIT_RATE_DOWN 32768 // Kbps + +#define P2P_FAILED_ADDR_FORGET_SECONDS (60 * 60) // 1 hour +#define P2P_IP_BLOCKTIME (60 * 60 * 24) // 24 hour +#define P2P_IP_FAILS_BEFORE_BLOCK 10 +#define P2P_IDLE_CONNECTION_KILL_INTERVAL (5 * 60) // 5 minutes + +#define P2P_SUPPORT_FLAG_FLUFFY_BLOCKS 0x01 +#define P2P_SUPPORT_FLAGS P2P_SUPPORT_FLAG_FLUFFY_BLOCKS #define ALLOW_DEBUG_COMMANDS -#define CRYPTONOTE_NAME "morelo" -#define CRYPTONOTE_POOLDATA_FILENAME "poolstate.bin" -#define CRYPTONOTE_BLOCKCHAINDATA_FILENAME "data.mdb" -#define CRYPTONOTE_BLOCKCHAINDATA_LOCK_FILENAME "lock.mdb" -#define P2P_NET_DATA_FILENAME "p2pstate.bin" -#define RPC_PAYMENTS_DATA_FILENAME "rpcpayments.bin" -#define MINER_CONFIG_FILE_NAME "miner_conf.json" +#define CRYPTONOTE_NAME "morelo" +#define CRYPTONOTE_POOLDATA_FILENAME "poolstate.bin" +#define CRYPTONOTE_BLOCKCHAINDATA_FILENAME "data.mdb" +#define CRYPTONOTE_BLOCKCHAINDATA_LOCK_FILENAME "lock.mdb" +#define P2P_NET_DATA_FILENAME "p2pstate.bin" +#define RPC_PAYMENTS_DATA_FILENAME "rpcpayments.bin" +#define MINER_CONFIG_FILE_NAME "miner_conf.json" -#define THREAD_STACK_SIZE 5 * 1024 * 1024 +#define THREAD_STACK_SIZE 5 * 1024 * 1024 -#define HF_VERSION_DYNAMIC_FEE 4 -#define HF_VERSION_MIN_MIXIN_4 6 -#define HF_VERSION_MIN_MIXIN_6 7 -#define HF_VERSION_ENFORCE_RCT 6 +#define HF_VERSION_DYNAMIC_FEE 4 +#define HF_VERSION_MIN_MIXIN_4 6 +#define HF_VERSION_MIN_MIXIN_6 7 +#define HF_VERSION_ENFORCE_RCT 6 -#define HF_VERSION_MIN_MIXIN_10 13 +#define HF_VERSION_MIN_MIXIN_10 13 -#define HF_VERSION_LOWER_FEE 10 -#define HF_VERSION_PER_BYTE_FEE 13 -#define HF_FORBID_BORROMEAN 13 -#define HF_VERSION_LONG_TERM_BLOCK_WEIGHT 14 +#define HF_VERSION_LOWER_FEE 10 +#define HF_VERSION_PER_BYTE_FEE 13 +#define HF_FORBID_BORROMEAN 13 +#define HF_VERSION_LONG_TERM_BLOCK_WEIGHT 14 -#define PER_KB_FEE_QUANTIZATION_DECIMALS 8 +#define PER_KB_FEE_QUANTIZATION_DECIMALS 8 -#define HASH_OF_HASHES_STEP 512 +#define HASH_OF_HASHES_STEP 512 -#define DEFAULT_TXPOOL_MAX_WEIGHT 648000000ull // 3 days at 300000, in bytes +#define DEFAULT_TXPOOL_MAX_WEIGHT 648000000ull // 3 days at 300000, in bytes -#define BULLETPROOF_MAX_OUTPUTS 16 +#define BULLETPROOF_MAX_OUTPUTS 16 -#define CRYPTONOTE_PRUNING_STRIPE_SIZE 4096 // the smaller, the smoother the increase -#define CRYPTONOTE_PRUNING_LOG_STRIPES 3 // the higher, the more space saved -#define CRYPTONOTE_PRUNING_TIP_BLOCKS 5500 // the smaller, the more space saved +#define CRYPTONOTE_PRUNING_STRIPE_SIZE 4096 // the smaller, the smoother the increase +#define CRYPTONOTE_PRUNING_LOG_STRIPES 3 // the higher, the more space saved +#define CRYPTONOTE_PRUNING_TIP_BLOCKS 5500 // the smaller, the more space saved //#define CRYPTONOTE_PRUNING_DEBUG_SPOOF_SEED -#define RPC_CREDITS_PER_HASH_SCALE ((float)(1<<24)) +#define RPC_CREDITS_PER_HASH_SCALE ((float)(1<<24)) static constexpr uint64_t POISSON_CHECK_TRIGGER = 5; // Reorg size that triggers poisson timestamp check static constexpr uint64_t POISSON_CHECK_DEPTH = 128; // Main-chain depth of the poisson check. The attacker will have to tamper 50% of those blocks @@ -223,7 +225,7 @@ namespace config uint16_t const ZMQ_DEFAULT_PORT = 38303; boost::uuids::uuid const NETWORK_ID = { { 0x01, 0x11, 0x11, 0x11, 0xFF, 0xFF, 0xFF, 0x11, 0x44, 0x13, 0xFF, 0xFF, 0xFF, 0x55, 0x11, 0x1A - } }; // + } }; std::string const GENESIS_TX = "011201ff00011e026bc5c7db8a664f652d78adb587ac4d759c6757258b64ef9cba3c0354e64fb2e42101abca6a39c561d0897be183eb0143990eba201aa7d2c652ab0555d28bb4b70728"; uint32_t const GENESIS_NONCE = 38311; @@ -233,8 +235,8 @@ namespace config uint64_t const CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX = 0x4562; // Wallet prefix: eti... // decimal prefix: 20554 uint64_t const CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX = 0x4762; // Wallet prefix: ets... // decimal prefix: 21066 uint16_t const P2P_DEFAULT_PORT = 38311; - uint16_t const RPC_DEFAULT_PORT = 38312; - uint16_t const ZMQ_DEFAULT_PORT = 38313; + uint16_t const RPC_DEFAULT_PORT = 38312; + uint16_t const ZMQ_DEFAULT_PORT = 38313; boost::uuids::uuid const NETWORK_ID = { { 0x01, 0x11, 0x11, 0x11, 0xFF, 0xFF, 0xFF, 0x11, 0x44, 0x13, 0xFF, 0xFF, 0xFF, 0x55, 0x11, 0x1B } }; // TEST @@ -246,8 +248,8 @@ namespace config uint64_t const CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX = 0x19f9e2; // Wallet prefix: exi... // decimal prefix: 1524426 uint64_t const CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX = 0x1ffbe2; // Wallet prefix: exs... // decimal prefix: 1934538 uint16_t const P2P_DEFAULT_PORT = 38321; - uint16_t const RPC_DEFAULT_PORT = 38322; - uint16_t const ZMQ_DEFAULT_PORT = 38323; + uint16_t const RPC_DEFAULT_PORT = 38322; + uint16_t const ZMQ_DEFAULT_PORT = 38323; boost::uuids::uuid const NETWORK_ID = { { 0x01, 0x11, 0x11, 0x11, 0xFF, 0xFF, 0xFF, 0x11, 0x44, 0x13, 0xFF, 0xFF, 0xFF, 0x55, 0x11, 0x1C } }; // STAGE @@ -266,8 +268,8 @@ namespace config namespace tx_settings { - const uint8_t ARQMA_TX_CONFIRMATIONS_REQUIRED = 4; // How many blocks are needed to confirm transaction sent. - const uint8_t ARQMA_TX_VERSION = 2; // Current Transaction Version Valid on Morelo Network + const uint8_t MORELO_TX_CONFIRMATIONS_REQUIRED = 4; // How many blocks are needed to confirm transaction sent. + const uint8_t MORELO_TX_VERSION = 2; // Current Transaction Version Valid on Morelo Network const uint64_t TRANSACTION_SIZE_LIMIT = 48 * 1024; // I did set it to 48kB for now but it need to be verified. const uint64_t MAX_TRANSACTIONS_IN_BLOCK = 1024; // Maximum allowed transactions in One Block } @@ -281,18 +283,25 @@ namespace config namespace governance_old { - static constexpr const char* MAINNET_WALLET_ADDRESS = "emo1hsdY9BLhGUUZqFqNUgGowHwEcW9LzQ9kjN8GJrqbBhXe6L37gZ5Y2pa8eNRiyzabyP8ScDyi2hcbzH4akSvE8SuYr1dFeX"; // ArqTras + static constexpr const char* MAINNET_WALLET_ADDRESS = "emo1hsdY9BLhGUUZqFqNUgGowHwEcW9LzQ9kjN8GJrqbBhXe6L37gZ5Y2pa8eNRiyzabyP8ScDyi2hcbzH4akSvE8SuYr1dFeX"; static constexpr const char* TESTNET_WALLET_ADDRESS = "eto1UJjpbxTgM2kzrQNgrkazZLCyhGvcHaoFvsHypZ8JdvsXFQ9kb6zEMAxxJrkzBWKx1ZgxArfgiTudcrUvFBya7EwgQiftGn"; static constexpr const char* STAGENET_WALLET_ADDRESS = "exoiwUAF2AEDC8oniRiMXKEkmsLEtw7XNVm2Lc2NJsejU4nN2zWrCF9cjrPgEgUeiHLQ8gNkwyoHVRmkGpS87Eqh4G1yAjseHF"; } namespace devs { - static constexpr const char* MAINNET_WALLET_ADDRESS = "emo1gezt9GAV78y39PaeoqSyXtcMNTSJoTJ9Wm3ejFoUWzLwKbH8fN17xbLQS96LdBBrPF57b9Cuz4UU8cekbwju2pvFcMv42w"; + static constexpr const char* MAINNET_WALLET_ADDRESS = "emo1gezt9GAV78y39PaeoqSyXtcMNTSJoTJ9Wm3ejFoUWzLwKbH8fN17xbLQS96LdBBrPF57b9Cuz4UU8cekbwju2pvFcMv42w"; static constexpr const char* TESTNET_WALLET_ADDRESS = "eto1j9F9GdLV78y39PaeoqSyXtcMNTSJoTJ9Wm3ejFoUWzLwKbH8fN17xbLQS96LdBBrPF57b9Cuz4UU8cekbwju2pvFduQGnP"; static constexpr const char* STAGENET_WALLET_ADDRESS = "exojE3iKAX8V78y39PaeoqSyXtcMNTSJoTJ9Wm3ejFoUWzLwKbH8fN17xbLQS96LdBBrPF57b9Cuz4UU8cekbwju2pvFd9hNsM"; } + namespace devs_new + { + static constexpr const char* MAINNET_WALLET_ADDRESS = "emo1devscWJ4UkbM3zxdcW8ELQUQJ69dZTFWwiWwYRLvYb5mmAtkcUr58yU6MskfrjCBUfPKd3Kio9oY6gcKoKZF7PoR7hBu3i"; + static constexpr const char* TESTNET_WALLET_ADDRESS = "eto1devsuxxM2jVmx2166mJoSLssgTzbrYWMRBqhodtzGDPJizpZGQw3RN3gRNXidCH9rdto22uJe76Vr8Rfkdfa9DTqUtzQzi"; + static constexpr const char* STAGENET_WALLET_ADDRESS = "exojDEvSAzPJCS9wCFp5yERNPSsUNyDZRanK35iVxvxaNwdocEWRakZbYA81BhYD9yf7B7XDkBYS2E8WUv6zaqFT2mwhRqnmvt"; + } + } namespace cryptonote diff --git a/src/cryptonote_core/CMakeLists.txt b/src/cryptonote_core/CMakeLists.txt index 1bc2adf31..f77c02421 100644 --- a/src/cryptonote_core/CMakeLists.txt +++ b/src/cryptonote_core/CMakeLists.txt @@ -44,9 +44,9 @@ set(cryptonote_core_private_headers tx_sanity_check.h cryptonote_tx_utils.h) -arqma_private_headers(cryptonote_core +morelo_private_headers(cryptonote_core ${cryptonote_core_private_headers}) -arqma_add_library(cryptonote_core +morelo_add_library(cryptonote_core ${cryptonote_core_sources} ${cryptonote_core_headers} ${cryptonote_core_private_headers}) diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index befc11edb..c53c5e2c5 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2019-2022, The Morelo Network +// Copyright (c) 2019-2024, The Morelo Network // Copyright (c) 2018-2019, The Arqma Network // Copyright (c) 2014-2018, The Monero Project // @@ -30,6 +30,7 @@ // // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers +#include #include #include #include @@ -58,8 +59,8 @@ #include "common/varint.h" #include "common/pruning.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "blockchain" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "blockchain" #define FIND_BLOCKCHAIN_SUPPLEMENT_MAX_SIZE (100*1024*1024) // 100 MB @@ -94,7 +95,8 @@ static const struct { { 1, 0, 0, 1341378000 }, { 15, 1, 0, 1573257000 }, { 16, 235000, 0, 1687982396 }, - { 17, 433100, 0, 1712271889 } + { 17, 433100, 0, 1712271889 }, + { 18, 726100, 0, 1750699889 } }; static const struct { @@ -107,7 +109,8 @@ static const struct { { 1, 0, 0, 1341378000 }, { 15, 1, 0, 1573257000 }, { 16, 2, 0, 1687982396 }, - { 17, 10, 0, 1708459168 } + { 17, 10, 0, 1708459168 }, + { 18, 710000, 0, 1725374651 } }; static const struct { @@ -120,11 +123,13 @@ static const struct { { 1, 0, 0, 1341378000 }, { 15, 1, 0, 1573257000 }, { 16, 235000, 0, 1687982396 }, + { 17, 433100, 0, 1712271889 }, + { 18, 720000, 0, 1725374651 } }; //------------------------------------------------------------------ Blockchain::Blockchain(tx_memory_pool& tx_pool) : m_db(), m_tx_pool(tx_pool), m_hardfork(NULL), m_timestamps_and_difficulties_height(0), m_current_block_cumul_weight_limit(0), m_current_block_cumul_weight_median(0), - m_enforce_dns_checkpoints(false), m_max_prepare_blocks_threads(4), m_db_sync_on_blocks(true), m_db_sync_threshold(1), m_db_sync_mode(db_async), m_db_default_sync(false), + m_enforce_dns_checkpoints(true), m_max_prepare_blocks_threads(4), m_db_sync_on_blocks(true), m_db_sync_threshold(1), m_db_sync_mode(db_async), m_db_default_sync(false), m_fast_sync(true), m_show_time_stats(false), m_sync_counter(0), m_bytes_to_sync(0), m_cancel(false), m_long_term_block_weights_window(CRYPTONOTE_LONG_TERM_BLOCK_WEIGHT_WINDOW_SIZE), m_long_term_effective_median_block_weight(0), @@ -1327,7 +1332,23 @@ if(version >= 16) } std::string governance_wallet_address_str; - if(version >= 17) + if(version >= 18) + { + switch(m_nettype) + { + case STAGENET: + governance_wallet_address_str = std::string(config::devs_new::STAGENET_WALLET_ADDRESS); + break; + case TESTNET: + governance_wallet_address_str = std::string(config::devs_new::TESTNET_WALLET_ADDRESS); + break; + case MAINNET: + governance_wallet_address_str = std::string(config::devs_new::MAINNET_WALLET_ADDRESS); + break; + default: + return false; + } + } else if(version >= 17) { switch(m_nettype) { @@ -2087,7 +2108,7 @@ uint64_t Blockchain::get_num_mature_outputs(uint64_t amount) const { const tx_out_index toi = m_db->get_output_tx_and_index(amount, num_outs - 1); const uint64_t height = m_db->get_tx_block_height(toi.first); - if (height + config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED <= blockchain_height) + if (height + config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED <= blockchain_height) break; --num_outs; } @@ -3047,7 +3068,7 @@ bool Blockchain::check_tx_inputs(transaction &tx, tx_verification_context &tvc, } // min/max tx version based on HF, and we accept v1 txes if having a non mixable - const size_t max_tx_version = config::tx_settings::ARQMA_TX_VERSION; + const size_t max_tx_version = config::tx_settings::MORELO_TX_VERSION; if (tx.version > max_tx_version) { MERROR_VER("transaction version " << (unsigned)tx.version << " is higher than max accepted version " << max_tx_version); @@ -3387,7 +3408,16 @@ uint64_t Blockchain::get_dynamic_base_fee(uint64_t block_reward, size_t median_b return lo; } - const uint64_t fee_base = version >= 13 ? DYNAMIC_FEE_PER_BYTE_BASE_FEE_V13 : version >= 5 ? DYNAMIC_FEE_PER_KB_BASE_FEE_V5 : DYNAMIC_FEE_PER_KB_BASE_FEE; + uint64_t fee_base; + if(version >= 18) { + fee_base = NEW_FEE_V18; + } else if(version >= 13) { + fee_base = DYNAMIC_FEE_PER_BYTE_BASE_FEE_V13; + } else if(version >= 5) { + fee_base = DYNAMIC_FEE_PER_KB_BASE_FEE_V5; + } else { + fee_base = DYNAMIC_FEE_PER_KB_BASE_FEE; + } uint64_t unscaled_fee_base = (fee_base * min_block_weight / median_block_weight); lo = mul128(unscaled_fee_base, block_reward, &hi); @@ -3425,7 +3455,17 @@ bool Blockchain::check_fee(size_t tx_weight, uint64_t fee) const } uint64_t needed_fee; - if (version >= HF_VERSION_PER_BYTE_FEE) + if (version >= 18) + { + const bool use_long_term_median_in_fee = version >= HF_VERSION_LONG_TERM_BLOCK_WEIGHT; + uint64_t fee_per_byte = get_dynamic_base_fee(base_reward, use_long_term_median_in_fee ? m_long_term_effective_median_block_weight : median, version); + MDEBUG("Using " << print_money(fee_per_byte) << "/byte fee"); + needed_fee = tx_weight * fee_per_byte; + // quantize fee up to 8 decimals + const uint64_t mask = get_fee_quantization_mask(); + needed_fee = (needed_fee + mask - 1) / mask * mask; + needed_fee /= 100; + } else if (version >= HF_VERSION_PER_BYTE_FEE) { const bool use_long_term_median_in_fee = version >= HF_VERSION_LONG_TERM_BLOCK_WEIGHT; uint64_t fee_per_byte = get_dynamic_base_fee(base_reward, use_long_term_median_in_fee ? m_long_term_effective_median_block_weight : median, version); @@ -5140,7 +5180,7 @@ void Blockchain::cancel() } #if defined(PER_BLOCK_CHECKPOINT) -static const char expected_block_hashes_hash[] = "df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b81119"; +static const char expected_block_hashes_hash[] = "66a6f3ee62cb1a91d36fa90459d6a3040c96c9c2012aa926832b1c797250cbbe"; void Blockchain::load_compiled_in_block_hashes(const GetCheckpointsCallback& get_checkpoints) { if (get_checkpoints == nullptr || !m_fast_sync) diff --git a/src/cryptonote_core/blockchain.h b/src/cryptonote_core/blockchain.h index be6fd3048..ac3adc89c 100644 --- a/src/cryptonote_core/blockchain.h +++ b/src/cryptonote_core/blockchain.h @@ -1489,7 +1489,7 @@ namespace cryptonote * @brief loads block hashes from compiled-in data set * * A (possibly empty) set of block hashes can be compiled into the - * Arqma daemon binary. This function loads those hashes into + * Morelo daemon binary. This function loads those hashes into * a useful state. * * @param get_checkpoints if set, will be called to get checkpoints data diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 6b7b67b88..9596be3e8 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -58,8 +58,8 @@ using namespace epee; #include "common/notify.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "cn" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "cn" DISABLE_VS_WARNINGS(4355) @@ -788,9 +788,9 @@ namespace cryptonote } bad_semantics_txes_lock.unlock(); - if (tx.version == 0 || tx.version > config::tx_settings::ARQMA_TX_VERSION) + if (tx.version == 0 || tx.version > config::tx_settings::MORELO_TX_VERSION) { - MERROR_VER("Bad tx version (" << tx.version << ", max is " << config::tx_settings::ARQMA_TX_VERSION << ")"); + MERROR_VER("Bad tx version (" << tx.version << ", max is " << config::tx_settings::MORELO_TX_VERSION << ")"); tvc.m_verifivation_failed = true; return false; } @@ -1737,7 +1737,7 @@ namespace cryptonote if (!tools::check_updates(software, buildtag, version, hash)) return false; - if (tools::vercmp(version.c_str(), ARQMA_VERSION) <= 0) + if (tools::vercmp(version.c_str(), MORELO_VERSION) <= 0) { m_update_available = false; return true; diff --git a/src/cryptonote_core/cryptonote_tx_utils.cpp b/src/cryptonote_core/cryptonote_tx_utils.cpp index 69b19057b..bb41d07fe 100644 --- a/src/cryptonote_core/cryptonote_tx_utils.cpp +++ b/src/cryptonote_core/cryptonote_tx_utils.cpp @@ -102,17 +102,12 @@ keypair get_deterministic_keypair_from_height(uint64_t height) uint64_t get_governance_reward(uint64_t height, uint64_t base_reward, uint8_t hf_version, uint64_t hardfork_height) { - if(hf_version >= 17 && height == hardfork_height) - return DEVS_REWARD_V17; + if(height == hardfork_height) { + if(hf_version == 17 || hf_version == 18) + return DEVS_REWARD_V17; + } if(hf_version >= 16) - return base_reward * 10 / 100; - return 0; -} - -uint64_t get_devs_reward(uint64_t height, uint64_t base_reward, uint8_t hf_version) -{ - if(hf_version >= 18) - return base_reward * 5 / 100; + return base_reward * 10 / 100; return 0; } @@ -224,7 +219,23 @@ bool construct_miner_tx(size_t height, size_t median_weight, uint64_t already_ge std::string governance_wallet_address_str; cryptonote::address_parse_info governance_wallet_address; - if(hard_fork_version >= 17) + if(hard_fork_version >= 18) + { + switch(nettype) + { + case STAGENET: + cryptonote::get_account_address_from_str(governance_wallet_address, cryptonote::STAGENET, std::string(config::devs_new::STAGENET_WALLET_ADDRESS)); + break; + case TESTNET: + cryptonote::get_account_address_from_str(governance_wallet_address, cryptonote::TESTNET, std::string(config::devs_new::TESTNET_WALLET_ADDRESS)); + break; + case MAINNET: + cryptonote::get_account_address_from_str(governance_wallet_address, cryptonote::MAINNET, std::string(config::devs_new::MAINNET_WALLET_ADDRESS)); + break; + default: + return false; + } + } else if(hard_fork_version >= 17) { switch(nettype) { @@ -259,7 +270,7 @@ bool construct_miner_tx(size_t height, size_t median_weight, uint64_t already_ge crypto::public_key out_eph_public_key = AUTO_VAL_INIT(out_eph_public_key); - if(!get_deterministic_output_key(governance_wallet_address.address, gov_key, tx.vout.size(), out_eph_public_key)) + if(!get_deterministic_output_key(governance_wallet_address.address, gov_key, 1 /* second output in miner tx */, out_eph_public_key)) { MERROR("Failed to generate deterministic output key for governance wallet output creation"); return false; @@ -273,10 +284,10 @@ bool construct_miner_tx(size_t height, size_t median_weight, uint64_t already_ge out.target = tk; tx.vout.push_back(out); - CHECK_AND_ASSERT_MES(summary_amounts == (block_reward + governance_reward), false, "Failed to construct miner tx on V16 hardfork, summary_amounts = " << summary_amounts << " not equal total block_reward = " << (block_reward + governance_reward)); + CHECK_AND_ASSERT_MES(summary_amounts == (block_reward + governance_reward), false, "Failed to construct miner tx, summary_amounts = " << summary_amounts << " not equal total block_reward = " << (block_reward + governance_reward)); } - tx.version = config::tx_settings::ARQMA_TX_VERSION; + tx.version = config::tx_settings::MORELO_TX_VERSION; //lock tx.unlock_time = height + config::blockchain_settings::ARQMA_BLOCK_UNLOCK_CONFIRMATIONS; @@ -327,7 +338,7 @@ bool construct_miner_tx(size_t height, size_t median_weight, uint64_t already_ge msout->c.clear(); } - tx.version = config::tx_settings::ARQMA_TX_VERSION; + tx.version = config::tx_settings::MORELO_TX_VERSION; tx.unlock_time = unlock_time; tx.extra = extra; diff --git a/src/cryptonote_core/tx_pool.cpp b/src/cryptonote_core/tx_pool.cpp index 5f96b61f3..d4685e6a9 100644 --- a/src/cryptonote_core/tx_pool.cpp +++ b/src/cryptonote_core/tx_pool.cpp @@ -47,8 +47,8 @@ #include "common/perf_timer.h" #include "crypto/hash.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "txpool" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "txpool" DISABLE_VS_WARNINGS(4244 4345 4503) //'boost::foreach_detail_::or_' : decorated name length exceeded, name was truncated diff --git a/src/cryptonote_core/tx_sanity_check.cpp b/src/cryptonote_core/tx_sanity_check.cpp index bf4b40772..d50bf425b 100644 --- a/src/cryptonote_core/tx_sanity_check.cpp +++ b/src/cryptonote_core/tx_sanity_check.cpp @@ -34,8 +34,8 @@ #include "blockchain.h" #include "tx_sanity_check.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "verify" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "verify" namespace cryptonote { diff --git a/src/cryptonote_protocol/CMakeLists.txt b/src/cryptonote_protocol/CMakeLists.txt index da94132b6..c24b3e36a 100644 --- a/src/cryptonote_protocol/CMakeLists.txt +++ b/src/cryptonote_protocol/CMakeLists.txt @@ -40,10 +40,10 @@ set(cryptonote_protocol_private_headers cryptonote_protocol_handler.h cryptonote_protocol_handler_common.h) -arqma_private_headers(cryptonote_protocol +morelo_private_headers(cryptonote_protocol ${cryptonote_protocol_private_headers}) -arqma_add_library(cryptonote_protocol +morelo_add_library(cryptonote_protocol ${cryptonote_protocol_sources} ${cryptonote_protocol_headers} ${cryptonote_protocol_private_headers}) diff --git a/src/cryptonote_protocol/block_queue.cpp b/src/cryptonote_protocol/block_queue.cpp index 2bc8987f0..c6bd61bc7 100644 --- a/src/cryptonote_protocol/block_queue.cpp +++ b/src/cryptonote_protocol/block_queue.cpp @@ -38,8 +38,8 @@ #include "common/pruning.h" #include "block_queue.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "cn.block_queue" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "cn.block_queue" namespace std { static_assert(sizeof(size_t) <= sizeof(boost::uuids::uuid), "boost::uuids::uuid too small"); diff --git a/src/cryptonote_protocol/block_queue.h b/src/cryptonote_protocol/block_queue.h index d8f70a81c..737657d23 100644 --- a/src/cryptonote_protocol/block_queue.h +++ b/src/cryptonote_protocol/block_queue.h @@ -38,8 +38,8 @@ #include #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "cn.block_queue" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "cn.block_queue" namespace cryptonote { diff --git a/src/cryptonote_protocol/cryptonote_protocol_handler-base.cpp b/src/cryptonote_protocol/cryptonote_protocol_handler-base.cpp index 2b9a9e7a7..355c49ef6 100644 --- a/src/cryptonote_protocol/cryptonote_protocol_handler-base.cpp +++ b/src/cryptonote_protocol/cryptonote_protocol_handler-base.cpp @@ -52,8 +52,8 @@ #include "cryptonote_core/cryptonote_core.h" // e.g. for the send_stop_signal() -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.cn" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.cn" // ################################################################################################ // ################################################################################################ diff --git a/src/cryptonote_protocol/cryptonote_protocol_handler.inl b/src/cryptonote_protocol/cryptonote_protocol_handler.inl index e983e829b..ab4ccb283 100644 --- a/src/cryptonote_protocol/cryptonote_protocol_handler.inl +++ b/src/cryptonote_protocol/cryptonote_protocol_handler.inl @@ -36,6 +36,7 @@ // (may contain code and/or modifications by other developers) // developer rfree: this code is caller of our new network code, and is modded; e.g. for rate limiting +#include #include #include #include @@ -46,12 +47,12 @@ #include "common/pruning.h" #include "common/util.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.cn" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.cn" #define MLOG_P2P_MESSAGE(x) MCINFO("net.p2p.msg", context << x) #define MLOG_PEER_STATE(x) \ - MCINFO(ARQMA_DEFAULT_LOG_CATEGORY, context << "[" << epee::string_tools::to_string_hex(context.m_pruning_seed) << "] state: " << x << " in state " << cryptonote::get_protocol_state_string(context.m_state)) + MCINFO(MORELO_DEFAULT_LOG_CATEGORY, context << "[" << epee::string_tools::to_string_hex(context.m_pruning_seed) << "] state: " << x << " in state " << cryptonote::get_protocol_state_string(context.m_state)) #define BLOCK_QUEUE_NSPANS_THRESHOLD 10 // chunks of N blocks #define BLOCK_QUEUE_SIZE_THRESHOLD (209715200) // MB @@ -968,7 +969,7 @@ namespace cryptonote auto time_from_epoh = point.time_since_epoch(); auto sec = duration_cast< seconds >( time_from_epoh ).count();*/ - //epee::net_utils::network_throttle_manager::get_global_throttle_inreq().logger_handle_net("log/dr-arqma/net/req-all.data", sec, get_avg_block_size()); + //epee::net_utils::network_throttle_manager::get_global_throttle_inreq().logger_handle_net("log/dr-morelo/net/req-all.data", sec, get_avg_block_size()); if(context.m_last_response_height > arg.current_blockchain_height) { @@ -2078,7 +2079,7 @@ skip: context.m_last_request_time = boost::posix_time::microsec_clock::universal_time(); MLOG_P2P_MESSAGE("-->>NOTIFY_REQUEST_GET_OBJECTS: blocks.size()=" << req.blocks.size() << "requested blocks count=" << count << " / " << count_limit << " from " << span.first << ", first hash " << req.blocks.front()); - //epee::net_utils::network_throttle_manager::get_global_throttle_inreq().logger_handle_net("log/dr-arqma/net/req-all.data", sec, get_avg_block_size()); + //epee::net_utils::network_throttle_manager::get_global_throttle_inreq().logger_handle_net("log/dr-morelo/net/req-all.data", sec, get_avg_block_size()); MDEBUG("Asking for " << (req.prune ? "pruned" : "full") << " data, start/end " << tools::get_pruning_stripe(span.first, context.m_remote_blockchain_height, CRYPTONOTE_PRUNING_LOG_STRIPES) @@ -2162,7 +2163,7 @@ skip: //std::string blob; // for calculate size of request //epee::serialization::store_t_to_binary(r, blob); - //epee::net_utils::network_throttle_manager::get_global_throttle_inreq().logger_handle_net("log/dr-arqma/net/req-all.data", sec, get_avg_block_size()); + //epee::net_utils::network_throttle_manager::get_global_throttle_inreq().logger_handle_net("log/dr-morelo/net/req-all.data", sec, get_avg_block_size()); //LOG_PRINT_CCONTEXT_L1("r = " << 200); context.m_last_request_time = boost::posix_time::microsec_clock::universal_time(); diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt index 138afa84e..0c84eab08 100644 --- a/src/daemon/CMakeLists.txt +++ b/src/daemon/CMakeLists.txt @@ -62,9 +62,9 @@ set(daemon_private_headers ../p2p/p2p_protocol_defs.h ../p2p/stdafx.h) -arqma_private_headers(daemon +morelo_private_headers(daemon ${daemon_private_headers}) -arqma_add_executable(daemon +morelo_add_executable(daemon ${daemon_sources} ${daemon_headers} ${daemon_private_headers}) diff --git a/src/daemon/command_parser_executor.cpp b/src/daemon/command_parser_executor.cpp index a49a334c8..0f7fb708d 100644 --- a/src/daemon/command_parser_executor.cpp +++ b/src/daemon/command_parser_executor.cpp @@ -31,8 +31,8 @@ #include "version.h" #include "daemon/command_parser_executor.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { @@ -762,7 +762,7 @@ bool t_command_parser_executor::rpc_payments(const std::vector& arg bool t_command_parser_executor::version(const std::vector& args) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << std::endl; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << std::endl; return true; } diff --git a/src/daemon/command_server.cpp b/src/daemon/command_server.cpp index 140bf3164..0b227b78c 100644 --- a/src/daemon/command_server.cpp +++ b/src/daemon/command_server.cpp @@ -33,8 +33,8 @@ #include "string_tools.h" #include "daemon/command_server.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { @@ -364,7 +364,7 @@ bool t_command_server::help(const std::vector& args) std::string t_command_server::get_commands_str() { std::stringstream ss; - ss << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << std::endl; + ss << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << std::endl; ss << "Commands: " << std::endl; std::string usage = m_command_lookup.get_usage(); boost::replace_all(usage, "\n", "\n "); diff --git a/src/daemon/core.h b/src/daemon/core.h index 96e53d61c..fc79023a0 100644 --- a/src/daemon/core.h +++ b/src/daemon/core.h @@ -34,8 +34,8 @@ #include "cryptonote_protocol/cryptonote_protocol_handler.h" #include "misc_log_ex.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp index 95e83e3a0..c57b1982b 100644 --- a/src/daemon/daemon.cpp +++ b/src/daemon/daemon.cpp @@ -53,8 +53,8 @@ using namespace epee; #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { diff --git a/src/daemon/daemon.h b/src/daemon/daemon.h index 011998d69..f07237770 100644 --- a/src/daemon/daemon.h +++ b/src/daemon/daemon.h @@ -30,8 +30,8 @@ #pragma once #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { diff --git a/src/daemon/executor.cpp b/src/daemon/executor.cpp index 3bcb74148..8df58e20a 100644 --- a/src/daemon/executor.cpp +++ b/src/daemon/executor.cpp @@ -36,8 +36,8 @@ #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { @@ -59,7 +59,7 @@ namespace daemonize boost::program_options::variables_map const & vm ) { - LOG_PRINT_L0("Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ") Daemonised"); + LOG_PRINT_L0("Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ") Daemonised"); return t_daemon{vm, public_rpc_port}; } diff --git a/src/daemon/executor.h b/src/daemon/executor.h index b6fda5f97..de48b3086 100644 --- a/src/daemon/executor.h +++ b/src/daemon/executor.h @@ -34,8 +34,8 @@ #include #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { diff --git a/src/daemon/main.cpp b/src/daemon/main.cpp index f26747b76..a1183fe86 100644 --- a/src/daemon/main.cpp +++ b/src/daemon/main.cpp @@ -52,8 +52,8 @@ #include "common/stack_trace.h" #endif // STACK_TRACE -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace po = boost::program_options; namespace bf = boost::filesystem; @@ -175,7 +175,7 @@ int main(int argc, char const * argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << "Usage: " + std::string{argv[0]} + " [options|settings] [daemon_command...]" << std::endl << std::endl; std::cout << visible_options << std::endl; return 0; @@ -184,7 +184,7 @@ int main(int argc, char const * argv[]) // Morelo Version if (command_line::get_arg(vm, command_line::arg_version)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL; return 0; } @@ -270,7 +270,7 @@ int main(int argc, char const * argv[]) tools::set_max_concurrency(command_line::get_arg(vm, daemon_args::arg_max_concurrency)); // logging is now set up - MGINFO("Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")"); + MGINFO("Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")"); // If there are positional options, we're running a daemon command diff --git a/src/daemon/p2p.h b/src/daemon/p2p.h index 00fcf3c9f..081f318a7 100644 --- a/src/daemon/p2p.h +++ b/src/daemon/p2p.h @@ -35,8 +35,8 @@ #include "p2p/net_node.h" #include "daemon/protocol.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { diff --git a/src/daemon/protocol.h b/src/daemon/protocol.h index d12d00f03..5365e6c3d 100644 --- a/src/daemon/protocol.h +++ b/src/daemon/protocol.h @@ -31,8 +31,8 @@ #pragma once -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { diff --git a/src/daemon/rpc.h b/src/daemon/rpc.h index 38568b1e3..27bdd3b03 100644 --- a/src/daemon/rpc.h +++ b/src/daemon/rpc.h @@ -33,8 +33,8 @@ #include "rpc/core_rpc_server.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { diff --git a/src/daemon/rpc_command_executor.cpp b/src/daemon/rpc_command_executor.cpp index c5e739b14..71fc1d7ff 100644 --- a/src/daemon/rpc_command_executor.cpp +++ b/src/daemon/rpc_command_executor.cpp @@ -29,6 +29,7 @@ // // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers +#include #include "string_tools.h" #include "common/password.h" #include "common/scoped_message_writer.h" @@ -42,8 +43,8 @@ #include #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { @@ -1217,8 +1218,8 @@ bool t_rpc_command_executor::stop_daemon() //# ifdef WIN32 // // Stop via service API // // TODO - this is only temporary! Get rid of hard-coded constants! -// bool ok = windows::stop_service("Arqma Daemon"); -// ok = windows::uninstall_service("Arqma Daemon"); +// bool ok = windows::stop_service("Morelo Daemon"); +// ok = windows::uninstall_service("Morelo Daemon"); // //bool ok = windows::stop_service(SERVICE_NAME); // //ok = windows::uninstall_service(SERVICE_NAME); // if (ok) diff --git a/src/daemon/rpc_command_executor.h b/src/daemon/rpc_command_executor.h index 0899f4136..4702de5a1 100644 --- a/src/daemon/rpc_command_executor.h +++ b/src/daemon/rpc_command_executor.h @@ -47,8 +47,8 @@ #include "net/net_fwd.h" #include "rpc/core_rpc_server.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon" namespace daemonize { diff --git a/src/daemonizer/CMakeLists.txt b/src/daemonizer/CMakeLists.txt index 2943042d8..4e868a074 100644 --- a/src/daemonizer/CMakeLists.txt +++ b/src/daemonizer/CMakeLists.txt @@ -54,9 +54,9 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug") add_definitions(-DDEBUG_TMPDIR_LOG=1) endif() -arqma_private_headers(daemonizer +morelo_private_headers(daemonizer ${daemonizer_private_headers}) -arqma_add_library(daemonizer +morelo_add_library(daemonizer ${daemonizer_sources} ${daemonizer_headers} ${daemonizer_private_headers}) diff --git a/src/daemonizer/posix_daemonizer.inl b/src/daemonizer/posix_daemonizer.inl index 64b018e80..f6bdf88b3 100644 --- a/src/daemonizer/posix_daemonizer.inl +++ b/src/daemonizer/posix_daemonizer.inl @@ -101,7 +101,7 @@ namespace daemonizer } else { - //LOG_PRINT_L0("Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL); + //LOG_PRINT_L0("Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL); return executor.run_interactive(vm); } } diff --git a/src/daemonizer/windows_daemonizer.inl b/src/daemonizer/windows_daemonizer.inl index 8544578f9..a59397287 100644 --- a/src/daemonizer/windows_daemonizer.inl +++ b/src/daemonizer/windows_daemonizer.inl @@ -177,7 +177,7 @@ namespace daemonizer } else // interactive { - //LOG_PRINT_L0("Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL); + //LOG_PRINT_L0("Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL); return executor.run_interactive(vm); } diff --git a/src/debug_utilities/CMakeLists.txt b/src/debug_utilities/CMakeLists.txt index 428aff95d..a180603a9 100644 --- a/src/debug_utilities/CMakeLists.txt +++ b/src/debug_utilities/CMakeLists.txt @@ -30,7 +30,7 @@ set(cn_deserialize_sources cn_deserialize.cpp) -arqma_add_executable(cn_deserialize +morelo_add_executable(cn_deserialize ${cn_deserialize_sources} ${cn_deserialize_private_headers}) @@ -51,7 +51,7 @@ set_property(TARGET cn_deserialize set(object_sizes_sources object_sizes.cpp) -arqma_add_executable(object_sizes +morelo_add_executable(object_sizes ${object_sizes_sources} ${object_sizes_private_headers}) diff --git a/src/debug_utilities/cn_deserialize.cpp b/src/debug_utilities/cn_deserialize.cpp index 9072bde28..fbfb88545 100644 --- a/src/debug_utilities/cn_deserialize.cpp +++ b/src/debug_utilities/cn_deserialize.cpp @@ -34,8 +34,8 @@ #include "common/command_line.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "debugtools.deserialize" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "debugtools.deserialize" namespace po = boost::program_options; using namespace epee; @@ -103,7 +103,7 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 1; } diff --git a/src/debug_utilities/object_sizes.cpp b/src/debug_utilities/object_sizes.cpp index 558309070..c36ca0788 100644 --- a/src/debug_utilities/object_sizes.cpp +++ b/src/debug_utilities/object_sizes.cpp @@ -45,8 +45,8 @@ #include "wallet/api/unsigned_transaction.h" #include "wallet/api/pending_transaction.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "debugtools.objectsizes" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "debugtools.objectsizes" class size_logger { diff --git a/src/device/CMakeLists.txt b/src/device/CMakeLists.txt index dbd5b7137..9ba1e4f36 100644 --- a/src/device/CMakeLists.txt +++ b/src/device/CMakeLists.txt @@ -54,10 +54,10 @@ endif() set(device_private_headers) -arqma_private_headers(device +morelo_private_headers(device ${device_private_headers}) -arqma_add_library(device +morelo_add_library(device ${device_sources} ${device_headers} ${device_private_headers}) diff --git a/src/device/device_io_hid.cpp b/src/device/device_io_hid.cpp index 991589491..13e140cb5 100644 --- a/src/device/device_io_hid.cpp +++ b/src/device/device_io_hid.cpp @@ -7,8 +7,8 @@ namespace hw { namespace io { - #undef ARQMA_DEFAULT_LOG_CATEGORY - #define ARQMA_DEFAULT_LOG_CATEGORY "device.io" + #undef MORELO_DEFAULT_LOG_CATEGORY + #define MORELO_DEFAULT_LOG_CATEGORY "device.io" #define ASSERT_X(exp,msg) CHECK_AND_ASSERT_THROW_MES(exp, msg); diff --git a/src/device/device_ledger.cpp b/src/device/device_ledger.cpp index a7a961d4d..f6bba8a0b 100644 --- a/src/device/device_ledger.cpp +++ b/src/device/device_ledger.cpp @@ -43,8 +43,8 @@ namespace hw { #ifdef WITH_DEVICE_LEDGER - #undef ARQMA_DEFAULT_LOG_CATEGORY - #define ARQMA_DEFAULT_LOG_CATEGORY "device.ledger" + #undef MORELO_DEFAULT_LOG_CATEGORY + #define MORELO_DEFAULT_LOG_CATEGORY "device.ledger" /* ===================================================================== */ /* === Debug ==== */ diff --git a/src/device/log.cpp b/src/device/log.cpp index b7d497aaa..af7558496 100644 --- a/src/device/log.cpp +++ b/src/device/log.cpp @@ -33,8 +33,8 @@ namespace hw { - #undef ARQMA_DEFAULT_LOG_CATEGORY - #define ARQMA_DEFAULT_LOG_CATEGORY "device" + #undef MORELO_DEFAULT_LOG_CATEGORY + #define MORELO_DEFAULT_LOG_CATEGORY "device" void buffer_to_str(char *to_buff, size_t to_len, const char *buff, size_t len) { CHECK_AND_ASSERT_THROW_MES(to_len > (len*2), "destination buffer too short. At least" << (len*2+1) << " bytes required"); @@ -56,8 +56,8 @@ void log_message(const std::string &msg, const std::string &info ) { #ifdef WITH_DEVICE_LEDGER namespace ledger { - #undef ARQMA_DEFAULT_LOG_CATEGORY - #define ARQMA_DEFAULT_LOG_CATEGORY "device.ledger" + #undef MORELO_DEFAULT_LOG_CATEGORY + #define MORELO_DEFAULT_LOG_CATEGORY "device.ledger" #ifdef DEBUG_HWDEVICE diff --git a/src/gen_multisig/CMakeLists.txt b/src/gen_multisig/CMakeLists.txt index 2fa1e2e3d..ed8524036 100644 --- a/src/gen_multisig/CMakeLists.txt +++ b/src/gen_multisig/CMakeLists.txt @@ -30,8 +30,8 @@ set(gen_multisig_sources gen_multisig.cpp) -arqma_add_executable(gen_multisig - ${gen_multisig_sources}) +morelo_add_executable(gen_multisig + ${morelo_}) target_link_libraries(gen_multisig PRIVATE wallet diff --git a/src/gen_multisig/gen_multisig.cpp b/src/gen_multisig/gen_multisig.cpp index 6e638a7d5..4dd441a71 100644 --- a/src/gen_multisig/gen_multisig.cpp +++ b/src/gen_multisig/gen_multisig.cpp @@ -54,8 +54,8 @@ using namespace cryptonote; using boost::lexical_cast; namespace po = boost::program_options; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.gen_multisig" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.gen_multisig" namespace genms { diff --git a/src/gen_ssl_cert/CMakeLists.txt b/src/gen_ssl_cert/CMakeLists.txt index 4d058d997..20b42c4e7 100644 --- a/src/gen_ssl_cert/CMakeLists.txt +++ b/src/gen_ssl_cert/CMakeLists.txt @@ -30,7 +30,7 @@ set(gen_ssl_cert_sources gen_ssl_cert.cpp) -arqma_add_executable(gen_ssl_cert +morelo_add_executable(gen_ssl_cert ${gen_ssl_cert_sources}) target_link_libraries(gen_ssl_cert PRIVATE diff --git a/src/gen_ssl_cert/gen_ssl_cert.cpp b/src/gen_ssl_cert/gen_ssl_cert.cpp index 1ed816e31..9205f12b0 100644 --- a/src/gen_ssl_cert/gen_ssl_cert.cpp +++ b/src/gen_ssl_cert/gen_ssl_cert.cpp @@ -45,8 +45,8 @@ namespace po = boost::program_options; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "gen_ssl_cert" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "gen_ssl_cert" namespace gencert { @@ -122,13 +122,13 @@ int main(int argc, char* argv[]) if (command_line::get_arg(vm, command_line::arg_help)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL << ENDL; std::cout << desc_options << std::endl; return 0; } if (command_line::get_arg(vm, command_line::arg_version)) { - std::cout << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL; + std::cout << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL; return 0; } diff --git a/src/lmdb/CMakeLists.txt b/src/lmdb/CMakeLists.txt index d0228e22d..dae62fc42 100644 --- a/src/lmdb/CMakeLists.txt +++ b/src/lmdb/CMakeLists.txt @@ -42,7 +42,7 @@ set(lmdb_headers util.h value_stream.h) -arqma_add_library(lmdb_lib +morelo_add_library(lmdb_lib ${lmdb_sources} ${lmdb_headers}) diff --git a/src/mnemonics/CMakeLists.txt b/src/mnemonics/CMakeLists.txt index 1b53c8090..f26c88e9b 100644 --- a/src/mnemonics/CMakeLists.txt +++ b/src/mnemonics/CMakeLists.txt @@ -50,9 +50,9 @@ set(mnemonics_private_headers esperanto.h lojban.h) -arqma_private_headers(mnemonics +morelo_private_headers(mnemonics ${mnemonics_private_headers}) -arqma_add_library(mnemonics +morelo_add_library(mnemonics ${mnemonics_sources} ${mnemonics_headers} ${mnemonics_private_headers}) diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 4dfebb666..87b8602cc 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -63,8 +63,8 @@ #include "language_base.h" #include "singleton.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "mnemonic" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "mnemonic" namespace crypto { diff --git a/src/multisig/CMakeLists.txt b/src/multisig/CMakeLists.txt index 0f5372dad..cdb3890c4 100644 --- a/src/multisig/CMakeLists.txt +++ b/src/multisig/CMakeLists.txt @@ -35,10 +35,10 @@ set(multisig_headers) set(multisig_private_headers multisig.h) -arqma_private_headers(multisig +morelo_private_headers(multisig ${multisig_private_headers}) -arqma_add_library(multisig +morelo_add_library(multisig ${multisig_sources} ${multisig_headers} ${multisig_private_headers}) diff --git a/src/multisig/multisig.cpp b/src/multisig/multisig.cpp index 454801bed..d59d4ecc8 100644 --- a/src/multisig/multisig.cpp +++ b/src/multisig/multisig.cpp @@ -35,8 +35,8 @@ #include "cryptonote_basic/cryptonote_format_utils.h" #include "multisig.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "multisig" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "multisig" using namespace std; diff --git a/src/net/CMakeLists.txt b/src/net/CMakeLists.txt index dd8555fa3..cacc49e0e 100644 --- a/src/net/CMakeLists.txt +++ b/src/net/CMakeLists.txt @@ -43,7 +43,7 @@ set(net_headers socks_connect.h tor_address.h) -arqma_add_library(net +morelo_add_library(net ${net_sources} ${net_headers}) diff --git a/src/p2p/CMakeLists.txt b/src/p2p/CMakeLists.txt index 6a84d71f5..7a50dd079 100644 --- a/src/p2p/CMakeLists.txt +++ b/src/p2p/CMakeLists.txt @@ -42,10 +42,10 @@ set(p2p_private_headers p2p_protocol_defs.h stdafx.h) -arqma_private_headers(p2p +morelo_private_headers(p2p ${p2p_private_headers}) -arqma_add_library(p2p +morelo_add_library(p2p ${p2p_sources} ${p2p_headers} ${p2p_private_headers}) diff --git a/src/p2p/net_node.h b/src/p2p/net_node.h index 0dbb60cc6..9b061e8bb 100644 --- a/src/p2p/net_node.h +++ b/src/p2p/net_node.h @@ -268,11 +268,9 @@ namespace nodetool virtual void clear_used_stripe_peers(); private: - const std::vector m_seed_nodes_list = - { /*"seeds.arqma.com", "seeds.myarqma.com", "seeds.supportarqma.com", "seeds.supportarqma.eu"*/ }; - // TODO ASAP. Will try to do that yet before or just after HF11 Fork - // One issue has to be sorted. seeder script os adding IN A to ZONE while - // should not do so. SmajeNz0 got that script btw. + const std::vector m_seed_nodes_list = { + "seeds.morelo.cc", "seeds.morelonetwork.pl", "seeds.morelo.vip" + }; bool islimitup=false; bool islimitdown=false; diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl index 2203a18b1..897013d1a 100644 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl @@ -1,3 +1,4 @@ +// Copyright (c) 2019-2024, The Morelo Network // Copyright (c) 2018-2020, The Arqma Network // Copyright (c) 2014-2018, The Monero Project // @@ -65,8 +66,8 @@ #include #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "net.p2p" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "net.p2p" #define NET_MAKE_IP(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) @@ -464,25 +465,29 @@ namespace nodetool std::set full_addrs; if (nettype == cryptonote::TESTNET) { - full_addrs.insert("188.68.231.40:38311"); - full_addrs.insert("80.60.19.222:38311"); + full_addrs.insert("pool.morelo.cc"); // DE3, IPv4 + IPv6 + full_addrs.insert("0.seed.morelo.cc"); // DE2, IPv4 + IPv6 + full_addrs.insert("1.seed.morelo.cc"); // DE1, IPv4 + IPv6 } else if (nettype == cryptonote::STAGENET) { - full_addrs.insert("188.68.231.40:38321"); - full_addrs.insert("80.60.19.222:38321"); - } - else if (nettype == cryptonote::FAKECHAIN) - { - } - else - { - full_addrs.insert("104.202.163.72:38301"); //DocJray USA - full_addrs.insert("188.68.247.50:38301"); //MrKris7100 PL - full_addrs.insert("130.162.249.49:38301"); //MrKris7100 Oracle 1 - full_addrs.insert("193.122.56.95:38301"); //MrKris7100 Oracle 2 - full_addrs.insert("cryptosyphon.sytes.net:38301"); //CryptoSyphon HU - full_addrs.insert("morelo.mooo.com:38301"); //bigcundy + full_addrs.insert("pool.morelo.cc"); // DE3, IPv4 + IPv6 + full_addrs.insert("0.seed.morelo.cc"); // DE2, IPv4 + IPv6 + full_addrs.insert("1.seed.morelo.cc"); // DE1, IPv4 + IPv6 + } + else if (nettype == cryptonote::MAINNET) + { + // Primary + full_addrs.insert("pool.morelo.cc"); // DE3, IPv4 + IPv6 + full_addrs.insert("0.seed.morelo.cc"); // DE2, IPv4 + IPv6 + full_addrs.insert("1.seed.morelo.cc"); // DE1, IPv4 + IPv6 + // Secondary + full_addrs.insert("20.seed.morelo.cc"); // PL1, IPv4 + IPv6 + full_addrs.insert("21.seed.morelo.cc"); // PL2, IPv4 only + full_addrs.insert("22.seed.morelo.cc"); // PL3, IPv6 only (TODO support) + // Community + full_addrs.insert("98.seed.morelo.cc"); // CryptoSyphon, HU, IPv4 only + full_addrs.insert("99.seed.morelo.cc"); // bigcundy, UK, IPv4 only } return full_addrs; } diff --git a/src/ringct/CMakeLists.txt b/src/ringct/CMakeLists.txt index c763c20f8..4b3f7d447 100644 --- a/src/ringct/CMakeLists.txt +++ b/src/ringct/CMakeLists.txt @@ -41,9 +41,9 @@ set(ringct_basic_private_headers multiexp.h bulletproofs.h) -arqma_private_headers(ringct_basic +morelo_private_headers(ringct_basic ${crypto_private_headers}) -arqma_add_library(ringct_basic +morelo_add_library(ringct_basic ${ringct_basic_sources} ${ringct_basic_private_headers}) target_link_libraries(ringct_basic @@ -62,9 +62,9 @@ set(ringct_headers) set(ringct_private_headers rctSigs.h) -arqma_private_headers(ringct +morelo_private_headers(ringct ${crypto_private_headers}) -arqma_add_library(ringct +morelo_add_library(ringct ${ringct_sources} ${ringct_headers} ${ringct_private_headers}) diff --git a/src/ringct/bp_legacy.cc b/src/ringct/bp_legacy.cc index 3fef9d0c3..cb0948b00 100644 --- a/src/ringct/bp_legacy.cc +++ b/src/ringct/bp_legacy.cc @@ -43,8 +43,8 @@ extern "C" #include "multiexp.h" #include "bulletproofs.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bulletproofs_legacy" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bulletproofs_legacy" //#define DEBUG_BP diff --git a/src/ringct/bulletproofs.cc b/src/ringct/bulletproofs.cc index 8d7c224c7..0d43914da 100644 --- a/src/ringct/bulletproofs.cc +++ b/src/ringct/bulletproofs.cc @@ -44,8 +44,8 @@ extern "C" #include "multiexp.h" #include "bulletproofs.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "bulletproofs" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "bulletproofs" //#define DEBUG_BP diff --git a/src/ringct/multiexp.cc b/src/ringct/multiexp.cc index b0b869ec7..05be3ea3e 100644 --- a/src/ringct/multiexp.cc +++ b/src/ringct/multiexp.cc @@ -39,8 +39,8 @@ extern "C" #include "rctOps.h" #include "multiexp.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "multiexp" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "multiexp" //#define MULTIEXP_PERF(x) x #define MULTIEXP_PERF(x) diff --git a/src/ringct/rctOps.cpp b/src/ringct/rctOps.cpp index f6cdc2cd8..165db8b40 100644 --- a/src/ringct/rctOps.cpp +++ b/src/ringct/rctOps.cpp @@ -36,8 +36,8 @@ using namespace crypto; using namespace std; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "ringct" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "ringct" #define CHECK_AND_ASSERT_THROW_MES_L1(expr, message) {if(!(expr)) {MWARNING(message); throw std::runtime_error(message);}} diff --git a/src/ringct/rctSigs.cpp b/src/ringct/rctSigs.cpp index ee890cd1f..3390c6be1 100644 --- a/src/ringct/rctSigs.cpp +++ b/src/ringct/rctSigs.cpp @@ -40,8 +40,8 @@ using namespace crypto; using namespace std; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "ringct" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "ringct" #define CHECK_AND_ASSERT_MES_L1(expr, ret, message) {if(!(expr)) {MCERROR("verify", message); return ret;}} diff --git a/src/ringct/rctTypes.cpp b/src/ringct/rctTypes.cpp index f098061ef..2f988e21f 100644 --- a/src/ringct/rctTypes.cpp +++ b/src/ringct/rctTypes.cpp @@ -29,14 +29,15 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include #include "misc_log_ex.h" #include "cryptonote_config.h" #include "rctTypes.h" using namespace crypto; using namespace std; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "ringct" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "ringct" namespace rct { diff --git a/src/rpc/CMakeLists.txt b/src/rpc/CMakeLists.txt index a4ea832af..b62d955f1 100644 --- a/src/rpc/CMakeLists.txt +++ b/src/rpc/CMakeLists.txt @@ -72,29 +72,29 @@ set(daemon_rpc_server_private_headers daemon_handler.h) -arqma_private_headers(rpc +morelo_private_headers(rpc ${rpc_private_headers}) -arqma_private_headers(daemon_rpc_server +morelo_private_headers(daemon_rpc_server ${daemon_rpc_server_private_headers}) -arqma_add_library(rpc_base +morelo_add_library(rpc_base ${rpc_base_sources} ${rpc_base_headers} ${rpc_base_private_headers}) -arqma_add_library(rpc +morelo_add_library(rpc ${rpc_sources} ${rpc_headers} ${rpc_private_headers}) -arqma_add_library(daemon_messages +morelo_add_library(daemon_messages ${daemon_messages_sources} ${daemon_messages_headers} ${daemon_messages_private_headers}) -arqma_add_library(daemon_rpc_server +morelo_add_library(daemon_rpc_server ${daemon_rpc_server_sources} ${daemon_rpc_server_headers} ${daemon_rpc_server_private_headers}) diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index 861077a57..da799a03c 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -29,6 +29,7 @@ // // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers +#include #include #include "include_base_utils.h" #include "string_tools.h" @@ -57,8 +58,8 @@ using namespace epee; #include "p2p/net_node.h" #include "version.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon.rpc" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon.rpc" #define MAX_RESTRICTED_FAKE_OUTS_COUNT 40 #define MAX_RESTRICTED_GLOBAL_FAKE_OUTS_COUNT 5000 @@ -2295,7 +2296,7 @@ namespace cryptonote return r; res.version = CORE_RPC_VERSION; - res.release = ARQMA_VERSION_IS_RELEASE; + res.release = MORELO_VERSION_IS_RELEASE; res.status = CORE_RPC_STATUS_OK; return true; } @@ -2475,7 +2476,7 @@ namespace cryptonote res.status = "Error checking for updates"; return true; } - if (tools::vercmp(version.c_str(), ARQMA_VERSION) <= 0) + if (tools::vercmp(version.c_str(), MORELO_VERSION) <= 0) { res.update = false; res.status = CORE_RPC_STATUS_OK; diff --git a/src/rpc/daemon_handler.cpp b/src/rpc/daemon_handler.cpp index 02c20239a..416d09a1b 100644 --- a/src/rpc/daemon_handler.cpp +++ b/src/rpc/daemon_handler.cpp @@ -35,6 +35,7 @@ #include "cryptonote_basic/cryptonote_format_utils.h" #include "cryptonote_basic/blobdatatype.h" #include "ringct/rctSigs.h" +#include namespace cryptonote { diff --git a/src/rpc/rpc_payment.cpp b/src/rpc/rpc_payment.cpp index 8bbdff299..f47de1265 100644 --- a/src/rpc/rpc_payment.cpp +++ b/src/rpc/rpc_payment.cpp @@ -27,6 +27,7 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include #include #include #include "cryptonote_config.h" @@ -43,8 +44,8 @@ #include "core_rpc_server_error_codes.h" #include "rpc_payment.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon.rpc.payment" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon.rpc.payment" #define STALE_THRESHOLD 15 /* seconds */ diff --git a/src/rpc_sig/CMakeLists.txt b/src/rpc_sig/CMakeLists.txt index cac4cee8a..9d0d30971 100644 --- a/src/rpc_sig/CMakeLists.txt +++ b/src/rpc_sig/CMakeLists.txt @@ -34,9 +34,9 @@ set(rpc_sig_headers set(rpc_sig_private_headers) -arqma_private_headers(rpc_sig +morelo_private_headers(rpc_sig ${rpc_sig_private_headers}) -arqma_add_library(rpc_sig +morelo_add_library(rpc_sig ${rpc_sig_sources} ${rpc_sig_headers} ${rpc_sig_private_headers}) diff --git a/src/rpc_sig/rpc_payment_signature.cpp b/src/rpc_sig/rpc_payment_signature.cpp index a8e5bd338..4b3b11365 100644 --- a/src/rpc_sig/rpc_payment_signature.cpp +++ b/src/rpc_sig/rpc_payment_signature.cpp @@ -34,8 +34,8 @@ #include "string_tools.h" #include "rpc_payment_signature.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "daemon.rpc.payment" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "daemon.rpc.payment" #define TIMESTAMP_LEEWAY (60 * 1000000) /* 60 seconds, in microseconds */ diff --git a/src/serialization/CMakeLists.txt b/src/serialization/CMakeLists.txt index c79afd71b..211633410 100644 --- a/src/serialization/CMakeLists.txt +++ b/src/serialization/CMakeLists.txt @@ -35,9 +35,9 @@ set(serialization_headers) set(serialization_private_headers json_object.h) -arqma_private_headers(serialization +morelo_private_headers(serialization ${serialization_private_headers}) -arqma_add_library(serialization +morelo_add_library(serialization ${serialization_sources} ${serialization_headers} ${serialization_private_headers}) diff --git a/src/simplewallet/CMakeLists.txt b/src/simplewallet/CMakeLists.txt index ddb94da3b..b95edcf2b 100644 --- a/src/simplewallet/CMakeLists.txt +++ b/src/simplewallet/CMakeLists.txt @@ -35,9 +35,9 @@ set(simplewallet_headers) set(simplewallet_private_headers simplewallet.h) -arqma_private_headers(simplewallet +morelo_private_headers(simplewallet ${simplewallet_private_headers}) -arqma_add_executable(simplewallet +morelo_add_executable(simplewallet ${simplewallet_sources} ${simplewallet_headers} ${simplewallet_private_headers}) diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index 071a2ca8c..b03cfe8a0 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -39,6 +39,7 @@ #define BOOST_BIND_GLOBAL_PLACEHOLDERS 1 // It is just for now :) #include +#include #include #include #include @@ -91,8 +92,8 @@ using boost::lexical_cast; namespace po = boost::program_options; typedef cryptonote::simple_wallet sw; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.simplewallet" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.simplewallet" #define EXTENDED_LOGS_FILE "wallet_details.log" @@ -2050,7 +2051,7 @@ bool simple_wallet::welcome(const std::vector &args) bool simple_wallet::version(const std::vector &args) { - message_writer() << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")"; + message_writer() << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")"; return true; } @@ -2750,7 +2751,7 @@ simple_wallet::simple_wallet() m_cmd_binder.set_handler("donate", boost::bind(&simple_wallet::donate, this, _1), tr(USAGE_DONATE), - tr("Donate to the development team (donations.arqma.com).")); + tr("Donate to the development team (donate.morelo.cc).")); m_cmd_binder.set_handler("sign_transfer", boost::bind(&simple_wallet::sign_transfer, this, _1), tr(USAGE_SIGN_TRANSFER), @@ -6516,11 +6517,11 @@ bool simple_wallet::donate(const std::vector &args_) amount_str = local_args.back(); local_args.pop_back(); // push back address, amount, payment id - local_args.push_back(ARQMA_DONATION_ADDR); + local_args.push_back(MORELO_DONATION_ADDR); local_args.push_back(amount_str); if (!payment_id_str.empty()) local_args.push_back(payment_id_str); - message_writer() << (boost::format(tr("Donating %s %s to The Morelo Network (donations.arqma.com or %s).")) % amount_str % cryptonote::get_unit(cryptonote::get_default_decimal_point()) % ARQMA_DONATION_ADDR).str(); + message_writer() << (boost::format(tr("Donating %s %s to The Morelo Network (donate.morelo.cc or %s).")) % amount_str % cryptonote::get_unit(cryptonote::get_default_decimal_point()) % MORELO_DONATION_ADDR).str(); transfer(local_args); return true; } @@ -7408,7 +7409,7 @@ bool simple_wallet::get_transfers(std::vector& local_args, std::vec const uint64_t unlock_time = pd.m_unlock_time; if(pd.m_unlock_time < CRYPTONOTE_MAX_BLOCK_NUMBER) { - uint64_t bh = std::max(pd.m_unlock_time, pd.m_block_height + config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED); + uint64_t bh = std::max(pd.m_unlock_time, pd.m_block_height + config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED); if(bh >= last_block_height) locked_msg = std::to_string(bh - last_block_height) + " blks"; } @@ -8895,7 +8896,7 @@ bool simple_wallet::show_transfer(const std::vector &args) success_msg_writer() << "Payment ID: " << payment_id; if (pd.m_unlock_time < CRYPTONOTE_MAX_BLOCK_NUMBER) { - uint64_t bh = std::max(pd.m_unlock_time, pd.m_block_height + config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED); + uint64_t bh = std::max(pd.m_unlock_time, pd.m_block_height + config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED); uint64_t last_block_reward = m_wallet->get_last_block_reward(); uint64_t suggested_threshold = last_block_reward ? (pd.m_amount + last_block_reward - 1) / last_block_reward : 0; if (bh >= last_block_height) diff --git a/src/simplewallet/simplewallet.h b/src/simplewallet/simplewallet.h index e96b19190..938996fe1 100644 --- a/src/simplewallet/simplewallet.h +++ b/src/simplewallet/simplewallet.h @@ -37,6 +37,7 @@ */ #pragma once +#include #include #include @@ -51,10 +52,10 @@ #include "common/password.h" #include "crypto/crypto.h" // for definition of crypto::secret_key -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.simplewallet" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.simplewallet" -constexpr const char ARQMA_DONATION_ADDR[] = "ar46iCiw5uB7SjnYhL5EJLP1LpqGkZbCcWhWgdbLL1c4DicNuYi3ZeRJPi8FFmEhYnagbxRyaQKyTYBA95JqmPcr1XZytK9o3"; +constexpr const char MORELO_DONATION_ADDR[] = "emo1doNaTecChRLZ2EPURM3pm4k6Fcs9SgoaxNJ6cjouje51tMJTdGKgHknr33HvpTFNeaVCpyqi5es4j9UsdftR4YHw2hpEa9"; /*! * \namespace cryptonote diff --git a/src/version.cpp.in b/src/version.cpp.in index d3cba79e8..3c4d3e36d 100644 --- a/src/version.cpp.in +++ b/src/version.cpp.in @@ -1,13 +1,13 @@ -#define DEF_ARQMA_VERSION_TAG "@VERSIONTAG@" -#define DEF_ARQMA_VERSION "0.1.0.5" -#define DEF_ARQMA_RELEASE_NAME "HalvingARQ" -#define DEF_ARQMA_VERSION_FULL DEF_ARQMA_VERSION "-" DEF_ARQMA_VERSION_TAG -#define DEF_ARQMA_VERSION_IS_RELEASE @VERSION_IS_RELEASE@ +#define DEF_MORELO_VERSION_TAG "@VERSIONTAG@" +#define DEF_MORELO_VERSION "0.1.1.0" +#define DEF_MORELO_RELEASE_NAME "Harglow's Comeback" +#define DEF_MORELO_VERSION_FULL DEF_MORELO_VERSION "-" DEF_MORELO_VERSION_TAG +#define DEF_MORELO_VERSION_IS_RELEASE @VERSION_IS_RELEASE@ #include "version.h" -const char* const ARQMA_VERSION_TAG = DEF_ARQMA_VERSION_TAG; -const char* const ARQMA_VERSION = DEF_ARQMA_VERSION; -const char* const ARQMA_RELEASE_NAME = DEF_ARQMA_RELEASE_NAME; -const char* const ARQMA_VERSION_FULL = DEF_ARQMA_VERSION_FULL; -const bool ARQMA_VERSION_IS_RELEASE = DEF_ARQMA_VERSION_IS_RELEASE; +const char* const MORELO_VERSION_TAG = DEF_MORELO_VERSION_TAG; +const char* const MORELO_VERSION = DEF_MORELO_VERSION; +const char* const MORELO_RELEASE_NAME = DEF_MORELO_RELEASE_NAME; +const char* const MORELO_VERSION_FULL = DEF_MORELO_VERSION_FULL; +const bool MORELO_VERSION_IS_RELEASE = DEF_MORELO_VERSION_IS_RELEASE; diff --git a/src/version.h b/src/version.h index e5aeb3b1b..167d2bcfc 100644 --- a/src/version.h +++ b/src/version.h @@ -1,7 +1,7 @@ #pragma once -extern const char* const ARQMA_VERSION_TAG; -extern const char* const ARQMA_VERSION; -extern const char* const ARQMA_RELEASE_NAME; -extern const char* const ARQMA_VERSION_FULL; -extern const bool ARQMA_VERSION_IS_RELEASE; \ No newline at end of file +extern const char* const MORELO_VERSION_TAG; +extern const char* const MORELO_VERSION; +extern const char* const MORELO_RELEASE_NAME; +extern const char* const MORELO_VERSION_FULL; +extern const bool MORELO_VERSION_IS_RELEASE; \ No newline at end of file diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt index b243489cb..01ac50dd5 100644 --- a/src/wallet/CMakeLists.txt +++ b/src/wallet/CMakeLists.txt @@ -47,9 +47,9 @@ set(wallet_private_headers node_rpc_proxy.h wallet_rpc_helpers.h) -arqma_private_headers(wallet +morelo_private_headers(wallet ${wallet_private_headers}) -arqma_add_library(wallet +morelo_add_library(wallet ${wallet_sources} ${wallet_private_headers}) target_link_libraries(wallet @@ -80,9 +80,9 @@ if(NOT IOS) set(wallet_rpc_private_headers wallet_rpc_server.h) - arqma_private_headers(wallet_rpc_server + morelo_private_headers(wallet_rpc_server ${wallet_rpc_private_headers}) - arqma_add_executable(wallet_rpc_server + morelo_add_executable(wallet_rpc_server ${wallet_rpc_sources} ${wallet_rpc_headers} ${wallet_rpc_private_headers}) diff --git a/src/wallet/api/CMakeLists.txt b/src/wallet/api/CMakeLists.txt index 1a830b9ee..9eea6a7e4 100644 --- a/src/wallet/api/CMakeLists.txt +++ b/src/wallet/api/CMakeLists.txt @@ -56,9 +56,9 @@ set(wallet_api_private_headers subaddress_account.h unsigned_transaction.h) -arqma_private_headers(wallet_api +morelo_private_headers(wallet_api ${wallet_api_private_headers}) -arqma_add_library(wallet_api +morelo_add_library(wallet_api ${wallet_api_sources} ${wallet_api_headers} ${wallet_api_private_headers}) diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp index abaa7575b..3220e9f74 100644 --- a/src/wallet/api/wallet.cpp +++ b/src/wallet/api/wallet.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #ifdef WIN32 #include @@ -54,8 +55,8 @@ using namespace std; using namespace cryptonote; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "WalletAPI" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "WalletAPI" namespace Monero { @@ -357,19 +358,19 @@ void Wallet::init(const char *argv0, const char *default_log_base_name, const st } void Wallet::debug(const std::string &category, const std::string &str) { - MCDEBUG(category.empty() ? ARQMA_DEFAULT_LOG_CATEGORY : category.c_str(), str); + MCDEBUG(category.empty() ? MORELO_DEFAULT_LOG_CATEGORY : category.c_str(), str); } void Wallet::info(const std::string &category, const std::string &str) { - MCINFO(category.empty() ? ARQMA_DEFAULT_LOG_CATEGORY : category.c_str(), str); + MCINFO(category.empty() ? MORELO_DEFAULT_LOG_CATEGORY : category.c_str(), str); } void Wallet::warning(const std::string &category, const std::string &str) { - MCWARNING(category.empty() ? ARQMA_DEFAULT_LOG_CATEGORY : category.c_str(), str); + MCWARNING(category.empty() ? MORELO_DEFAULT_LOG_CATEGORY : category.c_str(), str); } void Wallet::error(const std::string &category, const std::string &str) { - MCERROR(category.empty() ? ARQMA_DEFAULT_LOG_CATEGORY : category.c_str(), str); + MCERROR(category.empty() ? MORELO_DEFAULT_LOG_CATEGORY : category.c_str(), str); } ///////////////////////// WalletImpl implementation //////////////////////// diff --git a/src/wallet/api/wallet_manager.cpp b/src/wallet/api/wallet_manager.cpp index 7c8ad1489..0a51d4b45 100644 --- a/src/wallet/api/wallet_manager.cpp +++ b/src/wallet/api/wallet_manager.cpp @@ -41,8 +41,8 @@ #include #include -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "WalletAPI" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "WalletAPI" namespace epee { unsigned int g_test_dbg_lock_sleep = 0; @@ -360,7 +360,7 @@ std::tuple WalletManag if (!tools::check_updates(software, buildtag, version, hash)) return std::make_tuple(false, "", "", "", ""); - if (tools::vercmp(version.c_str(), ARQMA_VERSION) > 0) + if (tools::vercmp(version.c_str(), MORELO_VERSION) > 0) { std::string user_url = tools::get_update_url(software, buildtag, version, true); std::string auto_url = tools::get_update_url(software, buildtag, version, false); diff --git a/src/wallet/ringdb.cpp b/src/wallet/ringdb.cpp index d977a168e..5dcdf9b12 100644 --- a/src/wallet/ringdb.cpp +++ b/src/wallet/ringdb.cpp @@ -37,8 +37,8 @@ #include "wallet_errors.h" #include "ringdb.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.ringdb" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.ringdb" static const char zerokey[8] = {0}; static const MDB_val zerokeyval = { sizeof(zerokey), (void *)zerokey }; diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 0fa204266..848754899 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -29,6 +29,7 @@ // // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers +#include #include #include #include @@ -91,8 +92,8 @@ using namespace std; using namespace crypto; using namespace cryptonote; -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.wallet2" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.wallet2" // used to choose when to stop adding outputs to a tx #define APPROXIMATE_INPUT_BYTES 80 @@ -963,12 +964,12 @@ gamma_picker::gamma_picker(const std::vector &rct_offsets, double shap rct_offsets(rct_offsets) { gamma = std::gamma_distribution(shape, scale); - THROW_WALLET_EXCEPTION_IF(rct_offsets.size() <= config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED, error::wallet_internal_error, "Bad offset calculation"); + THROW_WALLET_EXCEPTION_IF(rct_offsets.size() <= config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED, error::wallet_internal_error, "Bad offset calculation"); const size_t blocks_in_a_year = 86400 * 365 / DIFFICULTY_TARGET_V11; const size_t blocks_to_consider = std::min(rct_offsets.size(), blocks_in_a_year); const size_t outputs_to_consider = rct_offsets.back() - (blocks_to_consider < rct_offsets.size() ? rct_offsets[rct_offsets.size() - blocks_to_consider - 1] : 0); begin = rct_offsets.data(); - end = rct_offsets.data() + rct_offsets.size() - config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED; + end = rct_offsets.data() + rct_offsets.size() - config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED; num_rct_outputs = *(end - 1); THROW_WALLET_EXCEPTION_IF(num_rct_outputs == 0, error::wallet_internal_error, "No rct outputs"); average_output_time = DIFFICULTY_TARGET_V11 * blocks_to_consider / outputs_to_consider; // this assumes constant target over the whole rct range @@ -1090,6 +1091,7 @@ wallet2::wallet2(network_type nettype, uint64_t kdf_rounds, bool unattended): m_last_block_reward(0), m_encrypt_keys_after_refresh(boost::none), m_unattended(unattended), + m_use_dns(false), m_offline(false), m_credits_target(0) { @@ -5332,7 +5334,7 @@ std::map> wallet2::unlocked_balance_per_ } else { - uint64_t unlock_height = td.m_block_height + std::max(config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED, CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS); + uint64_t unlock_height = td.m_block_height + std::max(config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED, CRYPTONOTE_LOCKED_TX_ALLOWED_DELTA_BLOCKS); if(td.m_tx.unlock_time < CRYPTONOTE_MAX_BLOCK_NUMBER && td.m_tx.unlock_time > unlock_height) unlock_height = td.m_tx.unlock_time; blocks_to_unlock = unlock_height > blockchain_height ? unlock_height - blockchain_height : 0; @@ -5530,7 +5532,7 @@ bool wallet2::is_transfer_unlocked(uint64_t unlock_time, uint64_t block_height) if(!is_tx_spendtime_unlocked(unlock_time, block_height)) return false; - if(block_height + config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED > get_blockchain_current_height()) + if(block_height + config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED > get_blockchain_current_height()) return false; return true; @@ -7153,7 +7155,7 @@ void wallet2::get_outs(std::vector> if (has_rct_distribution) { // check we're clear enough of rct start, to avoid corner cases below - THROW_WALLET_EXCEPTION_IF(rct_offsets.size() <= config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED, + THROW_WALLET_EXCEPTION_IF(rct_offsets.size() <= config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED, error::get_output_distribution, "Not enough rct outputs"); THROW_WALLET_EXCEPTION_IF(rct_offsets.back() <= max_rct_index, error::get_output_distribution, "Daemon reports suspicious number of rct outputs"); @@ -7256,7 +7258,7 @@ void wallet2::get_outs(std::vector> const uint64_t amount = td.is_rct() ? 0 : td.amount(); std::unordered_set seen_indices; // request more for rct in base recent (locked) coinbases are picked, since they're locked for longer - size_t requested_outputs_count = base_requested_outputs_count + (td.is_rct() ? config::blockchain_settings::ARQMA_BLOCK_UNLOCK_CONFIRMATIONS - config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED : 0); + size_t requested_outputs_count = base_requested_outputs_count + (td.is_rct() ? config::blockchain_settings::ARQMA_BLOCK_UNLOCK_CONFIRMATIONS - config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED : 0); size_t start = req.outputs.size(); bool use_histogram = amount != 0 || !has_rct_distribution; @@ -7325,7 +7327,7 @@ void wallet2::get_outs(std::vector> else { // the base offset of the first rct output in the first unlocked block (or the one to be if there's none) - num_outs = rct_offsets[rct_offsets.size() - config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED]; + num_outs = rct_offsets[rct_offsets.size() - config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED]; LOG_PRINT_L1("" << num_outs << " unlocked rct outputs"); THROW_WALLET_EXCEPTION_IF(num_outs == 0, error::wallet_internal_error, "histogram reports no unlocked rct outputs, not even ours"); @@ -7540,7 +7542,7 @@ void wallet2::get_outs(std::vector> [](const get_outputs_out &a, const get_outputs_out &b) { return a.index < b.index; }); } - if (ELPP->vRegistry()->allowed(el::Level::Debug, ARQMA_DEFAULT_LOG_CATEGORY)) + if (ELPP->vRegistry()->allowed(el::Level::Debug, MORELO_DEFAULT_LOG_CATEGORY)) { std::map> outs; for (const auto &i: req.outputs) @@ -7571,7 +7573,7 @@ void wallet2::get_outs(std::vector> for(size_t idx: selected_transfers) { const transfer_details &td = m_transfers[idx]; - size_t requested_outputs_count = base_requested_outputs_count + (td.is_rct() ? config::blockchain_settings::ARQMA_BLOCK_UNLOCK_CONFIRMATIONS - config::tx_settings::ARQMA_TX_CONFIRMATIONS_REQUIRED : 0); + size_t requested_outputs_count = base_requested_outputs_count + (td.is_rct() ? config::blockchain_settings::ARQMA_BLOCK_UNLOCK_CONFIRMATIONS - config::tx_settings::MORELO_TX_CONFIRMATIONS_REQUIRED : 0); outs.push_back(std::vector()); outs.back().reserve(fake_outputs_count + 1); const rct::key mask = td.is_rct() ? rct::commit(td.amount(), td.m_mask) : rct::zeroCommit(td.amount()); @@ -12159,16 +12161,16 @@ std::string wallet2::make_uri(const std::string &address, const std::string &pay //---------------------------------------------------------------------------------------------------- bool wallet2::parse_uri(const std::string &uri, std::string &address, std::string &payment_id, uint64_t &amount, std::string &tx_description, std::string &recipient_name, std::vector &unknown_parameters, std::string &error) { - static const std::string ARQMA_URI = "morelo:"; - static const int ARQMA_URI_LEN = ARQMA_URI.length(); + static const std::string MORELO_URI = "morelo:"; + static const int MORELO_URI_LEN = MORELO_URI.length(); - if (uri.substr(0, ARQMA_URI_LEN) != ARQMA_URI) + if (uri.substr(0, MORELO_URI_LEN) != MORELO_URI) { - error = std::string("URI has wrong scheme (expected ") + "\"" + ARQMA_URI + "\"): " + uri; + error = std::string("URI has wrong scheme (expected ") + "\"" + MORELO_URI + "\"): " + uri; return false; } - std::string remainder = uri.substr(ARQMA_URI_LEN); + std::string remainder = uri.substr(MORELO_URI_LEN); const char *ptr = strchr(remainder.c_str(), '?'); address = ptr ? remainder.substr(0, ptr-remainder.c_str()) : remainder; @@ -12435,12 +12437,11 @@ uint64_t wallet2::get_segregation_fork_height() const if (m_segregation_height > 0) return m_segregation_height; - static const bool use_dns = true; - if (use_dns) + if (m_use_dns && !m_offline) { - // All four Arq-Net domains have DNSSEC on and valid + // All Morelo Network domains have DNSSEC on and valid static const std::vector dns_urls = { - + "segheights.morelo.cc", "segheights.morelonetwork.pl", "segheights.morelo.vip" }; const uint64_t current_height = get_blockchain_current_height(); diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h index 12da78a1a..ea6a5ff4d 100644 --- a/src/wallet/wallet2.h +++ b/src/wallet/wallet2.h @@ -30,6 +30,7 @@ // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers #pragma once +#include #include #include @@ -66,8 +67,8 @@ #include "wallet_light_rpc.h" #include "wallet_rpc_helpers.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.wallet2" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.wallet2" #define THROW_ON_RPC_RESPONSE_ERROR(r, error, res, method, ...) \ do { \ @@ -1449,6 +1450,7 @@ namespace tools size_t m_subaddress_lookahead_major, m_subaddress_lookahead_minor; std::string m_device_name; bool m_offline; + bool m_use_dns; crypto::secret_key m_rpc_client_secret_key; rpc_payment_state_t m_rpc_payment_state; uint64_t m_credits_target; diff --git a/src/wallet/wallet_args.cpp b/src/wallet/wallet_args.cpp index b2b3e3847..3f480bfb6 100644 --- a/src/wallet/wallet_args.cpp +++ b/src/wallet/wallet_args.cpp @@ -41,8 +41,8 @@ #include #endif -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.wallet2" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.wallet2" // workaround for a suspected bug in pthread/kernel on MacOS X #ifdef __APPLE__ @@ -146,7 +146,7 @@ namespace wallet_args if (command_line::get_arg(vm, command_line::arg_help)) { - Print(print) << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")" << ENDL; + Print(print) << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")" << ENDL; Print(print) << wallet_args::tr("This is the command line morelo wallet. It needs to connect to a morelo\n" "daemon to work correctly.") << ENDL; Print(print) << wallet_args::tr("Usage:") << ENDL << " " << usage; @@ -156,7 +156,7 @@ namespace wallet_args } else if (command_line::get_arg(vm, command_line::arg_version)) { - Print(print) << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")"; + Print(print) << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")"; should_terminate = true; return true; } @@ -207,12 +207,12 @@ namespace wallet_args if (!command_line::is_arg_defaulted(vm, arg_max_concurrency)) tools::set_max_concurrency(command_line::get_arg(vm, arg_max_concurrency)); - Print(print) << "Morelo '" << ARQMA_RELEASE_NAME << "' (v" << ARQMA_VERSION_FULL << ")"; + Print(print) << "Morelo '" << MORELO_RELEASE_NAME << "' (v" << MORELO_VERSION_FULL << ")"; if (!command_line::is_arg_defaulted(vm, arg_log_level)) MINFO("Setting log level = " << command_line::get_arg(vm, arg_log_level)); else - MINFO("Setting log levels = " << getenv("ARQMA_LOGS")); + MINFO("Setting log levels = " << getenv("MORELO_LOGS")); MINFO(wallet_args::tr("Logging to: ") << log_path); Print(print) << boost::format(wallet_args::tr("Logging to %s")) % log_path; diff --git a/src/wallet/wallet_errors.h b/src/wallet/wallet_errors.h index 1cdcb1d8b..665cf8c3e 100644 --- a/src/wallet/wallet_errors.h +++ b/src/wallet/wallet_errors.h @@ -35,6 +35,7 @@ #include #include #include +#include #include "cryptonote_basic/cryptonote_format_utils.h" #include "cryptonote_core/cryptonote_tx_utils.h" diff --git a/src/wallet/wallet_rpc_helpers.h b/src/wallet/wallet_rpc_helpers.h index 703d3166a..661966e78 100644 --- a/src/wallet/wallet_rpc_helpers.h +++ b/src/wallet/wallet_rpc_helpers.h @@ -30,6 +30,7 @@ #pragma once #include +#include namespace { diff --git a/src/wallet/wallet_rpc_payments.cpp b/src/wallet/wallet_rpc_payments.cpp index 5c0c9b8c7..736074446 100644 --- a/src/wallet/wallet_rpc_payments.cpp +++ b/src/wallet/wallet_rpc_payments.cpp @@ -44,8 +44,8 @@ #include "common/i18n.h" #include "common/util.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.wallet2.rpc_payments" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.wallet2.rpc_payments" #define RPC_PAYMENT_POLL_PERIOD 10 /* seconds*/ diff --git a/src/wallet/wallet_rpc_server.cpp b/src/wallet/wallet_rpc_server.cpp index 36718641c..8321595a4 100644 --- a/src/wallet/wallet_rpc_server.cpp +++ b/src/wallet/wallet_rpc_server.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include "include_base_utils.h" using namespace epee; @@ -56,8 +57,8 @@ using namespace epee; #include "rpc/core_rpc_server_commands_defs.h" #include "daemonizer/daemonizer.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.rpc" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.rpc" #define DEFAULT_AUTO_REFRESH_PERIOD 20 // seconds @@ -4140,7 +4141,7 @@ namespace tools bool wallet_rpc_server::on_get_version(const wallet_rpc::COMMAND_RPC_GET_VERSION::request& req, wallet_rpc::COMMAND_RPC_GET_VERSION::response& res, epee::json_rpc::error& er, const connection_context *ctx) { res.version = WALLET_RPC_VERSION; - res.release = ARQMA_VERSION_IS_RELEASE; + res.release = MORELO_VERSION_IS_RELEASE; return true; } //------------------------------------------------------------------------------------------------------------------------------ diff --git a/src/wallet/wallet_rpc_server.h b/src/wallet/wallet_rpc_server.h index c3adb9b03..6b16e86fc 100644 --- a/src/wallet/wallet_rpc_server.h +++ b/src/wallet/wallet_rpc_server.h @@ -40,8 +40,8 @@ #include "wallet_rpc_server_commands_defs.h" #include "wallet2.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.rpc" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.rpc" namespace tools { diff --git a/src/wallet/wallet_rpc_server_commands_defs.h b/src/wallet/wallet_rpc_server_commands_defs.h index e12a020a9..af4ce6e5d 100644 --- a/src/wallet/wallet_rpc_server_commands_defs.h +++ b/src/wallet/wallet_rpc_server_commands_defs.h @@ -37,8 +37,8 @@ #include "crypto/hash.h" #include "wallet_rpc_server_error_codes.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "wallet.rpc" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "wallet.rpc" // When making *any* change here, bump minor // If the change is incompatible, then bump major and set minor to 0 diff --git a/tests/README.md b/tests/README.md index 51cd5b416..be2854bf5 100644 --- a/tests/README.md +++ b/tests/README.md @@ -3,7 +3,7 @@ To run all tests, run: ``` -cd /path/to/arqma +cd /path/to/morelo make [-jn] debug-test # where n is number of compiler processes ``` @@ -11,11 +11,11 @@ To test a release build, replace `debug-test` with `release-test` in the previou # Core tests -Core tests take longer than any other Monero tests, due to the high amount of computational work involved in validating core components. +Core tests take longer than any other tests, due to the high amount of computational work involved in validating core components. Tests are located in `tests/core_tests/`, and follow a straightforward naming convention. Most cases cover core functionality (`block_reward.cpp`, `chaingen.cpp`, `rct.cpp`, etc.), while some cover basic security tests (`double_spend.cpp` & `integer_overflow.cpp`). -To run only Monero's core tests (after building): +To run only core tests (after building): ``` cd build/debug/tests/core @@ -34,7 +34,7 @@ Crypto tests are located under the `tests/crypto` directory. Tests correspond to components under `src/crypto/`. A quick comparison reveals the pattern, and new tests should continue the naming convention. -To run only Monero's crypto tests (after building): +To run only crypto tests (after building): ``` cd build/debug/tests/crypto @@ -61,7 +61,7 @@ An additional helper utility is provided `contrib/fuzz_testing/fuzz.sh`. AFL mus Hash tests exist under `tests/hash`, and include a set of target hashes in text files. -To run only Monero's hash tests (after building): +To run only hash tests (after building): ``` cd build/debug/tests/hash @@ -82,7 +82,7 @@ To run the same tests on a release build, replace `debug` with `release`. Performance tests are located in `tests/performance_tests`, and test features for performance metrics on the host machine. -To run only Monero's performance tests (after building): +To run only performance tests (after building): ``` cd build/debug/tests/performance_tests @@ -97,7 +97,7 @@ To run the same tests on a release build, replace `debug` with `release`. Unit tests are defined under the `tests/unit_tests` directory. Independent components are tested individually to ensure they work properly on their own. -To run only Monero's unit tests (after building): +To run only unit tests (after building): ``` cd build/debug/tests/unit_tests diff --git a/tests/core_tests/chaingen.h b/tests/core_tests/chaingen.h index e05006a63..da946530c 100644 --- a/tests/core_tests/chaingen.h +++ b/tests/core_tests/chaingen.h @@ -53,8 +53,8 @@ #include "cryptonote_basic/cryptonote_boost_serialization.h" #include "misc_language.h" -#undef ARQMA_DEFAULT_LOG_CATEGORY -#define ARQMA_DEFAULT_LOG_CATEGORY "tests.core" +#undef MORELO_DEFAULT_LOG_CATEGORY +#define MORELO_DEFAULT_LOG_CATEGORY "tests.core" diff --git a/tests/core_tests/double_spend.h b/tests/core_tests/double_spend.h index 088ba5f2a..72f79cf58 100644 --- a/tests/core_tests/double_spend.h +++ b/tests/core_tests/double_spend.h @@ -31,6 +31,7 @@ #pragma once #include "chaingen.h" +#include const size_t invalid_index_value = std::numeric_limits::max(); const uint64_t FIRST_BLOCK_REWARD = 17592186044415; diff --git a/tests/core_tests/tx_validation.cpp b/tests/core_tests/tx_validation.cpp index d983ae8c1..a8a195291 100644 --- a/tests/core_tests/tx_validation.cpp +++ b/tests/core_tests/tx_validation.cpp @@ -32,6 +32,7 @@ #include "chaingen.h" #include "tx_validation.h" #include "device/device.hpp" +#include using namespace epee; using namespace crypto; diff --git a/tests/unit_tests/address_from_url.cpp b/tests/unit_tests/address_from_url.cpp index bd272e589..32a8ff7cb 100644 --- a/tests/unit_tests/address_from_url.cpp +++ b/tests/unit_tests/address_from_url.cpp @@ -40,7 +40,7 @@ TEST(AddressFromTXT, Success) { std::string addr = "46BeWrHpwXmHDpDEUmZBWZfoQpdc6HaERCNmx1pEYL2rAcuwufPN9rXHHtyUA4QVy66qeFQkn6sfK8aHYjA3jk3o1Bv16em"; - std::string txtr = "oa1:xmr"; + std::string txtr = "oa1:mrl"; txtr += " recipient_address="; txtr += addr; txtr += ";"; @@ -59,7 +59,7 @@ TEST(AddressFromTXT, Success) EXPECT_STREQ(addr.c_str(), res.c_str()); - std::string txtr3 = "foobar oa1:xmr tx_description=\"Donation for Monero Development Fund\"; "; + std::string txtr3 = "foobar oa1:mrl tx_description=\"Donation for Morelo Development Fund\"; "; txtr3 += "recipient_address="; txtr3 += addr; txtr3 += "; foobar"; @@ -71,7 +71,7 @@ TEST(AddressFromTXT, Success) TEST(AddressFromTXT, Failure) { - std::string txtr = "oa1:xmr recipient_address=not a real address"; + std::string txtr = "oa1:mrl recipient_address=not a real address"; std::string res = tools::dns_utils::address_from_txt_record(txtr); @@ -89,7 +89,7 @@ TEST(AddressFromURL, Success) bool dnssec_result = false; - std::vector addresses = tools::dns_utils::addresses_from_url("donate.getmonero.org", dnssec_result); + std::vector addresses = tools::dns_utils::addresses_from_url("donate.morelo.cc", dnssec_result); EXPECT_EQ(1, addresses.size()); if (addresses.size() == 1) @@ -98,7 +98,7 @@ TEST(AddressFromURL, Success) } // OpenAlias address with an @ instead of first . - addresses = tools::dns_utils::addresses_from_url("donate@getmonero.org", dnssec_result); + addresses = tools::dns_utils::addresses_from_url("donate@morelo.cc", dnssec_result); EXPECT_EQ(1, addresses.size()); if (addresses.size() == 1) { diff --git a/tests/unit_tests/base58.cpp b/tests/unit_tests/base58.cpp index db5e32c42..78354b13f 100644 --- a/tests/unit_tests/base58.cpp +++ b/tests/unit_tests/base58.cpp @@ -32,6 +32,7 @@ #include "gtest/gtest.h" #include +#include #include "common/base58.cpp" #include "cryptonote_basic/cryptonote_basic_impl.h" diff --git a/tests/unit_tests/block_reward.cpp b/tests/unit_tests/block_reward.cpp index fcc0b9c03..9ae6fe05b 100644 --- a/tests/unit_tests/block_reward.cpp +++ b/tests/unit_tests/block_reward.cpp @@ -30,6 +30,7 @@ // Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers #include "gtest/gtest.h" +#include #include "cryptonote_basic/cryptonote_basic_impl.h" diff --git a/tests/unit_tests/dns_resolver.cpp b/tests/unit_tests/dns_resolver.cpp index 794f4e7de..a9eab9839 100644 --- a/tests/unit_tests/dns_resolver.cpp +++ b/tests/unit_tests/dns_resolver.cpp @@ -141,22 +141,22 @@ TEST(DNSResolver, GetTXTRecord) { bool avail, valid; - std::vector records = tools::DNSResolver::instance().get_txt_record("donate.getmonero.org", avail, valid); + std::vector records = tools::DNSResolver::instance().get_txt_record("donate.morelo.cc", avail, valid); EXPECT_NE(0, records.size()); for (auto& rec : records) { - std::cout << "TXT record for donate.getmonero.org: " << rec << std::endl; + std::cout << "TXT record for donate.morelo.cc: " << rec << std::endl; } // replace first @ with . - std::string addr = tools::DNSResolver::instance().get_dns_format_from_oa_address("donate@getmonero.org"); - EXPECT_STREQ("donate.getmonero.org", addr.c_str()); + std::string addr = tools::DNSResolver::instance().get_dns_format_from_oa_address("donate@morelo.cc"); + EXPECT_STREQ("donate.morelo.cc", addr.c_str()); // no change addr = tools::DNSResolver::instance().get_dns_format_from_oa_address("donate.getmonero.org"); - EXPECT_STREQ("donate.getmonero.org", addr.c_str()); + EXPECT_STREQ("donate.morelo.cc", addr.c_str()); } bool is_equal(const char *s, const std::vector &v) { return v.size() == 1 && v[0] == s; } diff --git a/tests/unit_tests/hardfork.cpp b/tests/unit_tests/hardfork.cpp index 81a77bd5a..bd57a0460 100644 --- a/tests/unit_tests/hardfork.cpp +++ b/tests/unit_tests/hardfork.cpp @@ -31,6 +31,7 @@ #include #include "gtest/gtest.h" +#include #include "blockchain_db/blockchain_db.h" #include "cryptonote_basic/cryptonote_format_utils.h" diff --git a/utils/build_scripts/linux.sh b/utils/build_scripts/linux.sh index 9fc83685e..1ee12cdfd 100644 --- a/utils/build_scripts/linux.sh +++ b/utils/build_scripts/linux.sh @@ -1,27 +1,49 @@ #Morelo build script for linux #Copyrights Morelo Network 2023 +nodeps=false +nocmake=false +noboost=false + +#Parsing arguments +for arg in "$@" +do + if [ $arg = "--no-dependences" ]; then + nodeps=true + elif [ $arg = "--no-cmake" ]; then + nocmake=true + elif [ $arg = "--no-boost" ]; then + noboost=true + fi +done + #Install dependences -sudo apt update && sudo apt install --yes git build-essential curl pkg-config libssl-dev libsodium-dev libunwind-dev liblzma-dev libreadline-dev libldns-dev libexpat1-dev doxygen graphviz libudev-dev libusb-1.0-0-dev libhidapi-dev xsltproc gperf autoconf automake libtool-bin +if [ $nodeps = false ] ; then + sudo apt update && sudo apt install --yes git build-essential curl pkg-config libssl-dev libsodium-dev libunwind-dev liblzma-dev libreadline-dev libldns-dev libexpat1-dev doxygen graphviz libudev-dev libusb-1.0-0-dev libhidapi-dev xsltproc gperf autoconf automake libtool-bin +fi #Build and install cmake 3.17.3 from source -wget https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3.tar.gz -tar -xvf cmake-3.17.3.tar.gz -cd cmake-3.17.3 -./bootstrap -make -j4 -sudo make install -cd .. +if [ $nocmake = false ] ; then + wget https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3.tar.gz + tar -xvf cmake-3.17.3.tar.gz + cd cmake-3.17.3 + ./bootstrap + make -j4 + sudo make install + cd .. +fi #Build and install boost 1.73.0 from source -wget https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.gz -tar -xvf boost_1_73_0.tar.gz -cd boost_1_73_0 -./bootstrap.sh -./b2 -j4 -sudo ./b2 install -sudo ./b2 headers -cd .. +if [ $noboost = false ] ; then + wget https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.gz + tar -xvf boost_1_73_0.tar.gz + cd boost_1_73_0 + ./bootstrap.sh + ./b2 -j4 + sudo ./b2 install + sudo ./b2 headers + cd .. +fi #Build morelo from source git clone https://github.com/MoreloNetwork/morelo --recursive diff --git a/utils/conf/arqmad.conf b/utils/conf/arqmad.conf deleted file mode 100644 index b08cc7434..000000000 --- a/utils/conf/arqmad.conf +++ /dev/null @@ -1,7 +0,0 @@ -# Configuration for arqmad -# Syntax: any command line option may be specified as 'clioptionname=value'. -# See 'arqmad --help' for all available options. - -data-dir=/var/lib/arqma -log-file=/var/log/arqma/arqma.log -log-level=0 diff --git a/utils/conf/morelod.conf b/utils/conf/morelod.conf new file mode 100644 index 000000000..7941073a8 --- /dev/null +++ b/utils/conf/morelod.conf @@ -0,0 +1,14 @@ +# Configuration for morelod +# Syntax: any command line option may be specified as 'clioptionname=value'. +# See 'morelod --help' for all available options. + +data-dir=/var/lib/morelo +log-file=/var/log/morelo/morelod.log +log-level=1 +public-node= +#zmq-enabled +#zmq-bind-ip=0.0.0.0 +#zmq-max_clients=8 +rpc-bind-ip=0.0.0.0 +restricted-rpc= +confirm-external-bind= diff --git a/utils/doxygen-publish.sh b/utils/doxygen-publish.sh index ad02e2834..b3aecebbd 100644 --- a/utils/doxygen-publish.sh +++ b/utils/doxygen-publish.sh @@ -1,7 +1,5 @@ #!/bin/bash -e -# maintainer (ask me any questions): rfree - if [[ ! -r "Doxyfile" ]] ; then echo "Error, can not read the Doxyfile - make sure to run this script from top of monero project, where the Doxyfile file is located" exit 1 @@ -20,6 +18,3 @@ fi echo "Generating:" doxygen Doxyfile && echo "Backup previous version:" && rm -rf ~/monero-www-previous && mv "$wwwdir/doc" ~/monero-www-previous && cp -ar doc/ "$wwwdir/" && echo "Done, builded and copied to public - the doxygen docs" && echo "size:" && du -Dsh "$wwwdir/" && echo "files:" && find "$wwwdir/" | wc -l - - - diff --git a/utils/gpg_keys/MrKris7100.asc b/utils/gpg_keys/MrKris7100.asc index 71dca555f..c8c79afd3 100644 --- a/utils/gpg_keys/MrKris7100.asc +++ b/utils/gpg_keys/MrKris7100.asc @@ -1,6 +1,4 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: Keybase OpenPGP v2.0.76 -Comment: https://keybase.io/crypto xsFNBGWsLjkBEADJ81T4wiXjApeqIWsBYez96fSgNJZQ8riU0z1gwYd+QyvEkUbw rbEdJzFu+a5RVIw7bmvRJA3OcHS3NSEn8XIhxyfwq4J1aCaTS2MHYF5rrJ2F5LEH diff --git a/utils/gpg_keys/dmkng.asc b/utils/gpg_keys/dmkng.asc new file mode 100644 index 000000000..54f15f80d --- /dev/null +++ b/utils/gpg_keys/dmkng.asc @@ -0,0 +1,13 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEZtdFvBYJKwYBBAHaRw8BAQdAwE4Evj4ykbx0S/+LqGJj6bgf6VPDDx4km4My +TxGs7TK0I1N1c2FuIChkbWtuZykgPHRoZW1ha2luZzY0QGNvY2subGk+iJMEExYK +ADsWIQREUPS9vkw9C9kAIUukdSiY90of1gUCZtdFvAIbAwULCQgHAgIiAgYVCgkI +CwIEFgIDAQIeBwIXgAAKCRCkdSiY90of1q73AP9Xbo2gdMI2qophJl7uSA8I4HHs +4MFmeF33H8c1sUvD4gEAuNgaQ634gm5DV+iRgrdaVv6nDGalKLlOuA1OU0r1sgi4 +OARm10W8EgorBgEEAZdVAQUBAQdAsW7Yg7MHTipqCEcStcOdz0vgPufB5WY4IPzM +CmohokgDAQgHiHgEGBYKACAWIQREUPS9vkw9C9kAIUukdSiY90of1gUCZtdFvAIb +DAAKCRCkdSiY90of1r1HAP9xqyqe6wnn3rIQS7Upggq2TtAGCOSv2DNldqWOoepZ +yAEAicwP1DiKrBPdO9M6f7YFnuk0z0L85Qbl4zYUJB4ZEgw= +=1cg4 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/utils/systemd/arqmad.service b/utils/systemd/morelod.service similarity index 68% rename from utils/systemd/arqmad.service rename to utils/systemd/morelod.service index d090a3fa7..5326868b9 100644 --- a/utils/systemd/arqmad.service +++ b/utils/systemd/morelod.service @@ -1,19 +1,17 @@ [Unit] -Description=Arqma Full Node +Description=Morelo Full Node After=network.target [Service] -User=arqma -Group=arqma +User=morelo +Group=morelo WorkingDirectory=~ -RuntimeDirectory=arqma # Clearnet config # Type=forking -PIDFile=/run/arqma/arqmad.pid -ExecStart=/usr/bin/arqmad --config-file /etc/arqmad.conf \ - --detach --pidfile /run/arqma/arqmad.pid +PIDFile=/run/morelo/morelod.pid +ExecStart=/usr/bin/morelod --config-file /etc/morelo/morelod.conf --detach --pidfile /run/morelo/morelod.pid # Tor config # @@ -27,10 +25,10 @@ ExecStart=/usr/bin/arqmad --config-file /etc/arqmad.conf \ ## host in the LAN, VPN, etc, the RPC must bind to 0.0.0.0, but ## by default torsocks only allows binding to localhost. #Environment=TORSOCKS_ALLOW_INBOUND=1 -#ExecStart=/usr/bin/torsocks /usr/bin/arqmad --config-file /etc/arqmad.conf \ -# --non-interactive +#ExecStart=/usr/bin/torsocks /usr/bin/morelod --config-file /etc/morelo/morelod.conf --non-interactive Restart=always +RestartSec=2 [Install] WantedBy=multi-user.target