<p><em>This is the fourth and final PR in a series. It should ideally be merged immediately after PRs <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="548255770" data-permission-text="Issue title is private" data-url="https://github.com/bisq-network/bisq/issues/3886" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/3886/hovercard" href="https://github.com/bisq-network/bisq/pull/3886">#3886</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="548263192" data-permission-text="Issue title is private" data-url="https://github.com/bisq-network/bisq/issues/3887" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/3887/hovercard" href="https://github.com/bisq-network/bisq/pull/3887">#3887</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="548269504" data-permission-text="Issue title is private" data-url="https://github.com/bisq-network/bisq/issues/3888" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/3888/hovercard" href="https://github.com/bisq-network/bisq/pull/3888">#3888</a>, in that order.</em></p>
<p>As detailed in commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/bisq-network/bisq/commit/614035fe7aff16f6bc6b20cbc1f2b49239d0464c/hovercard" href="https://github.com/bisq-network/bisq/commit/614035fe7aff16f6bc6b20cbc1f2b49239d0464c"><tt>614035f</tt></a>, this change replaces <code>BisqEnvironment</code> with a new <code>Config</code> class that unifies, simplifies and otherwise improves Bisq's option handling in a number of ways. Please read that commit message first to get proper context and rationale.</p>
<p>Many of the commits in this PR represent the step-by-step, option-by-option migration from <code>BisqEnvironment</code> to <code>Config</code>. I recommend carefully reviewing at least several of these commits to understand what this migration means and how things work in the new infrastructure, but carefully reviewing every one of them is probably overkill. Please note that every commit in this PR should compile and run without errors.</p>
<p>The majority of commits (and certainly the final one) were subjected to a complete Gradle build cycle including all tests, followed by bringing up a localnet environment using the Makefile introduced in PR <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="530512154" data-permission-text="Issue title is private" data-url="https://github.com/bisq-network/bisq/issues/3718" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/3718/hovercard" href="https://github.com/bisq-network/bisq/pull/3718">#3718</a>, e.g.:</p>
<pre><code>$ ./gradlew build && make clean-localnet deploy
</code></pre>
<p>Note that the Bisq instances launched by <code>make deploy</code> make use of many Bisq command line options. So ensuring that these nodes came up error-free was an important part of making sure that the migration was working at every step.</p>
<p>Testing was also performed on an ad-hoc basis against a non-localnet Bisq instance, ensuring that passing certain options works as expected, e.g.</p>
<pre><code>$ bitcoind # start my local Bitcoin node
...
$ ./gradlew build && ./bisq-desktop --appDataDir=$(mktemp -d) --ignoreLocalBtcNode
</code></pre>
<p>The option being tested above is <code>--ignoreLocalBtcNode</code>, and passing a newly created temp directory to <code>--appDataDir</code> was a technique I commonly used to avoid any possible interference with my real production Bisq installation. In this case, I would verify that <code>--ignoreLocalBtcNode</code> worked as expected by ensuring the local Bitcoin node popup did not appear in the Bisq client and that the default approach of connecting to Bisq's Bitcoin node federation took place as expected. I did not test each and every option in this way; after making a number of such migrations, I got quite confident in the process. If a migration deviated from the typical process in some way, then I usually manually tested that change.</p>
<ul>
<li>
<p>Introduction of <code>ConfigFileEditor</code> to encapsulate the process of making automated updates to the <code>bisq.properties</code> config file. See commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/bisq-network/bisq/commit/614035fe7aff16f6bc6b20cbc1f2b49239d0464c/hovercard" href="https://github.com/bisq-network/bisq/commit/614035fe7aff16f6bc6b20cbc1f2b49239d0464c"><tt>614035f</tt></a>.</p>
</li>
<li>
<p>Introduction of <code>LocalBitcoinNode</code> to encapsulate everything to do with detecting whether a local Bitcoin node is running. Of particular note here is the elimination of a dedicated thread for doing the actual detection. See commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/bisq-network/bisq/commit/30bef16559ceb830bbd31425f6baa87cad7961b8/hovercard" href="https://github.com/bisq-network/bisq/commit/30bef16559ceb830bbd31425f6baa87cad7961b8"><tt>30bef16</tt></a> for details.</p>
</li>
<li>
<p>From commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/bisq-network/bisq/commit/614035fe7aff16f6bc6b20cbc1f2b49239d0464c/hovercard" href="https://github.com/bisq-network/bisq/commit/614035fe7aff16f6bc6b20cbc1f2b49239d0464c"><tt>614035f</tt></a>:</p>
<p>Note that while this change and those that follow it are principally a<br>
refactoring effort, certain functional changes have been introduced. For<br>
example, Bisq now supports a <code>--configFile</code> argument at the command line<br>
that functions very similarly to Bitcoin Core's <code>-conf</code> option.</p>
</li>
<li>
<p>Commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/bisq-network/bisq/commit/799eb1292d80e915dac44e78e2ebd8511e715618/hovercard" href="https://github.com/bisq-network/bisq/commit/799eb1292d80e915dac44e78e2ebd8511e715618"><tt>799eb12</tt></a> renames the <code>numConnectionForBtc</code> option to <code>numConnectionsForBtc</code>.</p>
</li>
</ul>
<p>Please disregard the unrelated Kotlin, Git and gRPC proof of concept commits in this PR. They belong respectively to PRs <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="548255770" data-permission-text="Issue title is private" data-url="https://github.com/bisq-network/bisq/issues/3886" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/3886/hovercard" href="https://github.com/bisq-network/bisq/pull/3886">#3886</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="548263192" data-permission-text="Issue title is private" data-url="https://github.com/bisq-network/bisq/issues/3887" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/3887/hovercard" href="https://github.com/bisq-network/bisq/pull/3887">#3887</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="548269504" data-permission-text="Issue title is private" data-url="https://github.com/bisq-network/bisq/issues/3888" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/3888/hovercard" href="https://github.com/bisq-network/bisq/pull/3888">#3888</a> and will disappear here as each gets merged.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/bisq-network/bisq/pull/3889'>https://github.com/bisq-network/bisq/pull/3889</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Introduce gRPC API proof of concept</li>
  <li>Ignore Structure101 Workspace files</li>
  <li>Revert "Apply kotlin plugin and convert one unused class to kotlin"</li>
  <li>Do not strip trailing whitespace in Git diffs</li>
  <li>Remove --desktopWith{Grpc|Http}Api options for now</li>
  <li>Introduce Config as replacement for BisqEnvironment</li>
  <li>Move 'referralId' option handling from BisqEnvironment to Config</li>
  <li>Move 'useDevMode' option handling from BisqEnvironment to Config</li>
  <li>Move 'btcNetworkDir' and co from BisqEnvironment to Config</li>
  <li>Move 'useDevPrivilegeKeys' option handling from BisqEnvironment to Config</li>
  <li>Remove BisqException parser calls for options already moved to Config</li>
  <li>Move 'dumpStatistics' option handling from BisqEnvironment to Config</li>
  <li>Finish moving baseCurrencyNetwork option handling to Config</li>
  <li>Finish moving 'appDataDir' option handling to Config</li>
  <li>Finish moving 'userDataDir' option handling to Config</li>
  <li>Remove long-unused core.btc.UserAgent class</li>
  <li>Finish moving 'appName' option handling to Config</li>
  <li>Move 'maxMemory' option handling to Config</li>
  <li>Remove unused 'desktopWithHttpApi' option handling</li>
  <li>Move 'ignoreDevMsg' option handling to Config</li>
  <li>Move 'providers' option handling to Config</li>
  <li>Remove now unused AppOptionKeys class</li>
  <li>Finish moving 'logLevel' option handling to Config</li>
  <li>Remove now unused CommonOptionKeys class</li>
  <li>Move 'seedNode' option handling to Config</li>
  <li>Move 'banList' option handling to Config</li>
  <li>Finish moving 'nodePort' option handling to Config</li>
  <li>Move 'useLocalhostForP2P' option handling to Config</li>
  <li>Move 'maxConnections' option handling to Config</li>
  <li>Move 'socks5ProxyBtcAddress' option handling to Config</li>
  <li>Move 'socks5ProxyHttpAddress' option handling to Config</li>
  <li>Move 'torrcFile' option handling to Config</li>
  <li>Move 'torrcOptions' option handling to Config</li>
  <li>Move 'torControlPort' option handling to Config</li>
  <li>Move 'torControlPassword' option handling to Config</li>
  <li>Move 'torControlCookieFile' option handling to Config</li>
  <li>Move 'torControlUseSafeCookieAuth' option handling to Config</li>
  <li>Move 'torStreamIsolation' option handling to Config</li>
  <li>Move message throttle option handling to Config</li>
  <li>Make defaultUserDataDir field a local variable</li>
  <li>Remove obsolete NETWORK_ID option key</li>
  <li>Remove now unused NetworkOptionKeys class</li>
  <li>Rename Config.{NULL_INT=>DEFAULT_INT} for clarity</li>
  <li>Finish moving 'bitcoinRegtestHost' option handling to Config</li>
  <li>Move Config.log declaration</li>
  <li>Finish moving 'ignoreLocalBtcNode' option handling to Config</li>
  <li>Move 'btcNodes' option handling to Config</li>
  <li>Move 'useTorForBtc' option handling to Config</li>
  <li>Move 'socks5DiscoverMode' option handling to Config</li>
  <li>Move 'useAllProvidedNodes' option handling to Config</li>
  <li>Move 'userAgent' option handling to Config</li>
  <li>Move 'numConnectionsForBtc' option handling to Config</li>
  <li>Remove now unused BtcOptionKeys class</li>
  <li>Move 'rpcUser' option handling to Config</li>
  <li>Move 'rpcPassword' option handling to Config</li>
  <li>Move 'rpcHost' option handling to Config</li>
  <li>Move 'rpcPort' option handling to Config</li>
  <li>Move 'rpcBlockNotificationPort' option handling to Config</li>
  <li>Move 'rpcBlockNotificationHost' option handling to Config</li>
  <li>Move 'dumpBlockchainData' option handling to Config</li>
  <li>Move 'fullDaoNode' option handling to Config</li>
  <li>Move 'genesisTxId' option handling to Config</li>
  <li>Move 'genesisBlockHeight' option handling to Config</li>
  <li>Move 'genesisTotalSupply' option handling to Config</li>
  <li>Finish moving 'daoActivated' option handling to Config</li>
  <li>Remove now unused DaoOptionKeys class</li>
  <li>Finish moving 'useDevPrivilegeKeys' option handling to Config</li>
  <li>Finish moving 'useDevMode' option handling to Config</li>
  <li>Finish moving 'referralId' option handling to Config</li>
  <li>Remove now unused BisqEnvironment class</li>
  <li>Replace uses of Spring CollectionUtils</li>
  <li>Replace use of Spring's AnnotationUtils</li>
  <li>Replace use of Spring's ClassUtils</li>
  <li>Replace use of Spring's StringUtils</li>
  <li>Eliminate dependency on Spring Framework</li>
  <li>Broaden BisqExcutable exception handling</li>
  <li>Make ConfigException extend BisqException</li>
  <li>Catch ConfigException as contingency, Throwble as fault</li>
  <li>Remove now unused BisqExecutable option handling</li>
  <li>Replace HelpRequested exception with Config.isHelpRequested()</li>
  <li>Remove ConnectionConfig console output</li>
  <li>Remove TestConfig in favor of reworked Config ctors</li>
  <li>Extract Config.APP_DATA_DIR constant</li>
  <li>Add comments to Config and reorder a few things</li>
  <li>Normalize creation of appDataDir and subdirs</li>
  <li>Introduce and document static Config.baseCurrencyNetwork()</li>
  <li>Introduce and document static Config.appDataDir()</li>
  <li>Introduce LocalBitcoinNode and tests</li>
  <li>Move Config.getOsUserDataDir to BisqExecutable.osUserDataDir</li>
  <li>Rename and reorder test for nonexistent --configFile</li>
  <li>Qualify relative --configFile value with appDataDir</li>
  <li>Throw if --configFile value does not exist</li>
  <li>Introduce Config testing facilities</li>
  <li>Document Config and related types</li>
  <li>Reorder a few of the most important options</li>
  <li>Make Config option fields public and inline accessors</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-0">.editorconfig</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-1">.gitignore</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-2">.idea/codeStyles/Project.xml</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-3">build.gradle</a>
    (89)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-4">common/src/main/java/bisq/common/BisqException.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-5">common/src/main/java/bisq/common/app/AppModule.java</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-6">common/src/main/java/bisq/common/app/DevEnv.java</a>
    (9)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-7">common/src/main/java/bisq/common/config/BaseCurrencyNetwork.java</a>
    (2)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-8">common/src/main/java/bisq/common/config/BisqHelpFormatter.java</a>
    (2)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-9">common/src/main/java/bisq/common/config/CompositeOptionSet.java</a>
    (55)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-10">common/src/main/java/bisq/common/config/Config.java</a>
    (857)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-11">common/src/main/java/bisq/common/config/ConfigException.java</a>
    (14)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-12">common/src/main/java/bisq/common/config/ConfigFileEditor.java</a>
    (87)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-13">common/src/main/java/bisq/common/config/ConfigFileOption.java</a>
    (36)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-14">common/src/main/java/bisq/common/config/ConfigFileReader.java</a>
    (46)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-15">common/src/main/java/bisq/common/config/EnumValueConverter.java</a>
    (17)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-16">common/src/main/java/bisq/common/crypto/CryptoUtils.java</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-17">common/src/main/java/bisq/common/crypto/KeyStorage.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-18">common/src/main/java/bisq/common/proto/persistable/NavigationPath.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-19">common/src/main/java/bisq/common/setup/CommonSetup.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-20">common/src/main/java/bisq/common/storage/Storage.java</a>
    (7)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-21">common/src/main/java/bisq/common/util/CollectionUtils.java</a>
    (35)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-22">common/src/main/java/bisq/common/util/Preconditions.java</a>
    (32)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-23">common/src/main/java/bisq/common/util/Utilities.java</a>
    (7)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-24">common/src/test/java/bisq/common/config/ConfigFileEditorTests.java</a>
    (118)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-25">common/src/test/java/bisq/common/config/ConfigFileOptionTests.java</a>
    (38)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-26">common/src/test/java/bisq/common/config/ConfigFileReaderTests.java</a>
    (78)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-27">common/src/test/java/bisq/common/config/ConfigTests.java</a>
    (257)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-28">common/src/test/java/bisq/common/util/PreconditionsTests.java</a>
    (34)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-29">core/src/main/java/bisq/core/CoreApi.java</a>
    (163)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-30">core/src/main/java/bisq/core/CoreModule.java</a>
    (92)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-31">core/src/main/java/bisq/core/account/sign/SignedWitnessStorageService.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-32">core/src/main/java/bisq/core/account/witness/AccountAgeWitnessStorageService.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-33">core/src/main/java/bisq/core/alert/Alert.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-34">core/src/main/java/bisq/core/alert/AlertManager.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-35">core/src/main/java/bisq/core/alert/AlertModule.java</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-36">core/src/main/java/bisq/core/alert/PrivateNotificationManager.java</a>
    (7)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-37">core/src/main/java/bisq/core/app/AppOptionKeys.java</a>
    (32)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-38">core/src/main/java/bisq/core/app/AvoidStandbyModeService.java</a>
    (10)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-39">core/src/main/java/bisq/core/app/BisqEnvironment.java</a>
    (441)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-40">core/src/main/java/bisq/core/app/BisqExecutable.java</a>
    (433)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-41">core/src/main/java/bisq/core/app/BisqHeadlessAppMain.java</a>
    (20)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-42">core/src/main/java/bisq/core/app/BisqSetup.java</a>
    (69)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-43">core/src/main/java/bisq/core/app/SetupUtils.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-44">core/src/main/java/bisq/core/app/TorSetup.java</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-45">core/src/main/java/bisq/core/app/WalletAppSetup.java</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-46">core/src/main/java/bisq/core/app/misc/AppSetup.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-47">core/src/main/java/bisq/core/app/misc/AppSetupWithP2P.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-48">core/src/main/java/bisq/core/app/misc/AppSetupWithP2PAndDAO.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-49">core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java</a>
    (25)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-50">core/src/main/java/bisq/core/app/misc/ModuleForAppWithP2p.java</a>
    (88)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-51">core/src/main/java/bisq/core/btc/BitcoinModule.java</a>
    (47)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-52">core/src/main/java/bisq/core/btc/BtcOptionKeys.java</a>
    (31)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-53">core/src/main/java/bisq/core/btc/UserAgent.java</a>
    (44)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-54">core/src/main/java/bisq/core/btc/model/AddressEntry.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-55">core/src/main/java/bisq/core/btc/nodes/BtcNetworkConfig.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-56">core/src/main/java/bisq/core/btc/nodes/BtcNodes.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-57">core/src/main/java/bisq/core/btc/nodes/BtcNodesSetupPreferences.java</a>
    (4)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-58">core/src/main/java/bisq/core/btc/nodes/LocalBitcoinNode.java</a>
    (61)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-59">core/src/main/java/bisq/core/btc/setup/RegTestHost.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-60">core/src/main/java/bisq/core/btc/setup/WalletConfig.java</a>
    (36)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-61">core/src/main/java/bisq/core/btc/setup/WalletsSetup.java</a>
    (49)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-62">core/src/main/java/bisq/core/btc/wallet/Restrictions.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-63">core/src/main/java/bisq/core/btc/wallet/TradeWalletService.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-64">core/src/main/java/bisq/core/btc/wallet/WalletService.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-65">core/src/main/java/bisq/core/dao/DaoModule.java</a>
    (43)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-66">core/src/main/java/bisq/core/dao/DaoOptionKeys.java</a>
    (37)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-67">core/src/main/java/bisq/core/dao/governance/blindvote/BlindVote.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-68">core/src/main/java/bisq/core/dao/governance/blindvote/BlindVoteListService.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-69">core/src/main/java/bisq/core/dao/governance/blindvote/MyBlindVoteListService.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-70">core/src/main/java/bisq/core/dao/governance/blindvote/storage/BlindVoteStorageService.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-71">core/src/main/java/bisq/core/dao/governance/param/Param.java</a>
    (64)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-72">core/src/main/java/bisq/core/dao/governance/proposal/MyProposalListService.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-73">core/src/main/java/bisq/core/dao/governance/proposal/ProposalService.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-74">core/src/main/java/bisq/core/dao/governance/proposal/param/ChangeParamValidator.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-75">core/src/main/java/bisq/core/dao/governance/proposal/storage/appendonly/ProposalStorageService.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-76">core/src/main/java/bisq/core/dao/governance/proposal/storage/temp/TempProposalPayload.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-77">core/src/main/java/bisq/core/dao/governance/proposal/storage/temp/TempProposalStorageService.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-78">core/src/main/java/bisq/core/dao/monitoring/DaoStateMonitoringService.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-79">core/src/main/java/bisq/core/dao/node/BsqNodeProvider.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-80">core/src/main/java/bisq/core/dao/node/explorer/ExportJsonFilesService.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-81">core/src/main/java/bisq/core/dao/node/full/RpcService.java</a>
    (45)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-82">core/src/main/java/bisq/core/dao/node/parser/TxOutputParser.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-83">core/src/main/java/bisq/core/dao/state/DaoStateStorageService.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-84">core/src/main/java/bisq/core/dao/state/GenesisTxInfo.java</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-85">core/src/main/java/bisq/core/dao/state/model/governance/BondedRoleType.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-86">core/src/main/java/bisq/core/dao/state/model/governance/ChangeParamProposal.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-87">core/src/main/java/bisq/core/dao/state/model/governance/CompensationProposal.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-88">core/src/main/java/bisq/core/dao/state/model/governance/ConfiscateBondProposal.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-89">core/src/main/java/bisq/core/dao/state/model/governance/GenericProposal.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-90">core/src/main/java/bisq/core/dao/state/model/governance/ReimbursementProposal.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-91">core/src/main/java/bisq/core/dao/state/model/governance/RemoveAssetProposal.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-92">core/src/main/java/bisq/core/dao/state/model/governance/RoleProposal.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-93">core/src/main/java/bisq/core/filter/Filter.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-94">core/src/main/java/bisq/core/filter/FilterManager.java</a>
    (34)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-95">core/src/main/java/bisq/core/filter/FilterModule.java</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-96">core/src/main/java/bisq/core/locale/CurrencyUtil.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-97">core/src/main/java/bisq/core/locale/Res.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-98">core/src/main/java/bisq/core/network/p2p/seed/DefaultSeedNodeRepository.java</a>
    (27)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-99">core/src/main/java/bisq/core/notifications/MobileNotificationService.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-100">core/src/main/java/bisq/core/offer/OfferBookService.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-101">core/src/main/java/bisq/core/offer/OfferModule.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-102">core/src/main/java/bisq/core/offer/OfferPayload.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-103">core/src/main/java/bisq/core/payment/payload/AdvancedCashAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-104">core/src/main/java/bisq/core/payment/payload/AliPayAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-105">core/src/main/java/bisq/core/payment/payload/CashAppAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-106">core/src/main/java/bisq/core/payment/payload/CashDepositAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-107">core/src/main/java/bisq/core/payment/payload/ChaseQuickPayAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-108">core/src/main/java/bisq/core/payment/payload/ClearXchangeAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-109">core/src/main/java/bisq/core/payment/payload/CryptoCurrencyAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-110">core/src/main/java/bisq/core/payment/payload/F2FAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-111">core/src/main/java/bisq/core/payment/payload/FasterPaymentsAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-112">core/src/main/java/bisq/core/payment/payload/HalCashAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-113">core/src/main/java/bisq/core/payment/payload/InstantCryptoCurrencyPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-114">core/src/main/java/bisq/core/payment/payload/InteracETransferAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-115">core/src/main/java/bisq/core/payment/payload/JapanBankAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-116">core/src/main/java/bisq/core/payment/payload/MoneyBeamAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-117">core/src/main/java/bisq/core/payment/payload/MoneyGramAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-118">core/src/main/java/bisq/core/payment/payload/NationalBankAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-119">core/src/main/java/bisq/core/payment/payload/OKPayAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-120">core/src/main/java/bisq/core/payment/payload/PerfectMoneyAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-121">core/src/main/java/bisq/core/payment/payload/PopmoneyAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-122">core/src/main/java/bisq/core/payment/payload/PromptPayAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-123">core/src/main/java/bisq/core/payment/payload/RevolutAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-124">core/src/main/java/bisq/core/payment/payload/SameBankAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-125">core/src/main/java/bisq/core/payment/payload/SepaAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-126">core/src/main/java/bisq/core/payment/payload/SepaInstantAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-127">core/src/main/java/bisq/core/payment/payload/SpecificBanksAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-128">core/src/main/java/bisq/core/payment/payload/SwishAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-129">core/src/main/java/bisq/core/payment/payload/USPostalMoneyOrderAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-130">core/src/main/java/bisq/core/payment/payload/UpholdAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-131">core/src/main/java/bisq/core/payment/payload/VenmoAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-132">core/src/main/java/bisq/core/payment/payload/WeChatPayAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-133">core/src/main/java/bisq/core/payment/payload/WesternUnionAccountPayload.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-134">core/src/main/java/bisq/core/payment/validation/AltCoinAddressValidator.java</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-135">core/src/main/java/bisq/core/presentation/CorePresentationModule.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-136">core/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-137">core/src/main/java/bisq/core/provider/ProvidersRepository.java</a>
    (25)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-138">core/src/main/java/bisq/core/provider/fee/FeeService.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-139">core/src/main/java/bisq/core/setup/CoreNetworkCapabilities.java</a>
    (16)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-140">core/src/main/java/bisq/core/setup/CorePersistedDataHost.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-141">core/src/main/java/bisq/core/setup/CoreSetup.java</a>
    (18)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-142">core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentService.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-143">core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/Arbitrator.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-144">core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorManager.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-145">core/src/main/java/bisq/core/support/dispute/mediation/mediator/Mediator.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-146">core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorManager.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-147">core/src/main/java/bisq/core/support/dispute/refund/refundagent/RefundAgent.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-148">core/src/main/java/bisq/core/support/dispute/refund/refundagent/RefundAgentManager.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-149">core/src/main/java/bisq/core/trade/TradeModule.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-150">core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerSetsLockTime.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-151">core/src/main/java/bisq/core/trade/statistics/TradeStatistics.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-152">core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-153">core/src/main/java/bisq/core/trade/statistics/TradeStatistics2StorageService.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-154">core/src/main/java/bisq/core/trade/statistics/TradeStatisticsManager.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-155">core/src/main/java/bisq/core/user/Preferences.java</a>
    (84)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-156">core/src/main/java/bisq/core/util/coin/BsqFormatter.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-157">core/src/main/java/bisq/core/util/coin/ImmutableCoinFormatter.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-158">core/src/main/java/bisq/core/util/validation/BtcAddressValidator.java</a>
    (5)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-159">core/src/test/java/bisq/core/app/BisqEnvironmentTests.java</a>
    (67)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-160">core/src/test/java/bisq/core/app/BisqHelpFormatterTest.java</a>
    (2)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-161">core/src/test/java/bisq/core/btc/nodes/LocalBitcoinNodeTests.java</a>
    (55)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-162">core/src/test/java/bisq/core/locale/CurrencyUtilTest.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-163">core/src/test/java/bisq/core/network/p2p/seed/DefaultSeedNodeRepositoryTest.java</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-164">core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java</a>
    (15)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-165">core/src/test/java/bisq/core/payment/validation/AltCoinAddressValidatorTest.java</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-166">core/src/test/java/bisq/core/trade/TradableListTest.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-167">core/src/test/java/bisq/core/user/PreferencesTest.java</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-168">desktop/src/main/java/bisq/desktop/DesktopModule.java</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-169">desktop/src/main/java/bisq/desktop/app/BisqApp.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-170">desktop/src/main/java/bisq/desktop/app/BisqAppMain.java</a>
    (41)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-171">desktop/src/main/java/bisq/desktop/app/BisqAppModule.java</a>
    (19)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-172">desktop/src/main/java/bisq/desktop/app/SystemTray.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-173">desktop/src/main/java/bisq/desktop/common/fxml/FxmlViewLoader.java</a>
    (23)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-174">desktop/src/main/java/bisq/desktop/common/view/DefaultPathConvention.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-175">desktop/src/main/java/bisq/desktop/main/MainView.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-176">desktop/src/main/java/bisq/desktop/main/MainViewModel.java</a>
    (20)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-177">desktop/src/main/java/bisq/desktop/main/account/content/backup/BackupView.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-178">desktop/src/main/java/bisq/desktop/main/account/content/fiataccounts/FiatAccountsView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-179">desktop/src/main/java/bisq/desktop/main/account/content/seedwords/SeedWordsView.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-180">desktop/src/main/java/bisq/desktop/main/account/register/AgentRegistrationView.java</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-181">desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-182">desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-183">desktop/src/main/java/bisq/desktop/main/account/register/refundagent/RefundAgentRegistrationView.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-184">desktop/src/main/java/bisq/desktop/main/dao/governance/ProposalDisplay.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-185">desktop/src/main/java/bisq/desktop/main/dao/monitor/blindvotes/BlindVoteStateMonitorView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-186">desktop/src/main/java/bisq/desktop/main/dao/monitor/daostate/DaoStateMonitorView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-187">desktop/src/main/java/bisq/desktop/main/dao/monitor/proposals/ProposalStateMonitorView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-188">desktop/src/main/java/bisq/desktop/main/market/offerbook/OfferBookChartView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-189">desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-190">desktop/src/main/java/bisq/desktop/main/overlays/Overlay.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-191">desktop/src/main/java/bisq/desktop/main/overlays/windows/DaoLaunchWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-192">desktop/src/main/java/bisq/desktop/main/overlays/windows/FilterWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-193">desktop/src/main/java/bisq/desktop/main/overlays/windows/NewTradeProtocolLaunchWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-194">desktop/src/main/java/bisq/desktop/main/overlays/windows/SendAlertMessageWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-195">desktop/src/main/java/bisq/desktop/main/overlays/windows/SignPaymentAccountsWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-196">desktop/src/main/java/bisq/desktop/main/overlays/windows/WalletPasswordWindow.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-197">desktop/src/main/java/bisq/desktop/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-198">desktop/src/main/java/bisq/desktop/main/portfolio/closedtrades/ClosedTradesView.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-199">desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-200">desktop/src/main/java/bisq/desktop/main/settings/network/NetworkSettingsView.java</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-201">desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java</a>
    (27)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-202">desktop/src/main/java/bisq/desktop/main/support/dispute/agent/DisputeAgentView.java</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-203">desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-204">desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-205">desktop/src/main/java/bisq/desktop/main/support/dispute/agent/refund/RefundAgentView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-206">desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-207">desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-208">desktop/src/main/java/bisq/desktop/main/support/dispute/client/refund/RefundClientView.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-209">desktop/src/main/java/bisq/desktop/util/GUIUtil.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-210">desktop/src/test/java/bisq/desktop/GuiceSetupTest.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-211">desktop/src/test/java/bisq/desktop/main/market/offerbook/OfferBookChartViewModelTest.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-212">desktop/src/test/java/bisq/desktop/main/market/spread/SpreadViewModelTest.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-213">desktop/src/test/java/bisq/desktop/main/offer/createoffer/CreateOfferViewModelTest.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-214">desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-215">desktop/src/test/java/bisq/desktop/main/portfolio/editoffer/EditOfferDataModelTest.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-216">desktop/src/test/java/bisq/desktop/maker/PreferenceMakers.java</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-217">desktop/src/test/java/bisq/desktop/util/DisplayUtilsTest.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-218">desktop/src/test/java/bisq/desktop/util/ImmutableCoinFormatterTest.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-219">desktop/src/test/java/bisq/desktop/util/validation/AdvancedCashValidatorTest.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-220">desktop/src/test/java/bisq/desktop/util/validation/BtcValidatorTest.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-221">desktop/src/test/java/bisq/desktop/util/validation/FiatVolumeValidatorTest.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-222">desktop/src/test/java/bisq/desktop/util/validation/InteracETransferAnswerValidatorTest.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-223">desktop/src/test/java/bisq/desktop/util/validation/InteracETransferQuestionValidatorTest.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-224">desktop/src/test/java/bisq/desktop/util/validation/InteracETransferValidatorTest.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-225">desktop/src/test/java/bisq/desktop/util/validation/LengthValidatorTest.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-226">desktop/src/test/java/bisq/desktop/util/validation/RegexValidatorTest.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-227">gradle/witness/gradle-witness.gradle</a>
    (54)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-228">grpc/src/main/java/bisq/grpc/BisqGrpcApp.java</a>
    (11)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-229">grpc/src/main/java/bisq/grpc/BisqGrpcClient.java</a>
    (297)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-230">grpc/src/main/java/bisq/grpc/BisqGrpcServer.java</a>
    (236)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-231">grpc/src/main/java/bisq/grpc/BisqGrpcServerMain.java</a>
    (126)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-232">grpc/src/main/java/resources/logback.xml</a>
    (16)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-233">grpc/src/main/proto/grpc.proto</a>
    (148)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-234">monitor/src/main/java/bisq/monitor/Metric.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-235">monitor/src/main/java/bisq/monitor/metric/P2PMarketStats.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-236">monitor/src/main/java/bisq/monitor/metric/P2PNetworkLoad.java</a>
    (18)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-237">monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshot.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-238">monitor/src/main/java/bisq/monitor/reporter/ConsoleReporter.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-239">monitor/src/main/java/bisq/monitor/reporter/GraphiteReporter.java</a>
    (2)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-240">p2p/src/main/java/bisq/network/NetworkOptionKeys.java</a>
    (42)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-241">p2p/src/main/java/bisq/network/Socks5ProxyProvider.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-242">p2p/src/main/java/bisq/network/crypto/EncryptionServiceModule.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-243">p2p/src/main/java/bisq/network/p2p/NetworkNodeProvider.java</a>
    (28)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-244">p2p/src/main/java/bisq/network/p2p/P2PModule.java</a>
    (64)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-245">p2p/src/main/java/bisq/network/p2p/P2PService.java</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-246">p2p/src/main/java/bisq/network/p2p/network/Connection.java</a>
    (31)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-247">p2p/src/main/java/bisq/network/p2p/network/ConnectionConfig.java</a>
    (68)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-248">p2p/src/main/java/bisq/network/p2p/network/NewTor.java</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-249">p2p/src/main/java/bisq/network/p2p/network/RunningTor.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-250">p2p/src/main/java/bisq/network/p2p/peers/BanList.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-251">p2p/src/main/java/bisq/network/p2p/peers/PeerManager.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-252">p2p/src/main/java/bisq/network/p2p/storage/payload/MailboxStoragePayload.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-253">p2p/src/main/java/bisq/network/p2p/storage/persistence/PersistableNetworkPayloadListService.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-254">p2p/src/test/java/bisq/network/p2p/DummySeedNode.java</a>
    (23)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-255">p2p/src/test/java/bisq/network/p2p/MockNode.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-256">p2p/src/test/java/bisq/network/p2p/network/TorNetworkNodeTest.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-257">p2p/src/test/java/bisq/network/p2p/peers/PeerManagerTest.java</a>
    (4)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-258">p2p/src/test/java/bisq/network/p2p/storage/mocks/MockData.java</a>
    (88)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-259">p2p/src/test/java/bisq/network/p2p/storage/mocks/MockData.kt</a>
    (39)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-260">seednode/src/main/java/bisq/seednode/SeedNodeMain.java</a>
    (17)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-261">seednode/src/test/java/bisq/seednode/GuiceSetupTest.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-262">settings.gradle</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/3889/files#diff-263">statsnode/src/main/java/bisq/statistics/StatisticsMain.java</a>
    (19)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/bisq-network/bisq/pull/3889.patch'>https://github.com/bisq-network/bisq/pull/3889.patch</a></li>
  <li><a href='https://github.com/bisq-network/bisq/pull/3889.diff'>https://github.com/bisq-network/bisq/pull/3889.diff</a></li>
</ul>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/bisq-network/bisq/pull/3889?email_source=notifications&email_token=AJFFTNTYWXRFNL5QNUXWVHLQ5DQBPA5CNFSM4KFNLJBKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IFOI73Q">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJFFTNU563OLQEIEVT2SWDLQ5DQBPANCNFSM4KFNLJBA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AJFFTNW6L2YIBHVGL7OBYXLQ5DQBPA5CNFSM4KFNLJBKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IFOI73Q.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/bisq-network/bisq/pull/3889?email_source=notifications\u0026email_token=AJFFTNTYWXRFNL5QNUXWVHLQ5DQBPA5CNFSM4KFNLJBKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IFOI73Q",
"url": "https://github.com/bisq-network/bisq/pull/3889?email_source=notifications\u0026email_token=AJFFTNTYWXRFNL5QNUXWVHLQ5DQBPA5CNFSM4KFNLJBKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IFOI73Q",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>