Commit graph

18691 commits

Author SHA1 Message Date
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
Alejandro García
1baf67ef27
Merge pull request #7279 from alvasw/DnsLookupTor_Close_socket_after_usage
DnsLookupTor: Close socket after usage
2024-11-05 05:06:51 +00:00
Alejandro García
694bfeff96
Merge pull request #7278 from alvasw/Migrate_Socks5SeedOnionDiscovery_to_BitcoinCoreSeedListDiscovery
Migrate Socks5SeedOnionDiscovery to BitcoinCoreSeedListDiscovery
2024-11-05 05:06:05 +00:00
Alejandro García
5cdc1cad26
Merge pull request #7277 from alvasw/Implement_BitcoinCoreSeedListDiscovery_method
Implement BitcoinCoreSeedListDiscovery method
2024-11-05 05:05:09 +00:00
Alejandro García
1e7f4eabed
Merge pull request #7275 from bisq-network/dependabot/github_actions/actions/setup-java-4.5.0
build(deps): bump actions/setup-java from 4.4.0 to 4.5.0
2024-11-05 05:04:44 +00:00
Alejandro García
24d3dd76bb
Merge pull request #7274 from bisq-network/dependabot/github_actions/actions/checkout-4.2.2
build(deps): bump actions/checkout from 4.2.1 to 4.2.2
2024-11-05 05:04:01 +00:00
Alva Swanson
b8c46b1e42
Socks5MultiDiscovery: Shutdown peer discovery methods 2024-11-05 01:06:28 +00:00
Alva Swanson
bb3acb3fa9
Socks5MultiDiscovery: Don't create useless array
We create an array in the getPeers method and throw it away without
using it.
2024-11-05 01:03:45 +00:00
Alva Swanson
f92f4e8da0
DnsLookupTor: Close socket after usage 2024-11-05 01:02:25 +00:00
Alva Swanson
e1c7a0dc30
Migrate Socks5SeedOnionDiscovery to BitcoinCoreSeedListDiscovery
Our Socks5SeedOnionDiscovery contains deprecated Tor V2 onion addresses
that are not supported anymore. BitcoinCoreSeedListDiscovery contains
Tor V3 addresses that are shipped with Bitcoin Core.
2024-11-05 00:59:46 +00:00
Alva Swanson
c959f7b52c
Implement BitcoinCoreSeedListDiscovery method
- Update bitcoin core seed list to upstream version
- Use IpV4 and onion addresses from it

Our users are still protected because we connect to IpV4 addresses
through Tor. This improves connectivity because Bitcoin Core creates an
ephemeral onion service on each startup.
2024-11-05 00:54:37 +00:00
dependabot[bot]
49d9f705de
build(deps): bump actions/setup-java from 4.4.0 to 4.5.0
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v4.4.0...v4.5.0)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 14:28:41 +00:00
dependabot[bot]
11a04170c5
build(deps): bump actions/checkout from 4.2.1 to 4.2.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 14:28:37 +00:00
HenrikJannsen
cbe3ead0d5
Merge pull request #7270 from bisq-network/dependabot/github_actions/actions/checkout-4.2.1
build(deps): bump actions/checkout from 4.2.0 to 4.2.1
2024-10-20 12:58:01 +07:00
HenrikJannsen
5139a97161
Merge pull request #7269 from cparke2/russian-translations
Added 500+ string translations to Russian language file
2024-10-20 12:57:37 +07:00
dependabot[bot]
04aea3b00c
build(deps): bump actions/checkout from 4.2.0 to 4.2.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.0...v4.2.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 14:46:43 +00:00
Chris Parker
2556db7b37
Added 500+ string translations to Russian language file
Removed *non-printable characters* that were accidentally added
during word analysis of the translations file:
   ... (например, «С днем \u200b\u200bрождения, Сьюзен!») ...
While apparently harmless and invisible, these do not belong
and a needle in the haystack later, so removing them now.
2024-10-12 19:26:32 -04:00