Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
362ed1b
Merge pull request #143 from ryo-currency/dev
psychocrypt Nov 7, 2018
d4e25f8
Update Ryo copyright notices
fireice-uk Feb 1, 2019
d555d44
Merge pull request #172 from fireice-uk/topic-cc-update
psychocrypt Feb 2, 2019
e7931ca
Remove OptimizeCoinbase refresh
fireice-uk Feb 2, 2019
edd97c2
Merge pull request #173 from fireice-uk/topic-rm-opt-coinbase
psychocrypt Feb 2, 2019
89d462a
Ryo 0.4.0.0 - Lorentz Transform
fireice-uk Feb 3, 2019
0676721
Merge pull request #174 from fireice-uk/topic-new-release-name
psychocrypt Feb 3, 2019
33b2463
README change
Ryo-RU Feb 3, 2019
0c63033
Merge pull request #176 from fireice-uk/Ryo-RU-readme-update
fireice-uk Feb 3, 2019
0c26a9a
Merge branch 'master' into dev
fireice-uk Feb 3, 2019
2933f3e
Merge pull request #177 from ryo-currency/dev
psychocrypt Feb 3, 2019
132487b
Backport typos from Monero
fireice-uk Feb 15, 2019
399b8f5
Merge pull request #179 from fireice-uk/topic-backport-typo-fixes
psychocrypt Feb 15, 2019
1196440
fix CI
psychocrypt Feb 16, 2019
d12582f
Fix tx serialisation
fireice-uk Feb 20, 2019
ad5cae0
Always use uniform pids
fireice-uk Feb 20, 2019
d96bcdf
Merge pull request #181 from psychocrypt/fix-ci
fireice-uk Feb 20, 2019
ebd6b5c
Merge pull request #182 from fireice-uk/topic-multisig-fix
psychocrypt Feb 20, 2019
cf65276
Increase to v0.4.0.1
fireice-uk Feb 21, 2019
f701e06
Merge pull request #183 from fireice-uk/topic-ver-inc
psychocrypt Feb 21, 2019
61e4a75
libunbound: fix MinGW compile
psychocrypt Feb 21, 2019
e145237
Updated Readme
mosu-forge Feb 22, 2019
792c8e2
Merge pull request #186 from mosu-forge/topic-readme
fireice-uk Feb 25, 2019
fb78556
7zip key images
fireice-uk Feb 25, 2019
056d9ce
Merge pull request #184 from psychocrypt/topic-fixMinGWCompileLibunbound
fireice-uk Feb 25, 2019
3bbfdac
Merge pull request #187 from fireice-uk/topic-7z-key-images
psychocrypt Feb 25, 2019
e165654
Merge branch 'master' into dev
psychocrypt Feb 25, 2019
db7e05f
Create verify_premine_burn_instructions.md
Ryo-RU Feb 25, 2019
bc0798c
Merge pull request #189 from fireice-uk/topic-burn-verify-instr
fireice-uk Feb 26, 2019
0e20734
fix avx2 detection
psychocrypt Mar 13, 2019
2e29ca0
Merge pull request #191 from psychocrypt/fix-avx2detection
fireice-uk Mar 14, 2019
c2f9b91
feat(docs): Add verbage to the readme to outline the process for impo…
KyleMcMaster Apr 4, 2019
40c0903
feat(docs): Provide link to Blockchain Utilities docs from main READM…
KyleMcMaster Apr 6, 2019
640ada9
Merge pull request #192 from KyleMcMaster/feat/import-blockchain-docs
fireice-uk May 6, 2019
9021f43
boost 1.7.0 fixes
fireice-uk May 7, 2019
38be2db
fix boost 1.67 linking
psychocrypt May 9, 2019
b45ca61
travis enforce ubuntu trusty
psychocrypt May 9, 2019
5e7b8d3
Merge pull request #195 from fireice-uk/boost-fixes
fireice-uk May 10, 2019
2d2a8eb
Add save wallets tool
fireice-uk May 6, 2019
77ef9cc
Merge pull request #193 from fireice-uk/topic-save-wallets-tool
psychocrypt May 10, 2019
906b08e
libreadline fix on msys2
fireice-uk May 10, 2019
0102ccb
gulps
fireice-uk May 13, 2019
a98aaa0
Merge pull request #194 from fireice-uk/topic-gulps-rebased
psychocrypt May 14, 2019
5ae3f93
Merge pull request #196 from fireice-uk/topic-readline-fix
psychocrypt May 14, 2019
de4d7ab
re-add `set_log` command
psychocrypt Jun 26, 2019
8891c60
Merge pull request #197 from psychocrypt/topic-setLogLvl
fireice-uk Jun 28, 2019
d8e8ec5
fix missing log categories in message
psychocrypt Jun 28, 2019
222a8d0
Merge pull request #198 from psychocrypt/fix-logMessage
fireice-uk Jun 29, 2019
050bb1e
new plateau emission curve
psychocrypt Jun 29, 2019
f4e12d9
add script to generate plateau emission curve
mosu-forge Jun 30, 2019
a957f5a
Merge pull request #199 from psychocrypt/topic-newEmissionCurve
fireice-uk Jul 2, 2019
3285224
fix mem leakage
Jul 5, 2019
2628387
avoid exposing contructor with bool
psychocrypt Jul 5, 2019
90fea7d
use emplace_back instead of push_back
psychocrypt Jul 6, 2019
f2ca047
Merge pull request #201 from psychocrypt/fix-mem-leakage
fireice-uk Jul 7, 2019
f4ebd13
64bit elliptic curve
Jul 12, 2019
7e84d48
add tests for 64bit elliptic curve implementation
psychocrypt Jul 13, 2019
f2231da
update travis
psychocrypt Jul 13, 2019
6e448dd
Add extra check for hits
fireice-uk Jul 16, 2019
d623123
Merge pull request #202 from psychocrypt/topic-ec64
fireice-uk Jul 16, 2019
f445700
64 bit key derivation
Jul 18, 2019
4b41879
unit test `generate_key_derivation`
psychocrypt Jul 19, 2019
7641f2b
Merge pull request #203 from psychocrypt/topic-key_dev_64
fireice-uk Jul 20, 2019
4a11b9e
fix gulps usage
psychocrypt Jul 23, 2019
7862699
rename gulps macros
psychocrypt Jul 23, 2019
33b15f6
fix style
psychocrypt Jul 23, 2019
1761bad
rename categories
psychocrypt Jul 23, 2019
a4b03c5
Merge pull request #205 from psychocrypt/fix-gulpsUsage
fireice-uk Jul 25, 2019
fb73230
readme update
Ryo-RU Jul 25, 2019
e29e62a
Merge pull request #204 from Ryo-RU/dev
fireice-uk Jul 26, 2019
9e4b663
syntax fix
Ryo-RU Jul 27, 2019
9537800
Multi-threaded wallet scan
fireice-uk Jul 25, 2019
34bba83
Make get_blocks faster
fireice-uk Jul 27, 2019
5aca945
New GULPS adjustments
fireice-uk Jul 27, 2019
5ec4bfe
PSC's ideas
fireice-uk Jul 27, 2019
e7cacc4
Add transactions in block order
fireice-uk Jul 27, 2019
943de9e
Merge pull request #207 from Ryo-RU/dev
fireice-uk Jul 27, 2019
431fffd
Fix for self-referential work packages
fireice-uk Jul 30, 2019
a80e565
Fix for gen-multisig display
fireice-uk Jul 31, 2019
0d0b622
Merge pull request #206 from fireice-uk/topic-parallet-wallet
psychocrypt Jul 31, 2019
abeefcc
Merge pull request #208 from fireice-uk/topic-fix-gen-multisig
psychocrypt Jul 31, 2019
dd7fb26
fix boost version check in CMake
psychocrypt Aug 2, 2019
b705914
fix cmake
psychocrypt Aug 2, 2019
7680755
Merge pull request #209 from psychocrypt/fix-cmakeVersionCompare
fireice-uk Aug 4, 2019
09679b0
Merge pull request #210 from psychocrypt/fix-cmakeSystemProcessorDete…
fireice-uk Aug 4, 2019
545c429
Fixed issue #212
ryan-kengyang-alpha Aug 6, 2019
e538e03
Fix macos build
fireice-uk Aug 11, 2019
ddf122d
Merge pull request #214 from Kryptoxic/dev
fireice-uk Aug 15, 2019
e25dfe4
Merge pull request #215 from fireice-uk/topic-macos-fix
psychocrypt Aug 19, 2019
ae70088
fix usage of depricated boost functions/defines
psychocrypt Aug 2, 2019
6a10723
Merge pull request #211 from psychocrypt/fix-boostDepricatedUsage
fireice-uk Aug 20, 2019
c6a45c2
optimze queue lock handling
psychocrypt Aug 22, 2019
4eb4c98
fix alt chain coin overflow
psychocrypt Aug 23, 2019
d4178d7
Merge pull request #216 from psychocrypt/topic-deferlock
fireice-uk Aug 23, 2019
cdb1963
Merge pull request #217 from psychocrypt/fix-altChainCoinOverflow
fireice-uk Aug 30, 2019
cd2d039
simplewallet: fix output
psychocrypt Jan 24, 2020
9376655
Merge commit 'cd2d0394d671515ba1e74c7fbcda272b8e8b91ec' into topic-2020
mosu-forge Feb 21, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -113,3 +113,6 @@ local.properties

# VS Code
.vscode

# Document
doc
36 changes: 25 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ cache:
apt: true

os: linux
dist: trusty

addons:
apt:
Expand Down Expand Up @@ -86,6 +87,17 @@ matrix:
env:
- COMPILERS="CC=gcc-7 CXX=g++-7"
- COMPILE=main
- name: g++-7 daemon DISABLE x86 64bit elliptic curve
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- COMPILERS="CC=gcc-7 CXX=g++-7"
- DEF_CMAKE_OPTIONS="CMAKE_OPTIONS=-DUSE_EC_64=OFF"
- COMPILE=main
- name: g++-7 test
addons:
apt:
Expand Down Expand Up @@ -176,6 +188,7 @@ install:
sudo apt-get install -y libldns-dev;
sudo apt-get install -y libgtest-dev;
sudo apt-get install -y libunwind8-dev;
sudo apt-get install -y nasm;
fi
# clang 5.0 ships libunwind in own lib folder
- if [ "$CC" == "clang-5.0" ] ; then
Expand All @@ -184,14 +197,15 @@ install:

script:
- eval "${COMPILERS}"
- eval "${DEF_CMAKE_OPTIONS}"
- cd $HOME
- |
if [ "$COMPILE" == "main" ] ; then
mkdir linux-x64-build
cd linux-x64-build
cmake -DCMAKE_INSTALL_PREFIX=$HOME/ryo-linux-x64-release -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Debug -DBUILD_TAG="linux-x64-release" $TRAVIS_BUILD_DIR
make -j "$NUMBER_OF_CPUS"
make install
mkdir linux-x64-build &&
cd linux-x64-build &&
cmake -DCMAKE_INSTALL_PREFIX=$HOME/ryo-linux-x64-release -DARCH="x86-64" -DBUILD_64=ON -DCMAKE_BUILD_TYPE=Debug -DBUILD_TAG="linux-x64-release" $CMAKE_OPTIONS $TRAVIS_BUILD_DIR &&
make -j "$NUMBER_OF_CPUS" &&
make install &&
cd bin
# runtime tests are currently disabled because the help is exiting with error code 1
#for prog in $(find . -type f -executable)
Expand All @@ -201,14 +215,14 @@ script:
#done
elif [ "$COMPILE" == "tests" ] ; then
# compile tests
cd $HOME
mkdir linux-x64-tests-build
cd linux-x64-tests-build
cmake -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Debug $TRAVIS_BUILD_DIR
cd $HOME &&
mkdir linux-x64-tests-build &&
cd linux-x64-tests-build &&
cmake -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Debug $CMAKE_OPTIONS $TRAVIS_BUILD_DIR &&
# build all tests
make -j "$NUMBER_OF_CPUS"
make -j "$NUMBER_OF_CPUS" &&
# run unit tests
cd tests
cd tests &&
ctest -V
else
echo "not supported compile option '$COMPILE'"
Expand Down
86 changes: 70 additions & 16 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2018, Ryo Currency Project
# Copyright (c) 2019, Ryo Currency Project
# Copyright (c) 2014-2018, The Monero Project
#
# All rights reserved.
Expand Down Expand Up @@ -29,7 +29,7 @@
# Authors and copyright holders agree that:
#
# 8. This licence expires and the work covered by it is released into the
# public domain on 1st of February 2019
# public domain on 1st of February 2020
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
Expand Down Expand Up @@ -58,6 +58,65 @@ cmake_minimum_required(VERSION 3.1.0)

project(ryo)

# enforce C++11
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD 11)

# enforce C11
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_C_STANDARD 11)

# helper function to generate options
function(ryo_option name description default)
set(USE_${name} ${default} CACHE STRING "${description}")
set_property(CACHE USE_${name} PROPERTY
STRINGS "ON;TRUE;AUTO;OFF;FALSE")
if(HAVE_${name})
set(HAVE_${name} TRUE PARENT_SCOPE)
else()
set(HAVE_${name} PARENT_SCOPE)
endif()
endfunction()

# detect 64bit x86 architecture and set ARCH_X86_64
if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(ARCH_X86_64 TRUE)
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
set(ARCH_X86_64 TRUE)
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
# cmake reports AMD64 on Windows, but we might be building for 32-bit.
if (CMAKE_CL_64)
set(ARCH_X86_64 TRUE)
endif()
endif()

################################################################################
### ELLIPTIC CURVE
ryo_option(EC_64 "use optimized x86 64bit elliptic curve implementation" AUTO)
# check if x86_64 elliptic curve implementation can be used
if(USE_EC_64 STREQUAL AUTO)
enable_language(ASM_NASM OPTIONAL)
if(ARCH_X86_64 AND CMAKE_ASM_NASM_COMPILER)
set(HAVE_EC_64 TRUE)
endif()
elseif(USE_EC_64)
enable_language(ASM_NASM)
if(NOT CMAKE_ASM_NASM_COMPILER_LOADED)
message(FATAL_ERROR "Could not load NASM compiler.")
endif()
set(HAVE_EC_64 TRUE)
endif()

if(HAVE_EC_64)
message(STATUS "Using 64bit elliptic curve implementation for x68_64")
add_definitions("-DHAVE_EC_64")
endif()

### ELLIPTIC CURVE
################################################################################

function (die msg)
if (NOT WIN32)
string(ASCII 27 Esc)
Expand Down Expand Up @@ -248,7 +307,7 @@ endif()
# elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*")
# set(BSDI TRUE)

include_directories(external/rapidjson/include external/easylogging++ src contrib/epee/include external)
include_directories(external/rapidjson/include src contrib/epee/include external)

if(APPLE)
include_directories(SYSTEM /usr/include/malloc)
Expand Down Expand Up @@ -369,10 +428,6 @@ add_definitions("-DBLOCKCHAIN_DB=${BLOCKCHAIN_DB}")
if (APPLE)
set(DEFAULT_STACK_TRACE OFF)
set(LIBUNWIND_LIBRARIES "")
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)
set(DEFAULT_STACK_TRACE OFF)
set(LIBUNWIND_LIBRARIES "")
Expand Down Expand Up @@ -430,8 +485,6 @@ add_definition_if_library_exists(c memset_s "string.h" HAVE_MEMSET_S)
add_definition_if_library_exists(c explicit_bzero "strings.h" HAVE_EXPLICIT_BZERO)
add_definition_if_function_found(strptime HAVE_STRPTIME)

add_definitions(-DAUTO_INITIALIZE_EASYLOGGINGPP)

# Generate header for embedded translations
include(ExternalProject)
ExternalProject_Add(generate_translations_header
Expand All @@ -446,10 +499,6 @@ add_subdirectory(external)
include_directories(${UNBOUND_INCLUDE})
link_directories(${UNBOUND_LIBRARY_DIRS})

# Final setup for easylogging++
include_directories(${EASYLOGGING_INCLUDE})
link_directories(${EASYLOGGING_LIBRARY_DIRS})

# Final setup for liblmdb
include_directories(${LMDB_INCLUDE})

Expand Down Expand Up @@ -621,8 +670,8 @@ else()
message(STATUS "AES support disabled")
endif()

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_FLAG} ${WARNINGS} ${C_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ${PIC_FLAG} ${C_SECURITY_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_CPP_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ${PIC_FLAG} ${CXX_SECURITY_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_FLAG} ${WARNINGS} ${C_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ${PIC_FLAG} ${C_SECURITY_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_CPP_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ${PIC_FLAG} ${CXX_SECURITY_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LD_SECURITY_FLAGS}")

# With GCC 6.1.1 the compiled binary malfunctions due to aliasing. Until that
Expand Down Expand Up @@ -786,6 +835,11 @@ if (${BOOST_IGNORE_SYSTEM_PATHS} STREQUAL "ON")
endif()

set(OLD_LIB_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})

if(MINGW)
set(Boost_NO_BOOST_CMAKE ON)
endif()

if(STATIC)
if(MINGW)
set(CMAKE_FIND_LIBRARY_SUFFIXES .a)
Expand All @@ -801,7 +855,7 @@ if(NOT Boost_FOUND)
die("Could not find Boost libraries, please make sure you have installed Boost or libboost-all-dev (1.58) or the equivalent")
elseif(Boost_FOUND)
message(STATUS "Found Boost Version: ${Boost_VERSION}")
if (Boost_VERSION VERSION_LESS 106200 AND NOT (OPENSSL_VERSION VERSION_LESS 1.1))
if (Boost_VERSION VERSION_LESS 1.62.0 AND NOT (OPENSSL_VERSION VERSION_LESS 1.1))
message(FATAL_ERROR "Boost older than 1.62 is too old to link with OpenSSL 1.1 or newer. "
"Update Boost or install OpenSSL 1.0 and set path to it when running cmake: "
"cmake -DOPENSSL_ROOT_DIR='/usr/include/openssl-1.0;/usr/lib/openssl-1.0'")
Expand Down
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.

PROJECT_NAME = "Monero"
PROJECT_NAME = "Ryo"

# 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
Expand Down
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2018, Ryo Currency Project
Copyright (c) 2019, Ryo Currency Project

Portions of this software are available under BSD-3 license. Please see ORIGINAL-LICENSE for details

Expand Down Expand Up @@ -30,7 +30,7 @@ As long as the following conditions are met:
Authors and copyright holders agree that:

8. This licence expires and the work covered by it is released into the
public domain on 1st of February 2019
public domain on 1st of February 2020

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
Expand Down
Loading