Commit graph

18606 commits

Author SHA1 Message Date
Alejandro García
1ba9d842ea
Merge pull request #7306 from alvasw/Move_federated_BTC_node_selection_to_FederatedBtcNodeProvider
Move federated BTC node selection to FederatedBtcNodeProvider
2024-11-20 05:43:48 +00:00
Alejandro García
0ddbd30e6b
Merge pull request #7305 from alvasw/BtcNode_Make_port_field_final
BtcNode: Make port field final
2024-11-20 05:43:14 +00:00
Alejandro García
f3c986ce47
Merge pull request #7304 from alvasw/Fix_duplicates_in_BtcNode_list
Fix duplicates in BtcNode list
2024-11-20 05:42:45 +00:00
Alejandro García
42f757fa1d
Merge pull request #7303 from alvasw/fix_typo_from_pr_7120
FeedbackWindow: Fix double wording from PR #7120
2024-11-20 05:41:45 +00:00
Alejandro García
5794237ab5
Merge pull request #7299 from HenrikJannsen/add-missing-swagger-doc-directory
Add missing swagger doc directory
2024-11-20 05:41:26 +00:00
Alejandro García
33e760b49e
Merge pull request #7297 from alvasw/fix_bitcoin_core_peer_selection
BtcNetworkConfig: Shuffle Bitcoin Core peers
2024-11-20 05:41:06 +00:00
Alejandro García
269f0edb4a
Merge branch 'master' into core_Implement_sendBsqTest 2024-11-20 05:40:11 +00:00
Alejandro García
6def5053ea
Merge pull request #7292 from alvasw/core_Add_dependency_to_bitcoind_regtest_integration_source_set
core: Add dependency to bitcoind:regtest (integration source set)
2024-11-20 05:38:55 +00:00
Alva Swanson
17d48d989a
FederatedBtcNodeProvider: Compare banned node address and port 2024-11-18 22:22:22 +00:00
Alva Swanson
0da22ab3b0
BtcNodeProvider: Fix BTC node banning
The FederatedBtcNodeProvider compared the list of banned nodes with each
BtcNode's hostname instead of checking a BtcNode's hostname, ip address,
and onion address.
2024-11-18 22:20:26 +00:00
Alva Swanson
c4ac0b16fa
NodeAddress: Fix broken IPV6 parsing
Bisq accepts IPV6 node addresses but the NodeAddress can't parse them.
2024-11-18 22:18:57 +00:00
Alva Swanson
41fbb75468
BtcNodes: Fix hostname parsing
The fromFullAddress method parsed hostnames as IPV4 addresses instead as
hostnames.
2024-11-18 22:17:08 +00:00
Alva Swanson
f7d80ee1a8
Add FederatedBtcNodeProviderTest.onlyHardcodedNodes test 2024-11-18 22:15:16 +00:00
Alva Swanson
c4e82d59ec
Pass filterProvidedBtcNodes and bannedBtcNodes to FederatedBtcNodeProvider 2024-11-18 22:13:01 +00:00
Alva Swanson
bc6954e53a
Pass list of nodes instead of BtcNodes class to FederatedBtcNodeProvider 2024-11-18 22:10:12 +00:00
Alva Swanson
b90b7b5e21
Move federated BTC node selection to FederatedBtcNodeProvider 2024-11-18 22:08:13 +00:00
Alva Swanson
ba31dd70a5
BtcNode: Make port field final 2024-11-18 22:01:51 +00:00
Alva Swanson
840319a955
Fix duplicates in BtcNode list
When the user uses our federated BTC nodes, we merge the hard-coded
nodes with the ones provided by the filter. The hard-coded node's
operator field is set to the node's operator and operator field of the
nodes from the filter is set to "Provided by filter". When the same BTC
node is in the hard-coded list and the filter, Bisq adds both to the
merged list because the operator field is different.

This change explicitly marks the onionAddress, hostName, address, and
port field to be used in the hashCode and equals implementation.
2024-11-18 21:59:56 +00:00
Alva Swanson
8ef76bb408
FeedbackWindow: Fix double wording from PR #7120 2024-11-18 21:56:13 +00:00
HenrikJannsen
f1b82e366a
Add missing doc directory
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2024-11-17 15:34:27 +07:00
Alva Swanson
56a0bef4e0
BtcNetworkConfig: Shuffle Bitcoin Core peers
We try to connect to the first 7 Bitcoin Core nodes always in the same
order. Only if connections to these nodes fail we look further into the
list. This change shuffles the node addresses before passing them to
BitcoinJ thus removing the bias from the first 7 prioritized nodes.
2024-11-14 01:58:21 +00:00
Alva Swanson
1e3e70ee9e
BtcNetworkConfig: Don't create unused array 2024-11-14 01:58:19 +00:00
Alva Swanson
a7ff5345fe
sendBsq: Throw InsufficientMoneyException when BSQ balance too low
We should throw an InsufficientMoneyException when the CoinSelection
gathered amount is lower than the amount the user wants to send.
2024-11-14 01:54:17 +00:00
Alva Swanson
cc571a3351
core: Implement sendBsqTest
First, the sendBsq test creates one BTC and two BSQ wallets. Afterward,
it funds the BTC and one BSQ wallet with 1 BTC. Next, the funded BSQ
wallet sends 100 BSQ to the second BSQ wallet.
2024-11-14 01:54:17 +00:00
Alva Swanson
9f747f3743
core: Add dependency to bitcoind:regtest (integration source set) 2024-11-14 01:54:16 +00:00
Alva Swanson
abcc9f8185
core: Implement sendBsqTest
First, the sendBsq test creates one BTC and two BSQ wallets. Afterward,
it funds the BTC and one BSQ wallet with 1 BTC. Next, the funded BSQ
wallet sends 100 BSQ to the second BSQ wallet.
2024-11-14 01:53:25 +00:00
Alva Swanson
3263a9145b
core: Add dependency to bitcoind:regtest (integration source set) 2024-11-14 01:53:25 +00:00
Alva Swanson
e2bbfdb8a6
core: Add dependency to bitcoind:regtest (integration source set) 2024-11-14 01:51:37 +00:00
Gabriel Bernard
f7382e28c6
Merge pull request #7286 from bisq-network/alejandrogarcia83-patch-1
Add `--recurse-submodules` to build.md
2024-11-12 20:26:48 +00:00
Alejandro García
3b0e0b1390
Merge pull request #7291 from alvasw/bitcoind_Target_commit_6737755
bitcoind: Target commit 6737755
2024-11-12 06:34:26 +00:00
Alejandro García
f9a2345228
Merge pull request #7290 from alvasw/core_Implement_RegtestWalletAppKit
core: Implement RegtestWalletAppKit
2024-11-12 06:34:07 +00:00
Alejandro García
f2c3548549
Merge pull request #7289 from alvasw/gradle_Create_bisq.java-integration-tests_plugin
gradle: Create bisq.java-integration-tests plugin
2024-11-12 06:33:37 +00:00
Alejandro García
ea6a5126f9
Merge pull request #7288 from alvasw/gradle_Fix_verification-metadata.xml_formatting
gradle: Fix verification-metadata.xml formatting
2024-11-12 06:32:54 +00:00
Alejandro García
9af707d4e4
Merge pull request #7287 from alvasw/core_Implement_WalletFactory
core: Implement WalletFactory
2024-11-12 06:31:18 +00:00
Alva Swanson
f16051cd6b
bitcoind: Target commit 6737755 2024-11-11 00:48:23 +00:00
Alva Swanson
33a968a6d5
core: Implement RegtestWalletAppKit
The RegtestWalletAppKit sets up BitcoinJ and loads the given wallets.
2024-11-10 22:17:59 +00:00
Alva Swanson
ba28806d74
gradle: Create bisq.java-integration-tests plugin
The bisq.java-integration-tests plugin creates an integrationTest source
set that depends on JUnit. The source set inherits the main source set's
compile classpath, runtime classpath, and the implementation's source
set configuration and runtimeOnly configuration.
2024-11-10 22:12:31 +00:00
Alva Swanson
0f4836e30b
gradle: Fix verification-metadata.xml formatting 2024-11-10 22:11:00 +00:00
Alva Swanson
77c48d8dd8
core: Implement WalletFactory
The WalletFactory can create BTC and BSQ wallets.
2024-11-08 19:11:47 +00:00
Alejandro García
8d345000ee
Merge pull request #7285 from alvasw/BsqWalletV2_Implement_send_BSQ
BsqWalletV2: Implement send BSQ
2024-11-08 02:59:06 +00:00
Alejandro García
6886161b48
Merge pull request #7284 from alvasw/BtcWalletV2_Implement_addMiningFeesToBsqTx
BtcWalletV2: Implement addMiningFeesToBsqTx
2024-11-08 02:58:25 +00:00
Alejandro García
a59939d4a8
Merge pull request #7283 from alvasw/core_Implement_transaction_offset_signing
core: Implement transaction offset signing
2024-11-08 02:57:29 +00:00
Alejandro García
c95d26579b
Add --recurse-submodules to build.md 2024-11-08 02:56:04 +00:00
Alejandro García
1f1c768313
Merge pull request #7282 from alvasw/add_bitcoind_submodule
Add bitcoind submodule
2024-11-08 02:53:31 +00:00
Alva Swanson
6722d9d691
BsqWalletV2: Implement send BSQ
The sendBsq method creates a BSQ transaction, signs the BSQ inputs, and
adds the requires BTC mining fees to the transcation.
2024-11-07 20:50:31 +00:00
Alva Swanson
fbebdb7d3c
BtcWalletV2: Implement addMiningFeesToBsqTx
The addMiningFeesToBsqTx method adds BTC mining fees to a given BSQ
transaction and tx fee amount.
2024-11-07 20:48:59 +00:00
Alva Swanson
687f247d06
core: Implement transaction offset signing
The BisqTransactionSigner signs the inputs of a transaction after the
given offset using the LocalOffsetTransactionSigner. The
LocalOffsetTransactionSigner is identical to BitcoinJ's
LocalTransactionSigner. The only difference is that the
LocalOffsetTransactionSigner accepts an offset in its constructor. All
inputs below this offset are skipped during signing.

This is needed for Bisq's BSQ implementation because the mining fees of
BSQ transactions come from Bisq's BTC wallet. BitcoinJ's
LocalTransactionSigner expects all inputs to be part of the same wallet.
2024-11-07 20:46:37 +00:00
Alva Swanson
bd55503611
Add bitcoind submodule
We use the same bitcoind regtest module in Bisq 1 and 2. To avoid
duplicate code I moved the bitcoind module to its own repository.
2024-11-06 20:49:46 +00:00
Alejandro García
4a65e40d5c
Merge pull request #7281 from alvasw/Socks5MultiDiscovery_Shutdown_peer_discovery_methods
Socks5MultiDiscovery: Shutdown peer discovery methods
2024-11-05 05:08:07 +00:00
Alejandro García
25009074ef
Merge pull request #7280 from alvasw/Socks5MultiDiscovery_Dont_create_useless_array
Socks5MultiDiscovery: Don't create useless array
2024-11-05 05:07:27 +00:00