bisq-network / compensation

@bisq-network contributor compensation requests
https://github.com/bisq-network/docs/tree/master/dao/phase-zero#how-to-request-compensation
20 stars 16 forks source link

For Cycle 64 #1660

Open alvasw opened 1 week ago

alvasw commented 1 week ago

Summary

Specify the total amount of BSQ you are requesting, along with the USD total and BSQ/USD rate (don't include the brackets!):

Contributions delivered

Add contributions you have delivered and roles you have performed here as new rows in the table below. Role line-items should include an asterisk (*) in the team column.

Title Team USD Link Notes
bisq: Implement BitcoinCoreSeedListDiscovery method dev https://github.com/bisq-network/bisq/pull/7277
  • 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.

bisq: Migrate Socks5SeedOnionDiscovery to BitcoinCoreSeedListDiscovery dev https://github.com/bisq-network/bisq/pull/7278

Our Socks5SeedOnionDiscovery contains deprecated Tor V2 onion addresses
that are not supported anymore. BitcoinCoreSeedListDiscovery contains
Tor V3 addresses that are shipped with Bitcoin Core.

bisq: DnsLookupTor: Close socket after usage dev https://github.com/bisq-network/bisq/pull/7279
bisq: Socks5MultiDiscovery: Don't create useless array dev https://github.com/bisq-network/bisq/pull/7280

We create an array in the getPeers method and throw it away without
using it.

bisq: Socks5MultiDiscovery: Shutdown peer discovery methods dev https://github.com/bisq-network/bisq/pull/7281
bisq: Add bitcoind submodule dev https://github.com/bisq-network/bisq/pull/7282

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.

bisq: core: Implement transaction offset signing dev https://github.com/bisq-network/bisq/pull/7283

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.

bisq: BtcWalletV2: Implement addMiningFeesToBsqTx dev https://github.com/bisq-network/bisq/pull/7284

The addMiningFeesToBsqTx method adds BTC mining fees to a given BSQ
transaction and tx fee amount.

bisq: BsqWalletV2: Implement send BSQ dev https://github.com/bisq-network/bisq/pull/7285

The sendBsq method creates a BSQ transaction, signs the BSQ inputs, and
adds the requires BTC mining fees to the transaction.

bisq: PR Review bisq-network/bisq#7286 dev https://github.com/bisq-network/bisq/pull/7286

utACK

bisq: core: Implement WalletFactory dev https://github.com/bisq-network/bisq/pull/7287

The WalletFactory can create BTC and BSQ wallets.

bisq: gradle: Fix verification-metadata.xml formatting dev https://github.com/bisq-network/bisq/pull/7288
bisq: gradle: Create bisq.java-integration-tests plugin dev https://github.com/bisq-network/bisq/pull/7289

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.

bisq: core: Implement RegtestWalletAppKit dev https://github.com/bisq-network/bisq/pull/7290

The RegtestWalletAppKit sets up BitcoinJ and loads the given wallets.

bisq: bitcoind: Target commit 6737755 dev https://github.com/bisq-network/bisq/pull/7291
bisq: core: Add dependency to bitcoind:regtest (integration source set) dev https://github.com/bisq-network/bisq/pull/7292
bisq: core: Implement sendBsqTest dev https://github.com/bisq-network/bisq/pull/7293

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.

bisq: sendBsq: Throw InsufficientMoneyException when BSQ balance too low dev https://github.com/bisq-network/bisq/pull/7294

We should throw an InsufficientMoneyException when the CoinSelection
gathered amount is lower than the amount the user wants to send.

bisq: BsqWalletV2Test: Add invalid and dust send tests dev https://github.com/bisq-network/bisq/pull/7295

The tests try to send 0 BSQ and the current dust amount in BSQ.

bisq2: Tor: Ship all required shared libraries with Bisq dev https://github.com/bisq-network/bisq2/pull/2938

Tor failed to start for some users because their operating system didn't ship Tor's dependencies. This change instructs the package manager to install tor and all its required during the Bisq installation. Furthermore, we don't need to ship the Tor binary and its libraries on Linux anymore leading to package size savings.

Changes:

Fixes #2906

bisq2: Implement MigrationService dev https://github.com/bisq-network/bisq2/pull/2939

The MigrationService allows us to perform necessary migrations when upgrading to a new Bisq version. So far, the only option is to try to perform the migrations on each run. The MigrationService runs the necessary migrations if the data directory version is below the app version.

I tested this PR on:

  • an instance with a fresh data directory
  • an instance with a data directory of v2.1.1 (applies migration)
  • an instance with an already migrated data directory (v2.1.2)

This feature is needed to remove redundant Tor files after merging PR #2938. A follow-up PR will contain the required changes.

Changes:

bisq2: migration: Remove tor files from prior version on Linux dev https://github.com/bisq-network/bisq2/pull/2941

PR #2938 unbundles Tor from Bisq on Linux and switches to the OSes Tor binary. If a user updates from a prior version their data directory will contain the old extracted Tor binaries. The migration in this change removes the obsolete files.

bisq2: migration: Write new data directory version if all migrations succeed dev https://github.com/bisq-network/bisq2/pull/2946

Migrations are applied if the app version number is higher than the data directory version number. Currently, the only existing migration writes the new version number to the data directory after applying its migration. Moving the data directory version write to the Migrator makes the code future-proof when we have multiple migrations.

bisq2: migration: Pass migrations to Migrator in constructor dev https://github.com/bisq-network/bisq2/pull/2974

The migrations are hard-coded in the Migrator making it impossible to add test where some migrations fail.

bisq2: migration: Test migration failures dev https://github.com/bisq-network/bisq2/pull/2975
bisq2: migration: Don't keep MigrationService in memory dev https://github.com/bisq-network/bisq2/pull/2976

The MigrationService isn't needed anymore after the data directory has
been migrated. This change removes the ApplicationService's reference to
the MigrationService after it has run.

bisq2: Fix CI (macOS 12 deprecated) dev https://github.com/bisq-network/bisq2/pull/2977

The CI tasks are failing because macOS 12 isn't supported anymore. See: actions/runner-images#10721

bisq2: Add wallets/bitcoind submodule dev https://github.com/bisq-network/bisq2/pull/2984

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.

bitcoind: Add .gitignore from root dev https://github.com/bisq-network/bitcoind/commit/5571e273d30ba44afc374525aab24687f36427d5
bitcoind: gradle-tasks: Replace .lowercase(Locale.US) by .toLowerCase() dev https://github.com/bisq-network/bitcoind/commit/b657101b7ad73caa8d6e4046557c96d66f391028
bitcoind: gradle: Set build-logic's name to bitcoind-build-logic dev https://github.com/bisq-network/bitcoind/commit/ba4bc2530188346e1281b09225f265c6e7434a0c
bitcoind: gradle: Set JDK version from 22 to 11 dev https://github.com/bisq-network/bitcoind/commit/6737755da1e2c146459a55ddac942101fade86a7
dev 15000 Total for items above.
alvasw commented 1 week ago

a03544ea962acafaed5c3c8019bd7c6ef1917b0a83f0a058cb73ec3cb283be21

MwithM commented 1 day ago

Proposal accepted