Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Merge Dev Branch into Master for New Hardfork-18 #136

Merged
merged 235 commits into from
Dec 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
235 commits
Select commit Hold shift + click to select a range
32cbd25
offline wallet creation fixed
jeflinfrank Dec 12, 2022
d5d094a
Merge pull request #93 from jeflinfrank/dev
sanada08 Dec 12, 2022
2dda3a9
boost,unbound,curl staic-deps version upgrade
victor-tucci Mar 4, 2023
e81b401
serialization cmake removed it contains only headers
victor-tucci Mar 7, 2023
9af20a9
Merge pull request #97 from victor-tucci/dev
sanada08 Apr 6, 2023
0f5919c
Add non-blocking isRefreshing() and Add locks around the refresh thread
victor-tucci Apr 7, 2023
4407d4c
unlock_balance call for wallet_api fix
victor-tucci Apr 7, 2023
1582aa5
conditional expression is ambiguous error fix while wallet build
victor-tucci Apr 8, 2023
ae63f36
isStake() function added for walletapi
victor-tucci Apr 10, 2023
dcf9dbe
inlcude stake_info in list_current_stakes()
victor-tucci Apr 11, 2023
ab3475a
Replace openssl sha256 implementation with libsodium
victor-tucci Apr 13, 2023
b842912
removed openssl usage from all the files
victor-tucci Apr 17, 2023
78d2998
oxen-encoding submodule added
victor-tucci Apr 17, 2023
e9ec023
Add fmt submodule
Tore-tto Apr 18, 2023
0ff49cf
update prepare registration
MogamboPuri Apr 18, 2023
f6a0b25
update oxenmq to oxenc
victor-tucci Apr 19, 2023
5028f79
Merge pull request #3 from victor-tucci/wallet-api-refresh-locks
victor-tucci Apr 19, 2023
e900875
Merge branch 'dev' into wallet2-api-stake
victor-tucci Apr 19, 2023
462afa1
Merge pull request #4 from victor-tucci/wallet2-api-stake
victor-tucci Apr 19, 2023
816bef9
Merge pull request #5 from victor-tucci/openssl-remove
victor-tucci Apr 19, 2023
87e0020
Merge branch 'dev' into update-encoding
victor-tucci Apr 19, 2023
fbcdba8
Merge pull request #6 from victor-tucci/update-encoding
victor-tucci Apr 19, 2023
19873f3
Merge branch 'Beldex-Coin:master' into fmt-submodule-update
Tore-tto Apr 19, 2023
4c83457
update fmt::format for lmdb and rpc
deen-kakarot Apr 20, 2023
5e64cfc
removed UPnP support
victor-tucci Apr 20, 2023
4f43147
removed unused variable also the macos build warnings
victor-tucci Apr 21, 2023
f2fd8bb
submodule are updated to stable-versions
victor-tucci Apr 21, 2023
eb0dcb9
Replace epee hex with oxen-encoding
victor-tucci Apr 25, 2023
3bedffe
Replace epee base64 with oxen-encoding
victor-tucci Apr 25, 2023
874c48f
static inline functions in headers merely inline instead
victor-tucci Apr 25, 2023
7ed7a11
used inline struct instead of static
victor-tucci Apr 25, 2023
09a5024
removed unused ASCII_OUTPUT_MAGIC
victor-tucci Apr 25, 2023
00f1943
redundant size checks are removed
victor-tucci Apr 25, 2023
bfc6baf
Merge pull request #99 from MogamboPuri/prepare-registration-update
sanada08 Apr 25, 2023
7339364
Remove openssl, unbound, expat, OpenAlias
victor-tucci Apr 25, 2023
e267f2a
update fmt::format for gen_multisig, simplewallet and wallet_args
Tore-tto Apr 26, 2023
770ba46
update fmt::format for wallet_rpc_server
deen-kakarot Apr 26, 2023
6887d91
android build fix
victor-tucci Apr 26, 2023
29936d8
log_fix
Tore-tto Apr 27, 2023
6d415bc
display height for show_transfers fixed
deen-kakarot May 2, 2023
584601c
more epee purging
victor-tucci May 3, 2023
2b8f032
logger rebranding
victor-tucci May 4, 2023
f36a87e
remove useless atomic calculations
victor-tucci May 4, 2023
5b99b66
Removes macro and goto code
victor-tucci May 4, 2023
d363405
remove use of deprecated ftime
victor-tucci May 4, 2023
47d72c9
mining speed log fixed
Tore-tto May 9, 2023
c856e96
android-api build fix
victor-tucci May 11, 2023
6ab56a4
Fix invalid balance in view only wallet with imported key images
MogamboPuri May 11, 2023
e753784
Merge pull request #100 from MogamboPuri/view-only-wallet-fix
sanada08 May 14, 2023
28c6835
Merge branch 'Beldex-Coin:dev' into dev
victor-tucci May 14, 2023
ff3742a
Merge pull request #7 from victor-tucci/deb-updates
victor-tucci May 14, 2023
20fc1f8
Merge branch 'dev' into fmt-submodule-update
Tore-tto May 14, 2023
7d7b393
Merge pull request #1 from Tore-tto/fmt-submodule-update
Tore-tto May 14, 2023
240b0d2
Modified print_locked_stakes output
deen-kakarot May 15, 2023
c3652f4
Merge pull request #2 from Tore-tto/better-print-locked-stakes
deen-kakarot May 15, 2023
d5ba834
prevent stake unlocks for small holdings
peter-pratt May 22, 2023
89e3af8
Merge pull request #3 from Tore-tto/prevent-unlocks-small-holdings
Tore-tto May 22, 2023
74ae231
Reformats the CSV output to be a little cleaner using fmt
Tore-tto May 23, 2023
06b45b8
openssl ,expact and unbound are removed in docker
victor-tucci May 24, 2023
05fe6a5
Merge pull request #8 from victor-tucci/build-fix
victor-tucci May 24, 2023
d704d9e
prevent stake unlocks for small holdings
peter-pratt May 24, 2023
579f6b3
Merge pull request #5 from Tore-tto/prevent-unlocks-small-holdings
peter-pratt May 24, 2023
94898d9
Fix negative coinbase emissions
peter-pratt May 24, 2023
853d666
Merge pull request #6 from Tore-tto/negative-emissions
peter-pratt May 24, 2023
f3e78fb
unexpected error and feature::FEE_BURNING error got fixed
peter-pratt May 25, 2023
f81babb
Merge pull request #7 from Tore-tto/negative-emissions
peter-pratt May 25, 2023
4ee65a3
Warnings for empty tx blob
MogamboPuri May 25, 2023
851d78c
current info for ourself in master node list
Tore-tto Jun 2, 2023
5ae04ac
Merge pull request #8 from Tore-tto/mn-self-intro
Tore-tto Jun 5, 2023
1649a7f
minor bug fix in minor_reward
victor-tucci Jun 8, 2023
28f2467
Merge pull request #9 from victor-tucci/minor-reward-bug-fix
victor-tucci Jun 8, 2023
24d00db
Merge pull request #101 from victor-tucci/dev
sanada08 Jun 9, 2023
2e0de5c
operator address log added for better looking
deen-kakarot Jun 9, 2023
bec0b04
Merge pull request #9 from Tore-tto/better-print-locked-stakes
deen-kakarot Jun 9, 2023
2b96d2f
daemon validation for restrict unlock for the small contributor
victor-tucci Jun 10, 2023
3384e40
Split up turtle arch branches
victor-tucci Jun 12, 2023
50505b8
removed unused function
victor-tucci Jun 12, 2023
d1b1d17
aes flags property setup for cn-turtle compilation
victor-tucci Jun 12, 2023
585eae0
Disable LTO for cncrypto on gcc-11
victor-tucci Jun 12, 2023
6188974
skip most test_variant2_int_sqrt values
victor-tucci Jun 12, 2023
efbcb5f
Avoid integer truncation in decoy selection
victor-tucci Jun 12, 2023
29ebce8
Create HWDEV file by default for hardware wallets
victor-tucci Jun 13, 2023
70897c1
add entire range of udev rules
victor-tucci Jun 13, 2023
e8f6014
Merge pull request #102 from Tore-tto/dev
sanada08 Jun 13, 2023
aea92f3
Add short_duration for single-unit time printing
victor-tucci Jun 13, 2023
95877a1
Merge pull request #104 from victor-tucci/udev-rules
sanada08 Jun 14, 2023
fe50b84
device: C++ cleanups and modernization
victor-tucci Jun 14, 2023
e492eb4
Add LedgerTCP hardware wallet support
victor-tucci Jun 14, 2023
169e797
Merge branch 'dev' into ledger-speculos
victor-tucci Jun 14, 2023
401c753
Merge pull request #10 from victor-tucci/ledger-speculos
victor-tucci Jun 14, 2023
16d7404
Merge pull request #103 from victor-tucci/default-hwdev-file
sanada08 Jun 15, 2023
cafd9dd
Replace hook virtual calls with std::function
victor-tucci Jun 15, 2023
f324a8e
Make hooks use exceptions on error rather than bool returns
victor-tucci Jun 15, 2023
5cbbca2
Rename block_added hook to block_add
victor-tucci Jun 15, 2023
a964c7a
Add and use post-block-added hooks; fix block notify race
victor-tucci Jun 15, 2023
cd5f467
Rewrite trash tools::Notify
victor-tucci Jun 16, 2023
12c9ec6
Merge branch 'Beldex-Coin:dev' into dev
victor-tucci Jun 16, 2023
f8a6aa9
Merge pull request #105 from victor-tucci/dev
sanada08 Jun 16, 2023
b9d0d00
Unable to process block fix
victor-tucci Jun 16, 2023
965d395
Add pubkey_ed25519 field to SS & belnet pings
victor-tucci Jun 16, 2023
cacbde9
usage updated for print locked stakes
deen-kakarot Jun 19, 2023
a4d98df
Merge pull request #106 from victor-tucci/block-notify-race
sanada08 Jul 6, 2023
4e02039
test-case build fix for libwallet_api
victor-tucci Jul 14, 2023
3c63569
Some of the testcases are disabled for bnstesting
victor-tucci Jul 14, 2023
db8a58e
basic function for buy BNS from libwalletapi
victor-tucci Jul 14, 2023
aa49e37
testcase for the bns_buy
victor-tucci Jul 14, 2023
a27c3be
typo fix in liwalletapi testcase
victor-tucci Jul 14, 2023
75cccd4
validate_bns_type function declaration added in walletImpl struct
victor-tucci Jul 17, 2023
561fed7
is_bns() function added in transaction_info
victor-tucci Jul 17, 2023
1e7b0e7
Testcase for wrong bnsType
victor-tucci Jul 17, 2023
7f883b6
validate_bns updated for checking hf_version
victor-tucci Jul 17, 2023
683ec8e
Merge pull request #107 from victor-tucci/aux-pubkey-checks
sanada08 Jul 18, 2023
ad98ebb
New testcase for bnsBuy with old value
victor-tucci Jul 18, 2023
50cc314
error fixed
deen-kakarot Jul 18, 2023
ad16f39
bnsUpdateTransaction() has added for libwalletapi
Tore-tto Jul 18, 2023
a0584b7
testcases added for bnsUpdateTransaction()
deen-kakarot Jul 18, 2023
7cd8ce2
ERROR: reason are added into the pendingTransaction::status()
victor-tucci Jul 18, 2023
3da269a
bnsRenewTransaction() has added for libwalletapi
MogamboPuri Jul 18, 2023
3406b37
bnsRenewTransaction() has added for libwalletapi
MogamboPuri Jul 18, 2023
6093eaf
testcase added for bnsRenewTransaction()
peter-pratt Jul 18, 2023
d46c003
moreTestCases added for bnsRenewTransaction()
peter-pratt Jul 19, 2023
85cce0f
Merge pull request #108 from deen-kakarot/better-print-locked-stakes
sanada08 Jul 19, 2023
f3c50ca
update print_locked_stake log
deen-kakarot Jul 19, 2023
087da2a
testcase added for wrong value bnsUpdateTransaction()
deen-kakarot Jul 19, 2023
aeb07d4
updated test cases for bnsRenewTransaction()
peter-pratt Jul 19, 2023
3e9bddb
bns type validation added for wallet
Tore-tto Jul 20, 2023
e3e291a
countBns() added for libwalletapi
peter-pratt Jul 21, 2023
40f44ec
Testcases added for countBns()
MogamboPuri Jul 21, 2023
8be8fa0
testcases fixed for bnsrenew
Tore-tto Jul 21, 2023
4aba5fd
Merge pull request #109 from victor-tucci/turtle-fix
sanada08 Jul 25, 2023
ea37578
bns_buy_mapping with belnet,bchat,wallet for a single name
victor-tucci Jul 31, 2023
4cfd11a
burn amount are updated based on the years
victor-tucci Jul 31, 2023
dbcb033
BNS name should be only end with .bdx
victor-tucci Aug 1, 2023
98c4299
bns_buy for the wallet-rpc
victor-tucci Aug 1, 2023
93db8f2
bns_names_to_owner,bns_known_names,bns_hash_name functions are update…
victor-tucci Aug 1, 2023
0d534c4
bns_add_known_names wallet-rpc updated
victor-tucci Aug 1, 2023
a6295fd
Merge pull request #110 from victor-tucci/cn-variant2-sqrt-test
sanada08 Aug 2, 2023
992a40d
bns_by_owner() updated for cli
deen-kakarot Aug 2, 2023
853e5e1
bns_resolve daemon RPC is updated
victor-tucci Aug 2, 2023
4ea215e
log updated for bns_by_owner()
deen-kakarot Aug 3, 2023
c3129b8
Merge pull request #111 from victor-tucci/integer-trunc-avoid
sanada08 Aug 3, 2023
76e357e
bns_lookup() updated for cli
MogamboPuri Aug 3, 2023
9d92979
bns_renew_mapping() updated for cli
peter-pratt Aug 3, 2023
dbdb1be
bns_update_mapping() updated for cli
Tore-tto Aug 3, 2023
86e5554
make_update_mapping_signature() usage updated
Tore-tto Aug 3, 2023
dc7f0bf
bns_update_mapping NULL replaced with (none) in the print log
victor-tucci Aug 4, 2023
e7c03ce
bns_update_mapping wallet-rpc updated for request serialize
Tore-tto Aug 4, 2023
6d2ceb7
bns_renew_mapping() updated for wallet-rpc
peter-pratt Aug 4, 2023
888bae4
bns_tx_type are useless in validate_mapping_types()
victor-tucci Aug 4, 2023
e274947
is_belnet_type() no need anymore so removed
victor-tucci Aug 4, 2023
025c570
given proper name for bchat encrypted value
Tore-tto Aug 7, 2023
7ec5714
bns buy and update for wallet api
deen-kakarot Aug 7, 2023
6823889
select queries modified without type
victor-tucci Aug 8, 2023
6d71fa9
updated renew_mapping() for walletAPI and the TestCases for renew_map…
peter-pratt Aug 8, 2023
f021430
show blocks only for buying and renewing in GET_TRANSACTIONS tx_extra
Tore-tto Aug 8, 2023
8de2a84
bns_names_to_owner request are changed by only namehash
victor-tucci Aug 8, 2023
e9cbd4c
removed type from the owners_to_names response
victor-tucci Aug 8, 2023
5746982
Type parameter removed from the bns_detail struct
victor-tucci Aug 8, 2023
4f1549b
usage updated for bns_encrypt
Tore-tto Aug 9, 2023
2a377f9
Type is not used anymore in mapping_record and updated get_mapping()
victor-tucci Aug 9, 2023
05d579d
Type are removed from tx_extra and the bns table
victor-tucci Aug 9, 2023
ebae1a7
bns_count() function updated
victor-tucci Aug 9, 2023
5b00ce6
updated registration years log in bns buy and renew mapping
Tore-tto Aug 10, 2023
e7c44dd
migrate old table with new table
victor-tucci Aug 10, 2023
09dafe5
added log in migration
victor-tucci Aug 10, 2023
c410106
logs are updated with fmt for better looking in bns_update_mapping, b…
Tore-tto Aug 10, 2023
70f82ac
testcases updated for new format of bns
deen-kakarot Aug 12, 2023
781ac9d
Old bns sync issue resolved and validations(value) added in rpc, cli
victor-tucci Aug 12, 2023
0a4496a
Testcase for wrong bns_buy, Added Error: Value must be atleast one
deen-kakarot Aug 14, 2023
b2b077f
Reason added when years field is not specified in bns_validation_years()
deen-kakarot Aug 14, 2023
9f54fa0
logs updated for bns_by_owner and bns_lookup
Tore-tto Aug 14, 2023
17c9cef
logs updated in bns_update_mapping for better looking
Tore-tto Aug 17, 2023
0c29a6d
bns transactions are going use version =1 for the new bns update
victor-tucci Aug 17, 2023
cb178d4
description message are updated for bns_renew
victor-tucci Aug 18, 2023
f3f9bc0
initial setup for bns in V18
victor-tucci Aug 18, 2023
8a78891
bns transactions are disabled at version 17
victor-tucci Aug 19, 2023
c9e7db6
estimate_height updated for testnet
victor-tucci Aug 21, 2023
8ba1b06
version validation updated for bns-tranasaction
deen-kakarot Aug 21, 2023
093fa4c
Merge pull request #113 from victor-tucci/libwallet-test-fix
sanada08 Aug 22, 2023
7815c48
Added burn fee for updating owners
MogamboPuri Aug 22, 2023
f85d9aa
Restrict non-owners from renewing the BNS
victor-tucci Aug 23, 2023
aea19a6
Merge pull request #114 from victor-tucci/prevent-unlocks-small-holdings
sanada08 Aug 24, 2023
5b52a5a
burn amount update for bns-v18
peter-pratt Aug 24, 2023
1e2c26d
Merge pull request #115 from deen-kakarot/better-print-locked-stakes
sanada08 Aug 25, 2023
61a83d0
Signature verification added for bns renewal
MogamboPuri Aug 25, 2023
c20781f
signature added in tx_extras for bns_renew in testcase
deen-kakarot Aug 25, 2023
5462a33
Merge pull request #116 from victor-tucci/bns-implementation-in-libwa…
sanada08 Aug 28, 2023
363dbbb
Merge branch 'dev' into bns-implementation-in-libwalletapi
victor-tucci Aug 28, 2023
cd87f37
fmt link issue resolved in api
Tore-tto Aug 28, 2023
8c92c60
Merge pull request #119 from Beldex-Coin/bns-implementation-in-libwal…
sanada08 Aug 29, 2023
83d379d
prepare testnet for v18
deen-kakarot Aug 29, 2023
fe4024c
Merge pull request #120 from Beldex-Coin/bns-rework
sanada08 Aug 30, 2023
57946b4
hf18 changed to hf18_bns in tx_pool.cpp
victor-tucci Aug 30, 2023
d93e8ee
Older uptime proof submission code removed
victor-tucci Aug 30, 2023
70ede62
removed unimportant version checks form wallet and daemon
Sep 5, 2023
04af98d
decommission initial credit added to the masternode after v18
victor-tucci Sep 9, 2023
154150c
decommission credit reduced to 12hr to 3hr
victor-tucci Sep 11, 2023
bc95e8e
Added BNS value decryption rpc in daemon
Tore-tto Sep 11, 2023
814e441
Merge pull request #121 from victor-tucci/dev
sanada08 Sep 11, 2023
e15e947
bns price update for V18
MogamboPuri Sep 12, 2023
dfbe421
Merge pull request #122 from Tore-tto/decrypt-daemon-rpc
sanada08 Sep 19, 2023
d963e1c
Merge pull request #123 from victor-tucci/old-uptime_proof-code-remove
sanada08 Sep 21, 2023
f25df80
Merge pull request #124 from MogamboPuri/bns-price-update
sanada08 Sep 24, 2023
66dd5b9
Implement initial phase of coin burning with 'coin_burn' CLI command.
victor-tucci Sep 26, 2023
eb3f200
Implemented Burn Amount Zero Validation in Daemon and Wallet
Tore-tto Sep 27, 2023
5c3acd6
Merge pull request #125 from victor-tucci/decomission-credit-calc
sanada08 Sep 28, 2023
39ecefd
Implemented Coin Burn Feature in Wallet RPC
Tore-tto Oct 4, 2023
187edcf
initial setup for coin-burn with transaction id
victor-tucci Oct 5, 2023
27c105e
coin-burn:key_image got from the transaction id
victor-tucci Oct 6, 2023
ae8ae2f
The amount burned by a given transaction ID
Tore-tto Nov 1, 2023
5095abd
Implemented coin burn functionality with transaction ID in RPC
deen-kakarot Nov 8, 2023
a91c090
Merge branch 'Beldex-Coin:master' into prepare-registration-update
MogamboPuri Nov 8, 2023
f97e2ce
Fix: Prepare Registration Command for Back and Cancel
MogamboPuri Nov 8, 2023
ad9a135
updtated the blockheight and keys for the testnet
victor-tucci Nov 9, 2023
91a035c
Enhance variable usage for coin burn functionality.
victor-tucci Nov 10, 2023
ec797f5
Merge pull request #126 from MogamboPuri/prepare-registration-update
sanada08 Nov 14, 2023
1b634ee
Merge pull request #127 from victor-tucci/coin-burn
sanada08 Nov 14, 2023
cf92e2a
Add new hard fork name and bump version.
victor-tucci Nov 15, 2023
ed6b7c8
Readme updated for apt packages.
victor-tucci Nov 15, 2023
eceb9b6
Merge pull request #128 from victor-tucci/dev
sanada08 Nov 15, 2023
da94c62
Added Error Message for Wallet in BNS_BUY Operation
Tore-tto Nov 16, 2023
aa0e762
HF_18 height added for testnet
Tore-tto Nov 21, 2023
c74905c
Refactor variable names for improved clarity
victor-tucci Nov 22, 2023
ef8e229
Merge pull request #10 from Tore-tto/variable-refactor
Tore-tto Nov 22, 2023
d4202db
Merge pull request #129 from Tore-tto/dev
sanada08 Nov 23, 2023
62db213
Resolved Inaccuracies in Small Contributor Unlock Days Display
peter-pratt Nov 28, 2023
40c16f9
Merge pull request #130 from peter-pratt/dev
sanada08 Nov 29, 2023
ab82766
Establish Mainnet HF-18 Height
victor-tucci Dec 6, 2023
a0f7cdc
Merge pull request #132 from victor-tucci/dev
sanada08 Dec 7, 2023
bfbbf30
Implement BNS Confirmation Prompt with Conversion to Primary Address …
deen-kakarot Dec 12, 2023
cd6d5a2
Verify presence of value for pubkey_ed25519 in handle_pin()
victor-tucci Dec 12, 2023
d84e3d8
Set minimum SS version and Belnet version for ping
victor-tucci Dec 13, 2023
a7e89a9
Update MIN_TIMESTAMP_VERSION for uptime-proof
victor-tucci Dec 13, 2023
7403ae8
Merge pull request #134 from victor-tucci/dev
sanada08 Dec 13, 2023
4e375a9
Merge pull request #133 from deen-kakarot/dev
sanada08 Dec 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .drone.jsonnet
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
local default_deps_base='libsystemd-dev libboost-thread-dev libgtest-dev ' +
'libboost-serialization-dev libboost-program-options-dev libunbound-dev nettle-dev libevent-dev libminiupnpc-dev ' +
'libboost-serialization-dev libboost-program-options-dev libunbound-dev nettle-dev libevent-dev ' +
'libunwind8-dev libsodium-dev libssl-dev libreadline-dev libhidapi-dev libusb-1.0-0-dev python3 ' +
'pkg-config libsqlite3-dev qttools5-dev libcurl4-openssl-dev';
local default_deps='g++ ' + default_deps_base; // g++ sometimes needs replacement
Expand Down Expand Up @@ -137,7 +137,7 @@ local android_build_steps(android_abi, android_platform=21, jobs=6, cmake_extra=
'-DCMAKE_BUILD_TYPE=Release ' +
'-DCMAKE_TOOLCHAIN_FILE=/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake ' +
'-DANDROID_PLATFORM=' + android_platform + ' -DANDROID_ABI=' + android_abi + ' ' +
'-DMONERO_SLOW_HASH=ON ' +
'-DMONERO_SLOW_HASH=ON'+' -DWARNINGS_AS_ERRORS=OFF'+' -DBUILD_TESTS=OFF ' +
'-DLOCAL_MIRROR=https://builds.belnet.dev/deps ' +
'-DBUILD_STATIC_DEPS=ON -DSTATIC=ON -G Ninja ' + cmake_extra,
'ninja -j' + jobs + ' -v wallet_merged',
Expand Down Expand Up @@ -228,11 +228,11 @@ local gui_wallet_step_darwin = {
{ name: 'Android wallet_api', kind: 'pipeline', type: 'docker', platform: { arch: 'amd64' },
steps: [submodules, {
name: 'build',
image: 'debian:sid',
image: 'debian:bullseye',
environment: { SSH_KEY: { from_secret: "SSH_KEY" } },
commands: [
'echo "man-db man-db/auto-update boolean false" | debconf-set-selections',
'echo deb http://deb.debian.org/debian sid contrib >/etc/apt/sources.list.d/sid-contrib.list',
'echo deb http://deb.debian.org/debian bullseye contrib >/etc/apt/sources.list.d/bullseye-contrib.list',
apt_get_quiet + ' update',
apt_get_quiet + ' install -y eatmydata',
'eatmydata ' + apt_get_quiet + ' dist-upgrade -y',
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -113,3 +113,6 @@ nbproject
/testnet

__pycache__/

# brew build lock file
contrib/brew/Brewfile.lock.json
9 changes: 6 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "external/miniupnp"]
path = external/miniupnp
url = https://github.com/miniupnp/miniupnp
[submodule "external/rapidjson"]
path = external/rapidjson
url = https://github.com/Tencent/rapidjson
Expand Down Expand Up @@ -28,3 +25,9 @@
[submodule "external/ghc-filesystem"]
path = external/ghc-filesystem
url = https://github.com/gulrak/filesystem.git
[submodule "external/fmt"]
path = external/fmt
url = https://github.com/fmtlib/fmt.git
[submodule "external/oxen-encoding"]
path = external/oxen-encoding
url = https://github.com/oxen-io/oxen-encoding.git
44 changes: 6 additions & 38 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ message(STATUS "CMake version ${CMAKE_VERSION}")
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12 CACHE STRING "macOS deployment target (Apple clang only)")

project(beldex
VERSION 4.1.0
VERSION 5.0.0
LANGUAGES CXX C)
set(BELDEX_RELEASE_CODENAME "Bucephalus")
set(BELDEX_RELEASE_CODENAME "Bern")

# String value to append to the full version string; this is intended to easily identify whether a
# binary was build from the release or development branches. This should be permanently set to an
Expand Down Expand Up @@ -283,8 +283,7 @@ if(NOT MANUAL_SUBMODULES)
endforeach()
endfunction ()

message(STATUS "Checking submodules")
check_submodule(external/miniupnp)
message(STATUS "Checking submodules")
check_submodule(external/rapidjson)
check_submodule(external/trezor-common)
check_submodule(external/randomx)
Expand Down Expand Up @@ -322,7 +321,6 @@ else()
endif()
message(STATUS "Building for a ${ARCH_WIDTH}-bit system")

# Check if we're on FreeBSD so we can exclude the local miniupnpc (it should be installed from ports instead)
# CMAKE_SYSTEM_NAME checks are commonly known, but specifically taken from libsdl's CMakeLists
if(CMAKE_SYSTEM_NAME MATCHES "kFreeBSD.*|FreeBSD")
set(FREEBSD TRUE)
Expand Down Expand Up @@ -357,6 +355,7 @@ if(APPLE)
endif()

option(BUILD_STATIC_DEPS "Download, build and statically link against core dependencies" OFF)
option(HTTPS_AND_SSL "Use https and ssl while statically build" ON)
if(BUILD_STATIC_DEPS)
include(StaticBuild)
endif()
Expand Down Expand Up @@ -429,24 +428,6 @@ find_package(Threads)

if (APPLE AND NOT IOS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=x86-64 -fvisibility=default")
if (NOT OpenSSL_DIR)
EXECUTE_PROCESS(COMMAND brew --prefix openssl
OUTPUT_VARIABLE OPENSSL_ROOT_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "Using OpenSSL found at ${OPENSSL_ROOT_DIR}")
endif()
endif()

if(BUILD_STATIC_DEPS)
# SSL::* targets already set up
else()
find_package(OpenSSL REQUIRED)
endif()
message(STATUS "Using OpenSSL include dir at ${OPENSSL_INCLUDE_DIR}")

if(MINGW)
# OpenSSL doesn't seem to properly set up its dependencies on Windows, leading to linking errors
target_link_libraries(OpenSSL::Crypto INTERFACE ws2_32)
endif()

add_definition_if_library_exists(c memset_s "string.h" HAVE_MEMSET_S)
Expand All @@ -456,7 +437,6 @@ add_definition_if_function_found(strptime HAVE_STRPTIME)
# Generate header for embedded translations
add_subdirectory(translations)

add_library(miniupnpc INTERFACE)
add_library(systemd INTERFACE) # Will do nothing unless we find and enable systemd support

if(NOT TARGET sodium)
Expand All @@ -483,12 +463,6 @@ if(NOT TARGET sodium)
export(TARGETS sodium NAMESPACE sodium:: FILE sodium-exports.cmake)
endif()

if (NOT BUILD_STATIC_DEPS)
find_package(PkgConfig REQUIRED)
pkg_check_modules(UNBOUND libunbound REQUIRED IMPORTED_TARGET)
add_library(libunbound INTERFACE)
target_link_libraries(libunbound INTERFACE PkgConfig::UNBOUND)
endif()

option(WITH_SYSTEMD "Attempts to link against and enable systemd daemon notification support" ON)
if (WITH_SYSTEMD AND NOT BUILD_STATIC_DEPS)
Expand Down Expand Up @@ -560,7 +534,7 @@ else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARCH_FLAG}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARCH_FLAG}")

set(WARNINGS "-Wall -Wextra -Wpointer-arith -Wvla -Wwrite-strings -Wno-error=extra -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-unused-variable -Wno-error=unused-variable -Wno-error=uninitialized")
set(WARNINGS "-Wall -Wextra -Wpointer-arith -Wwrite-strings -Wno-error=extra -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-unused-variable -Wno-error=unused-variable -Wno-error=uninitialized")

option(WARNINGS_AS_ERRORS "Enable warning as errors" OFF)
if(NOT MINGW AND WARNINGS_AS_ERRORS)
Expand Down Expand Up @@ -790,20 +764,14 @@ set(Boost_USE_MULTITHREADED TRUE) # Needed for macOS, at least, and won't hurt e
if(BUILD_STATIC_DEPS)
# StaticBuild.cmake sets Boost targets up for us
else()
find_package(Boost 1.58 QUIET REQUIRED COMPONENTS system thread serialization program_options)
find_package(Boost 1.62 QUIET REQUIRED COMPONENTS system thread serialization program_options)
endif()

set(CMAKE_FIND_LIBRARY_SUFFIXES ${OLD_LIB_SUFFIXES})
if(NOT Boost_FOUND)
message(FATAL_ERROR "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 (OPENSSL_VERSION VERSION_GREATER_EQUAL 1.1 AND (
Boost_VERSION VERSION_LESS 1.62.0 OR (Boost_VERSION VERSION_GREATER 100000 AND Boost_VERSION VERSION_LESS 106200)))
message(FATAL_ERROR "Boost ${Boost_VERSION} (older than 1.62) is too old to link with OpenSSL ${OPENSSL_VERSION} (1.1 or newer) found at ${OPENSSL_INCLUDE_DIR} and ${OPENSSL_LIBRARIES}. "
"Update Boost or install OpenSSL 1.0 and set path to it when running cmake: "
"cmake -DOPENSSL_ROOT_DIR='/usr/include/openssl-1.0'")
endif()
endif()

# Interface target for random extra system libraries that we need to link everything against
Expand Down
46 changes: 23 additions & 23 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,16 @@ RUN set -ex && \

WORKDIR /usr/local/src

ARG OPENSSL_VERSION=1.1.1g
ARG OPENSSL_HASH=ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46
RUN set -ex \
&& curl -s -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
&& tar xf openssl-${OPENSSL_VERSION}.tar.gz \
&& cd openssl-${OPENSSL_VERSION} \
&& ./Configure --prefix=/usr linux-x86_64 no-shared --static \
&& make -j$(nproc) \
&& make install_sw -j$(nproc)
# ARG OPENSSL_VERSION=1.1.1g
# ARG OPENSSL_HASH=ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46
# RUN set -ex \
# && curl -s -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
# && echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
# && tar xf openssl-${OPENSSL_VERSION}.tar.gz \
# && cd openssl-${OPENSSL_VERSION} \
# && ./Configure --prefix=/usr linux-x86_64 no-shared --static \
# && make -j$(nproc) \
# && make install_sw -j$(nproc)

ARG BOOST_VERSION=1_72_0
ARG BOOST_VERSION_DOT=1.72.0
Expand Down Expand Up @@ -95,17 +95,17 @@ RUN set -ex \
&& make install

RUN set -ex \
&& apt install wget -y \
&& wget https://github.com/libexpat/libexpat/releases/download/R_2_3_0/expat-2.3.0.tar.gz \
&& tar xf expat-2.3.0.tar.gz \
&& cd expat-2.3.0 \
&& ./configure --enable-static --prefix=/usr && make && make install
&& apt install wget -y
# && wget https://github.com/libexpat/libexpat/releases/download/R_2_3_0/expat-2.3.0.tar.gz \
# && tar xf expat-2.3.0.tar.gz \
# && cd expat-2.3.0 \
# && ./configure --enable-static --prefix=/usr && make && make install

RUN set -ex \
&& wget https://curl.se/download/curl-7.76.1.tar.gz \
&& tar xf curl-7.76.1.tar.gz \
&& cd curl-7.76.1 \
&& ./configure --with-openssl --enable-static --prefix=/usr && make && make install
&& ./configure --enable-static --prefix=/usr && make && make install

RUN set -ex \
&& apt-get update -y \
Expand All @@ -118,20 +118,20 @@ RUN set -ex \
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7 --slave /usr/bin/gcov gcov /usr/bin/gcov-7 \
&& gcc --version

RUN set -ex \
&& apt install libevent-dev -y \
&& wget https://nlnetlabs.nl/downloads/unbound/unbound-1.13.1.tar.gz \
&& tar xf unbound-1.13.1.tar.gz \
&& cd unbound-1.13.1 \
&& ./configure --enable-static --disable-flto --prefix=/usr CFLAGS=-fPIC && make && make install
# RUN set -ex \
# && apt install libevent-dev -y \
# && wget https://nlnetlabs.nl/downloads/unbound/unbound-1.13.1.tar.gz \
# && tar xf unbound-1.13.1.tar.gz \
# && cd unbound-1.13.1 \
# && ./configure --enable-static --disable-flto --prefix=/usr CFLAGS=-fPIC && make && make install

WORKDIR /src
COPY . .

RUN set -ex && \
git submodule update --init --recursive && \
rm -rf build/release && mkdir -p build/release && cd build/release && \
cmake -DSTATIC=ON -DARCH=x86-64 -DCMAKE_BUILD_TYPE=Release ../.. && \
cmake -DSTATIC=ON -DARCH=x86-64 -DHTTPS_AND_SSL=OFF -DCMAKE_BUILD_TYPE=Release ../.. && \
make -j$(nproc) VERBOSE=1

RUN set -ex && \
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ release-test:

release-all:
mkdir -p $(builddir)/release
cd $(builddir)/release && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE)
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE)

release-static:
mkdir -p $(builddir)/release
Expand Down
14 changes: 5 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,14 @@ library archives (`.a`).
| CMake | 3.10 | NO | `cmake` | `cmake` | `cmake` | NO | |
| pkg-config | any | NO | `pkg-config` | `base-devel` | `pkgconf` | NO | |
| Boost | 1.65 | NO | `libboost-all-dev`[2] | `boost` | `boost-devel` | NO | C++ libraries |
| OpenSSL | basically any | NO | `libssl-dev` | `openssl` | `openssl-devel` | NO | sha256 sum |
| libzmq | 4.3.0 | YES | `libzmq3-dev` | `zeromq` | `zeromq-devel` | NO | ZeroMQ library |
| sqlite3 | ? | YES | `libsqlite3-dev` | `sqlite` | `sqlite-devel` | NO | Beldex Name System |
| libunbound | 1.4.16 | NO | `libunbound-dev` | `unbound` | `unbound-devel` | NO | DNS resolver |
| libsodium | 1.0.9 | YES | `libsodium-dev` | `libsodium` | `libsodium-devel` | NO | cryptography |
| libcurl | 4.0 | NO | `libcurl4-openssl-dev` | `curl` | `curl-devel` | NO | HTTP RPC |
| libcurl | 4.0 | NO | `curl` | `curl-devel` | NO | HTTP | RPC |
| libuv (Win) | any | NO | (Windows only) | -- | -- | NO | RPC event loop |
| libunwind | any | NO | `libunwind8-dev` | `libunwind` | `libunwind-devel` | YES | Stack traces |
| liblzma | any | NO | `liblzma-dev` | `xz` | `xz-devel` | YES | For libunwind |
| libreadline | 6.3.0 | NO | `libreadline-dev` | `readline` | `readline-devel` | YES | Input editing |
| ldns | 1.6.17 | NO | `libldns-dev` | `ldns` | `ldns-devel` | YES | SSL toolkit |
| expat | 1.1 | NO | `libexpat1-dev` | `expat` | `expat-devel` | YES | XML parsing |
| Doxygen | any | NO | `doxygen` | `doxygen` | `doxygen` | YES | Documentation |
| Graphviz | any | NO | `graphviz` | `graphviz` | `graphviz` | YES | Documentation |
| Qt tools | 5.x | NO | `qttools5-dev` | `qt5-tools` | `qt5-linguist` | YES | Translations |
Expand All @@ -74,14 +70,14 @@ breakdown of the minimum set of required boost packages.
Install all dependencies at once on Debian/Ubuntu:

```
sudo apt update && sudo apt install build-essential cmake pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev doxygen graphviz libpgm-dev libsqlite3-dev libcurl4-openssl-dev
sudo apt update && sudo apt install build-essential cmake pkg-config libboost-all-dev libzmq3-dev libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev doxygen graphviz libpgm-dev libsqlite3-dev curl
```

Install all dependencies at once on macOS with the provided Brewfile:
``` brew update && brew bundle --file=contrib/brew/Brewfile ```

FreeBSD one liner for required to build dependencies
```pkg install git gmake cmake pkgconf boost-libs libzmq4 libsodium sqlite3 openssl unbound miniupnpc```
```pkg install git gmake cmake pkgconf boost-libs libzmq4 libsodium sqlite3 miniupnpc```

### Cloning the repository

Expand Down Expand Up @@ -202,13 +198,13 @@ application.
To build for 64-bit Windows:

```bash
pacman -S git mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-sqlite3 mingw-w64-x86_64-unbound
pacman -S git mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-sqlite3
```

To build for 32-bit Windows:

```bash
pacman -S git mingw-w64-i686-toolchain make mingw-w64-i686-cmake mingw-w64-i686-boost mingw-w64-i686-openssl mingw-w64-i686-zeromq mingw-w64-i686-libsodium mingw-w64-i686-hidapi mingw-w64-i686-sqlite3 mingw-w64-i686-unbound
pacman -S git mingw-w64-i686-toolchain make mingw-w64-i686-cmake mingw-w64-i686-boost mingw-w64-i686-zeromq mingw-w64-i686-libsodium mingw-w64-i686-hidapi mingw-w64-i686-sqlite3
```

* Close and reopen the MSYS MinGW shell via `MSYS2 MinGW 64-bit` shortcut on
Expand Down
Loading