Skip to content

Commit d2bec0e

Browse files
Merge branch 'develop' of https://github.com/dashpay/dash into develop
2 parents 2ee770c + 6fbe514 commit d2bec0e

Some content is hidden

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

77 files changed

+1850
-989
lines changed

.github/workflows/build-src.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ jobs:
7979
make -j$(nproc) -C depends HOST="${{ inputs.depends-host }}" ${{ inputs.depends-dep-opts }}
8080
shell: bash
8181

82-
- name: Manage ccache
83-
uses: actions/cache@v4
82+
- name: Restore ccache cache
83+
uses: actions/cache/restore@v4
8484
with:
8585
path: |
86-
/cache
86+
/cache/ccache
8787
key: ccache-${{ hashFiles('contrib/containers/ci/ci.Dockerfile', 'depends/packages/*') }}-${{ inputs.build-target }}-${{ github.sha }}
8888
restore-keys: |
8989
ccache-${{ hashFiles('contrib/containers/ci/ci.Dockerfile', 'depends/packages/*') }}-${{ inputs.build-target }}-
@@ -99,8 +99,20 @@ jobs:
9999
./ci/dash/build_src.sh
100100
ccache -X 9
101101
ccache -c
102+
du -hd0 "${BASE_OUTDIR}"
103+
rm -rf "${BASE_OUTDIR}"
102104
shell: bash
103105

106+
- name: Save ccache cache
107+
if: |
108+
github.event_name == 'push' &&
109+
github.ref_name == github.event.repository.default_branch
110+
uses: actions/cache/save@v4
111+
with:
112+
path: |
113+
/cache/ccache
114+
key: ccache-${{ hashFiles('contrib/containers/ci/ci.Dockerfile', 'depends/packages/*') }}-${{ inputs.build-target }}-${{ github.sha }}
115+
104116
- name: Run linters
105117
if: inputs.build-target == 'linux64_multiprocess'
106118
run: |
@@ -111,7 +123,6 @@ jobs:
111123

112124
- name: Run unit tests
113125
run: |
114-
BASE_OUTDIR="/output"
115126
BUILD_TARGET="${{ inputs.build-target }}"
116127
source ./ci/dash/matrix.sh
117128
./ci/dash/test_unittests.sh

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ src/dash-cli
1212
src/dash-gui
1313
src/dash-node
1414
src/dash-tx
15+
src/dash-util
1516
src/dash-wallet
1617
src/test/fuzz/fuzz
1718
src/test/test_dash

Makefile.am

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ BITCOIN_QT_BIN=$(top_builddir)/src/qt/$(BITCOIN_GUI_NAME)$(EXEEXT)
2525
BITCOIN_TEST_BIN=$(top_builddir)/src/test/$(BITCOIN_TEST_NAME)$(EXEEXT)
2626
BITCOIN_CLI_BIN=$(top_builddir)/src/$(BITCOIN_CLI_NAME)$(EXEEXT)
2727
BITCOIN_TX_BIN=$(top_builddir)/src/$(BITCOIN_TX_NAME)$(EXEEXT)
28+
BITCOIN_UTIL_BIN=$(top_builddir)/src/$(BITCOIN_UTIL_NAME)$(EXEEXT)
2829
BITCOIN_WALLET_BIN=$(top_builddir)/src/$(BITCOIN_WALLET_TOOL_NAME)$(EXEEXT)
2930
BITCOIN_NODE_BIN=$(top_builddir)/src/$(BITCOIN_MP_NODE_NAME)$(EXEEXT)
3031
BITCOIN_GUI_BIN=$(top_builddir)/src/$(BITCOIN_MP_GUI_NAME)$(EXEEXT)
@@ -81,6 +82,7 @@ $(BITCOIN_WIN_INSTALLER): all-recursive
8182
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release
8283
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_TX_BIN) $(top_builddir)/release
8384
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_WALLET_BIN) $(top_builddir)/release
85+
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_UTIL_BIN) $(top_builddir)/release
8486
@test -f $(MAKENSIS) && echo 'OutFile "$@"' | cat $(top_builddir)/share/setup.nsi - | $(MAKENSIS) -V2 - || \
8587
echo error: could not build $@
8688
@echo built $@
@@ -150,6 +152,9 @@ $(BITCOIN_CLI_BIN): FORCE
150152
$(BITCOIN_TX_BIN): FORCE
151153
$(MAKE) -C src $(@F)
152154

155+
$(BITCOIN_UTIL_BIN): FORCE
156+
$(MAKE) -C src $(@F)
157+
153158
$(BITCOIN_WALLET_BIN): FORCE
154159
$(MAKE) -C src $(@F)
155160

ci/test/00_setup_env_native_fuzz.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ export RUN_UNIT_TESTS=false
1515
export RUN_FUNCTIONAL_TESTS=false
1616
export RUN_FUZZ_TESTS=true
1717
export GOAL="install"
18-
export BITCOIN_CONFIG="--enable-zmq --disable-ccache --enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer CC='clang-19 -ftrivial-auto-var-init=pattern' CXX='clang++-19 -ftrivial-auto-var-init=pattern'"
18+
export BITCOIN_CONFIG="--enable-zmq --enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer CC='clang-19 -ftrivial-auto-var-init=pattern' CXX='clang++-19 -ftrivial-auto-var-init=pattern'"

configure.ac

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ BITCOIN_GUI_NAME=dash-qt
3434
BITCOIN_TEST_NAME=test_dash
3535
BITCOIN_CLI_NAME=dash-cli
3636
BITCOIN_TX_NAME=dash-tx
37+
BITCOIN_UTIL_NAME=dash-util
3738
BITCOIN_WALLET_TOOL_NAME=dash-wallet
3839
dnl Multi Process
3940
BITCOIN_MP_NODE_NAME=dash-node
@@ -740,7 +741,7 @@ CORE_CPPFLAGS="$CORE_CPPFLAGS -DHAVE_BUILD_INFO -DGSL_NO_IOSTREAMS"
740741

741742
AC_ARG_WITH([utils],
742743
[AS_HELP_STRING([--with-utils],
743-
[build dash-cli dash-tx dash-wallet (default=yes)])],
744+
[build dash-cli dash-tx dash-util dash-wallet (default=yes)])],
744745
[build_bitcoin_utils=$withval],
745746
[build_bitcoin_utils=yes])
746747

@@ -762,6 +763,12 @@ AC_ARG_ENABLE([util-wallet],
762763
[build_bitcoin_wallet=$enableval],
763764
[build_bitcoin_wallet=$build_bitcoin_utils])
764765

766+
AC_ARG_ENABLE([util-util],
767+
[AS_HELP_STRING([--enable-util-util],
768+
[build dash-util])],
769+
[build_bitcoin_util=$enableval],
770+
[build_bitcoin_util=$build_bitcoin_utils])
771+
765772
AC_ARG_WITH([libs],
766773
[AS_HELP_STRING([--with-libs],
767774
[build libraries (default=yes)])],
@@ -1429,6 +1436,7 @@ if test "$enable_fuzz" = "yes"; then
14291436
build_bitcoin_utils=no
14301437
build_bitcoin_cli=no
14311438
build_bitcoin_tx=no
1439+
build_bitcoin_util=no
14321440
build_bitcoin_wallet=no
14331441
build_bitcoind=no
14341442
build_bitcoin_libs=no
@@ -1763,6 +1771,10 @@ AC_MSG_CHECKING([whether to build dash-wallet])
17631771
AM_CONDITIONAL([BUILD_BITCOIN_WALLET], [test $build_bitcoin_wallet = "yes"])
17641772
AC_MSG_RESULT($build_bitcoin_wallet)
17651773

1774+
AC_MSG_CHECKING([whether to build dash-util])
1775+
AM_CONDITIONAL([BUILD_BITCOIN_UTIL], [test $build_bitcoin_util = "yes"])
1776+
AC_MSG_RESULT($build_bitcoin_util)
1777+
17661778
AC_MSG_CHECKING([whether to build libraries])
17671779
AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test $build_bitcoin_libs = "yes"])
17681780
if test "$build_bitcoin_libs" = "yes"; then
@@ -1916,7 +1928,7 @@ else
19161928
fi
19171929
AC_MSG_RESULT($dsymutil_needs_flat)
19181930

1919-
if test "$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$enable_fuzz_binary$use_bench$use_tests" = "nononononononono"; then
1931+
if test "$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_util$build_bitcoind$bitcoin_enable_qt$enable_fuzz_binary$use_bench$use_tests" = "nonononononononono"; then
19201932
AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui --enable-fuzz(-binary) --enable-bench or --enable-tests])
19211933
fi
19221934

@@ -1976,6 +1988,7 @@ AC_SUBST(BITCOIN_GUI_NAME)
19761988
AC_SUBST(BITCOIN_TEST_NAME)
19771989
AC_SUBST(BITCOIN_CLI_NAME)
19781990
AC_SUBST(BITCOIN_TX_NAME)
1991+
AC_SUBST(BITCOIN_UTIL_NAME)
19791992
AC_SUBST(BITCOIN_WALLET_TOOL_NAME)
19801993
AC_SUBST(BITCOIN_MP_NODE_NAME)
19811994
AC_SUBST(BITCOIN_MP_GUI_NAME)

contrib/devtools/gen-manpages.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
'src/dash-cli',
1313
'src/dash-tx',
1414
'src/dash-wallet',
15-
#'src/dash-util',
15+
'src/dash-util',
1616
'src/qt/dash-qt',
1717
]
1818

contrib/tracing/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,18 +177,18 @@ function takes longer than the threshold, information about the block, is
177177
printed. For more details, see the header comment in the script.
178178

179179
The following command can be used to benchmark, for example, `ConnectBlock()`
180-
between height 20000 and 38000 on SigNet while logging all blocks that take
180+
between height 20000 and 38000 on DevNet while logging all blocks that take
181181
longer than 25ms to connect.
182182

183183
```
184184
$ bpftrace contrib/tracing/connectblock_benchmark.bt 20000 38000 25
185185
```
186186

187-
In a different terminal, starting Dash Core in SigNet mode and with
187+
In a different terminal, starting Dash Core in DevNet mode and with
188188
re-indexing enabled.
189189

190190
```
191-
$ ./src/dashd -signet -reindex
191+
$ ./src/dashd -devnet -reindex
192192
```
193193

194194
This produces the following output.

doc/REST-interface.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ Unauthenticated REST Interface
33

44
The REST API can be enabled with the `-rest` option.
55

6-
The interface runs on the same port as the JSON-RPC interface, by default port 9998 for mainnet and port 19998 for testnet.
6+
The interface runs on the same port as the JSON-RPC interface, by default port 9998 for mainnet, port 19998 for testnet,
7+
port 19788 for devnet, and port 19898 for regtest.
78

89
REST Interface consistency guarantees
910
-------------------------------------

doc/dash-conf.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Comments may appear in two ways:
3131
### Network specific options
3232

3333
Network specific options can be:
34-
- placed into sections with headers `[main]` (not `[mainnet]`), `[test]` (not `[testnet]`) or `[regtest]`;
34+
- placed into sections with headers `[main]` (not `[mainnet]`), `[test]` (not `[testnet]`), `[devnet]` or `[regtest]`;
3535
- prefixed with a chain name; e.g., `regtest.maxmempool=100`.
3636

3737
Network specific options take precedence over non-network specific options.

doc/developer-notes.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Developer Notes
1515
- [Show sources in debugging](#show-sources-in-debugging)
1616
- [Compiling for gprof profiling](#compiling-for-gprof-profiling)
1717
- [`debug.log`](#debuglog)
18-
- [Testnet and Regtest modes](#testnet-and-regtest-modes)
18+
- [Devnet, testnet, and regtest modes](#devnet-testnet-and-regtest-modes)
1919
- [DEBUG_LOCKORDER](#debug_lockorder)
2020
- [DEBUG_LOCKCONTENTION](#debug_lockcontention)
2121
- [Valgrind suppressions file](#valgrind-suppressions-file)
@@ -398,14 +398,15 @@ all log categories and `-loglevel=trace` will turn on all log severity levels.
398398
The Qt code routes `qDebug()` output to `debug.log` under category "qt": run with `-debug=qt`
399399
to see it.
400400

401-
### Testnet and Regtest modes
401+
### Devnet, testnet, and regtest modes
402402

403-
Run with the `-testnet` option to run with "play coins" on the test network, if you
404-
are testing multi-machine code that needs to operate across the internet.
403+
If you are testing multi-machine code that needs to operate across the internet,
404+
you can run with `-testnet` config option to test with "play coins" on a test network.
405+
Or create your own chain using `-devnet` config option.
405406

406-
If you are testing something that can run on one machine, run with the `-regtest` option.
407-
In regression test mode, blocks can be created on-demand; see [test/functional/](/test/functional) for tests
408-
that run in `-regtest` mode.
407+
If you are testing something that can run on one machine, run with the
408+
`-regtest` option. In regression test mode, blocks can be created on demand;
409+
see [test/functional/](/test/functional) for tests that run in `-regtest` mode.
409410

410411
### DEBUG_LOCKORDER
411412

0 commit comments

Comments
 (0)