Skip to content

Commit eea7f43

Browse files
author
X-CASH-official
authored
Merge pull request #1 from zachhildreth/master
Bulletproofs and Public TX
2 parents 844dc0d + b3bab3d commit eea7f43

File tree

1,112 files changed

+51793
-175706
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,112 files changed

+51793
-175706
lines changed

CMakeLists.txt

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2018 XCash Project, Derived from 2014-2018, The Monero Project
1+
# Copyright (c) 2018 X-CASH Project, Derived from 2014-2018, The Monero Project
22
#
33
# All rights reserved.
44
#
@@ -137,24 +137,9 @@ endif()
137137

138138
if(ARCH_ID STREQUAL "ppc64le")
139139
set(PPC64LE 1)
140-
set(PPC64 0)
141-
set(PPC 0)
142-
143-
endif()
144-
145-
if(ARCH_ID STREQUAL "powerpc64" OR ARCH_ID STREQUAL "ppc64")
146-
set(PPC64LE 0)
147-
set(PPC64 1)
148-
set(PPC 0)
149140
endif()
150141

151-
if(ARCH_ID STREQUAL "powerpc")
152-
set(PPC64LE 0)
153-
set(PPC64 0)
154-
set(PPC 1)
155-
endif()
156-
157-
if(WIN32 OR ARM OR PPC64LE OR PPC64 OR PPC)
142+
if(WIN32 OR ARM)
158143
set(OPT_FLAGS_RELEASE "-O2")
159144
else()
160145
set(OPT_FLAGS_RELEASE "-Ofast")
@@ -492,11 +477,7 @@ else()
492477
if(ARCH STREQUAL "default")
493478
set(ARCH_FLAG "")
494479
elseif(PPC64LE)
495-
set(ARCH_FLAG "-mcpu=power8")
496-
elseif(PPC64)
497-
set(ARCH_FLAG "-mcpu=970")
498-
elseif(PPC)
499-
set(ARCH_FLAG "-mcpu=7400")
480+
set(ARCH_FLAG "-mcpu=${ARCH}")
500481
elseif(IOS AND ARCH STREQUAL "arm64")
501482
message(STATUS "IOS: Changing arch from arm64 to armv8")
502483
set(ARCH_FLAG "-march=armv8")
@@ -606,12 +587,12 @@ else()
606587
message(STATUS "AES support explicitly disabled")
607588
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_AES")
608589
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNO_AES")
609-
elseif(NOT ARM AND NOT PPC64LE AND NOT PPC64 AND NOT PPC)
590+
elseif(NOT ARM AND NOT PPC64LE)
610591
message(STATUS "AES support enabled")
611592
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes")
612593
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maes")
613-
elseif(PPC64LE OR PPC64 OR PPC)
614-
message(STATUS "AES support not available on POWER")
594+
elseif(PPC64LE)
595+
message(STATUS "AES support not available on ppc64le")
615596
elseif(ARM6)
616597
message(STATUS "AES support not available on ARMv6")
617598
elseif(ARM7)
@@ -813,8 +794,7 @@ endif()
813794

814795
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
815796
if(MINGW)
816-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wa,-mbig-obj")
817-
set(EXTRA_LIBRARIES mswsock;ws2_32;iphlpapi)
797+
set(EXTRA_LIBRARIES mswsock;ws2_32;iphlpapi;crypt32)
818798
set(ICU_LIBRARIES ${Boost_LOCALE_LIBRARY} icuio icuin icuuc icudt icutu iconv)
819799
elseif(APPLE OR OPENBSD OR ANDROID)
820800
set(EXTRA_LIBRARIES "")

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Contributing to X-CASH
22

33
A good way to help is to test, and report bugs. See
4-
[How to Report Bugs Effectively (by Simon Tatham)](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html)
4+
[How to Report Bugs Effectively (by Simon Tatham)](https://www.chiark.greenend.org.uk/~sgtatham/bugs.html)
55
if you want to help that way. Testing is invaluable in making a piece
66
of software solid and usable.
77

@@ -68,9 +68,9 @@ You should have received a copy of the GNU General Public License along with thi
6868
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.
6969

7070
The "X-CASH Maintainer Team" is defined in this document as the following users:
71-
- X-CASH-Official
72-
- GuilhemChaumont
73-
- plbgnt
71+
- fluffypony
72+
- xcashmooo
73+
- hyc
7474

7575
## Goals
7676

Dockerfile

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ RUN set -ex && \
2323
WORKDIR /usr/local
2424

2525
#Cmake
26-
ARG CMAKE_VERSION=3.11.4
27-
ARG CMAKE_VERSION_DOT=v3.11
28-
ARG CMAKE_HASH=8f864e9f78917de3e1483e256270daabc4a321741592c5b36af028e72bff87f5
26+
ARG CMAKE_VERSION=3.12.1
27+
ARG CMAKE_VERSION_DOT=v3.12
28+
ARG CMAKE_HASH=c53d5c2ce81d7a957ee83e3e635c8cda5dfe20c9d501a4828ee28e1615e57ab2
2929
RUN set -ex \
3030
&& curl -s -O https://cmake.org/files/${CMAKE_VERSION_DOT}/cmake-${CMAKE_VERSION}.tar.gz \
3131
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}.tar.gz" | sha256sum -c \
@@ -36,9 +36,9 @@ RUN set -ex \
3636
&& make install
3737

3838
## Boost
39-
ARG BOOST_VERSION=1_67_0
40-
ARG BOOST_VERSION_DOT=1.67.0
41-
ARG BOOST_HASH=2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba
39+
ARG BOOST_VERSION=1_68_0
40+
ARG BOOST_VERSION_DOT=1.68.0
41+
ARG BOOST_HASH=7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7
4242
RUN set -ex \
4343
&& curl -s -L -o boost_${BOOST_VERSION}.tar.bz2 https://dl.bintray.com/boostorg/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
4444
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
@@ -112,8 +112,10 @@ RUN set -ex \
112112
WORKDIR /src
113113
COPY . .
114114

115+
ENV USE_SINGLE_BUILDDIR=1
115116
ARG NPROC
116117
RUN set -ex && \
118+
git submodule init && git submodule update && \
117119
rm -rf build && \
118120
if [ -z "$NPROC" ] ; \
119121
then make -j$(nproc) release-static ; \
@@ -128,8 +130,7 @@ RUN set -ex && \
128130
apt-get --no-install-recommends --yes install ca-certificates && \
129131
apt-get clean && \
130132
rm -rf /var/lib/apt
131-
132-
COPY --from=builder /src/build/release/bin/* /usr/local/bin/
133+
COPY --from=builder /src/build/release/bin /usr/local/bin/
133134

134135
# Contains the blockchain
135136
VOLUME /root/.bitxcash

Doxyfile

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# This tag specifies the encoding used for all characters in the config file
2121
# that follow. The default is UTF-8 which is also the encoding used for all text
2222
# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
23-
# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
23+
# built into libc) for the transcoding. See https://www.gnu.org/software/libiconv
2424
# for the list of possible encodings.
2525
# The default value is: UTF-8.
2626

@@ -285,7 +285,7 @@ EXTENSION_MAPPING =
285285

286286
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
287287
# according to the Markdown format, which allows for more readable
288-
# documentation. See http://daringfireball.net/projects/markdown/ for details.
288+
# documentation. See https://daringfireball.net/projects/markdown/ for details.
289289
# The output of markdown processing is further processed by doxygen, so you can
290290
# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
291291
# case of backward compatibilities issues.
@@ -318,7 +318,7 @@ BUILTIN_STL_SUPPORT = NO
318318
CPP_CLI_SUPPORT = NO
319319

320320
# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
321-
# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
321+
# https://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
322322
# will parse them like normal C++ but will assume all classes use public instead
323323
# of private inheritance when no explicit protection keyword is present.
324324
# The default value is: NO.
@@ -677,7 +677,7 @@ LAYOUT_FILE =
677677
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
678678
# the reference definitions. This must be a list of .bib files. The .bib
679679
# extension is automatically appended if omitted. This requires the bibtex tool
680-
# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
680+
# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
681681
# For LaTeX the style of the bibliography can be controlled using
682682
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
683683
# search path. Do not use file names with spaces, bibtex cannot handle them. See
@@ -759,7 +759,7 @@ INPUT = src
759759
# This tag can be used to specify the character encoding of the source files
760760
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
761761
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
762-
# documentation (see: http://www.gnu.org/software/libiconv) for the list of
762+
# documentation (see: https://www.gnu.org/software/libiconv) for the list of
763763
# possible encodings.
764764
# The default value is: UTF-8.
765765

@@ -951,7 +951,7 @@ SOURCE_TOOLTIPS = YES
951951
# If the USE_HTAGS tag is set to YES then the references to source code will
952952
# point to the HTML generated by the htags(1) tool instead of doxygen built-in
953953
# source browser. The htags tool is part of GNU's global source tagging system
954-
# (see http://www.gnu.org/software/global/global.html). You will need version
954+
# (see https://www.gnu.org/software/global/global.html). You will need version
955955
# 4.8.6 or higher.
956956
#
957957
# To use it do the following:
@@ -1094,7 +1094,7 @@ HTML_EXTRA_FILES =
10941094
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
10951095
# will adjust the colors in the stylesheet and background images according to
10961096
# this color. Hue is specified as an angle on a colorwheel, see
1097-
# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
1097+
# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
10981098
# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
10991099
# purple, and 360 is red again.
11001100
# Minimum value: 0, maximum value: 359, default value: 220.
@@ -1152,12 +1152,12 @@ HTML_INDEX_NUM_ENTRIES = 100
11521152

11531153
# If the GENERATE_DOCSET tag is set to YES, additional index files will be
11541154
# generated that can be used as input for Apple's Xcode 3 integrated development
1155-
# environment (see: http://developer.apple.com/tools/xcode/), introduced with
1155+
# environment (see: https://developer.apple.com/tools/xcode/), introduced with
11561156
# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
11571157
# Makefile in the HTML output directory. Running make will produce the docset in
11581158
# that directory and running make install will install the docset in
11591159
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
1160-
# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
1160+
# startup. See https://developer.apple.com/tools/creatingdocsetswithdoxygen.html
11611161
# for more information.
11621162
# The default value is: NO.
11631163
# This tag requires that the tag GENERATE_HTML is set to YES.
@@ -1197,7 +1197,7 @@ DOCSET_PUBLISHER_NAME = Publisher
11971197
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
11981198
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
11991199
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
1200-
# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
1200+
# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on
12011201
# Windows.
12021202
#
12031203
# The HTML Help Workshop contains a compiler that can convert all HTML output
@@ -1273,15 +1273,15 @@ QCH_FILE =
12731273

12741274
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
12751275
# Project output. For more information please see Qt Help Project / Namespace
1276-
# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
1276+
# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
12771277
# The default value is: org.doxygen.Project.
12781278
# This tag requires that the tag GENERATE_QHP is set to YES.
12791279

12801280
QHP_NAMESPACE = org.doxygen.Project
12811281

12821282
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
12831283
# Help Project output. For more information please see Qt Help Project / Virtual
1284-
# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
1284+
# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
12851285
# folders).
12861286
# The default value is: doc.
12871287
# This tag requires that the tag GENERATE_QHP is set to YES.
@@ -1290,23 +1290,23 @@ QHP_VIRTUAL_FOLDER = doc
12901290

12911291
# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
12921292
# filter to add. For more information please see Qt Help Project / Custom
1293-
# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
1293+
# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
12941294
# filters).
12951295
# This tag requires that the tag GENERATE_QHP is set to YES.
12961296

12971297
QHP_CUST_FILTER_NAME =
12981298

12991299
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
13001300
# custom filter to add. For more information please see Qt Help Project / Custom
1301-
# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
1301+
# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
13021302
# filters).
13031303
# This tag requires that the tag GENERATE_QHP is set to YES.
13041304

13051305
QHP_CUST_FILTER_ATTRS =
13061306

13071307
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
13081308
# project's filter section matches. Qt Help Project / Filter Attributes (see:
1309-
# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
1309+
# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
13101310
# This tag requires that the tag GENERATE_QHP is set to YES.
13111311

13121312
QHP_SECT_FILTER_ATTRS =
@@ -1411,7 +1411,7 @@ FORMULA_FONTSIZE = 10
14111411
FORMULA_TRANSPARENT = YES
14121412

14131413
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
1414-
# http://www.mathjax.org) which uses client side Javascript for the rendering
1414+
# https://www.mathjax.org) which uses client side Javascript for the rendering
14151415
# instead of using prerendered bitmaps. Use this if you do not have LaTeX
14161416
# installed or if you want to formulas look prettier in the HTML output. When
14171417
# enabled you may also need to install MathJax separately and configure the path
@@ -1423,7 +1423,7 @@ USE_MATHJAX = NO
14231423

14241424
# When MathJax is enabled you can set the default output format to be used for
14251425
# the MathJax output. See the MathJax site (see:
1426-
# http://docs.mathjax.org/en/latest/output.html) for more details.
1426+
# https://docs.mathjax.org/en/latest/output.html) for more details.
14271427
# Possible values are: HTML-CSS (which is slower, but has the best
14281428
# compatibility), NativeMML (i.e. MathML) and SVG.
14291429
# The default value is: HTML-CSS.
@@ -1438,11 +1438,11 @@ MATHJAX_FORMAT = HTML-CSS
14381438
# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
14391439
# Content Delivery Network so you can quickly see the result without installing
14401440
# MathJax. However, it is strongly recommended to install a local copy of
1441-
# MathJax from http://www.mathjax.org before deployment.
1442-
# The default value is: http://cdn.mathjax.org/mathjax/latest.
1441+
# MathJax from https://www.mathjax.org before deployment.
1442+
# The default value is: https://cdn.mathjax.org/mathjax/latest.
14431443
# This tag requires that the tag USE_MATHJAX is set to YES.
14441444

1445-
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
1445+
MATHJAX_RELPATH = https://cdn.mathjax.org/mathjax/latest
14461446

14471447
# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
14481448
# extension names that should be enabled during MathJax rendering. For example
@@ -1453,7 +1453,7 @@ MATHJAX_EXTENSIONS =
14531453

14541454
# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
14551455
# of code that will be used on startup of the MathJax code. See the MathJax site
1456-
# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
1456+
# (see: https://docs.mathjax.org/en/latest/output.html) for more details. For an
14571457
# example see the documentation.
14581458
# This tag requires that the tag USE_MATHJAX is set to YES.
14591459

@@ -1500,7 +1500,7 @@ SERVER_BASED_SEARCH = NO
15001500
#
15011501
# Doxygen ships with an example indexer ( doxyindexer) and search engine
15021502
# (doxysearch.cgi) which are based on the open source search engine library
1503-
# Xapian (see: http://xapian.org/).
1503+
# Xapian (see: https://xapian.org/).
15041504
#
15051505
# See the section "External Indexing and Searching" for details.
15061506
# The default value is: NO.
@@ -1513,7 +1513,7 @@ EXTERNAL_SEARCH = NO
15131513
#
15141514
# Doxygen ships with an example indexer ( doxyindexer) and search engine
15151515
# (doxysearch.cgi) which are based on the open source search engine library
1516-
# Xapian (see: http://xapian.org/). See the section "External Indexing and
1516+
# Xapian (see: https://xapian.org/). See the section "External Indexing and
15171517
# Searching" for details.
15181518
# This tag requires that the tag SEARCHENGINE is set to YES.
15191519

@@ -1684,7 +1684,7 @@ LATEX_SOURCE_CODE = NO
16841684

16851685
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
16861686
# bibliography, e.g. plainnat, or ieeetr. See
1687-
# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
1687+
# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
16881688
# The default value is: plain.
16891689
# This tag requires that the tag GENERATE_LATEX is set to YES.
16901690

@@ -2051,7 +2051,7 @@ HIDE_UNDOC_RELATIONS = YES
20512051

20522052
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
20532053
# available from the path. This tool is part of Graphviz (see:
2054-
# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
2054+
# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
20552055
# Bell Labs. The other options in this section have no effect if this option is
20562056
# set to NO
20572057
# The default value is: NO.

Makefile

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2018 XCash Project, Derived from 2014-2018, The Monero Project
1+
# Copyright (c) 2018 X-CASH Project, Derived from 2014-2018, The Monero Project
22
#
33
# All rights reserved.
44
#
@@ -49,14 +49,6 @@ debug-static-all:
4949
mkdir -p build/debug
5050
cd build/debug && cmake -D BUILD_TESTS=ON -D STATIC=ON -D CMAKE_BUILD_TYPE=Debug ../.. && $(MAKE)
5151

52-
debug-static-win64:
53-
mkdir -p build/debug
54-
cd build/debug && cmake -G "MSYS Makefiles" -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=../../cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=c:/msys64 ../.. && $(MAKE)
55-
56-
debug-static-win32:
57-
mkdir -p build/debug
58-
cd build/debug && cmake -G "MSYS Makefiles" -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Debug -D BUILD_TAG="win-x32" -D CMAKE_TOOLCHAIN_FILE=../../cmake/32-bit-toolchain.cmake -D MSYS2_FOLDER=c:/msys32 ../.. && $(MAKE)
59-
6052
cmake-release:
6153
mkdir -p build/release
6254
cd build/release && cmake -D CMAKE_BUILD_TYPE=Release ../..

README.i18n.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ In order to use the same translation workflow as the [X-CASH Core GUI](https://g
77

88
### Tools for translators
99

10-
In order to create, update or build translations files, you need to have Qt tools installed. For translating, you need either the **Qt Linguist GUI** ([part of QT Creator](https://www.qt.io/download-open-source/#allDownloadsDiv-9) or a [3rd-party standalone version](https://github.com/lelegard/qtlinguist-installers/releases)), or another tool that supports Qt ts files, such as Transifex. The files are XML, so they can be edited in any plain text editor if needed.
10+
In order to create, update or build translations files, you need to have Qt tools installed. For translating, you need either the **Qt Linguist GUI** ([part of Qt Creator](https://www.qt.io/download) or a [3rd-party standalone version](https://github.com/lelegard/qtlinguist-installers/releases)), or another tool that supports Qt ts files, such as Transifex. The files are XML, so they can be edited in any plain text editor if needed.
1111

1212
### Creating / modifying translations
1313

0 commit comments

Comments
 (0)