<p>Will rebase and after <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="727552801" data-permission-text="Title is private" data-url="https://github.com/bisq-network/bisq/issues/4685" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/4685/hovercard" href="https://github.com/bisq-network/bisq/pull/4685">#4685</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="726761003" data-permission-text="Title is private" data-url="https://github.com/bisq-network/bisq/issues/4680" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/4680/hovercard" href="https://github.com/bisq-network/bisq/pull/4680">#4680</a> is 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/4686'>https://github.com/bisq-network/bisq/pull/4686</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Extract method for filling seed nodes from property file</li>
  <li>Make config nullable and extract methods where config is used and apply default value in case config is not set.</li>
  <li>Add inventory module</li>
  <li>Move inventory package to core as we want to include other domain data as well like DAO state</li>
  <li>Add signature to request to limit the feature to requests from trusted nodes (monitor)</li>
  <li>Add readableFileSize</li>
  <li>Add readSeedNodePropertyFile method</li>
  <li>Add sparkjava dependency</li>
  <li>Remove signature from GetInventoryRequest (as monitor is public it does not make sense to limit requests).</li>
  <li>Add shadow plugin</li>
  <li>Make RequestInfo public</li>
  <li>Add InventoryItem enum</li>
  <li>Add nodes from mike</li>
  <li>Shut down connection after response received</li>
  <li>Add network node shutdown</li>
  <li>Add more warn/alert checks</li>
  <li>Add triggers for maxConnections and numConnections</li>
  <li>Fix error handling</li>
  <li>Add peakNumConnections</li>
  <li>Add numAllConnectionsLostEvents</li>
  <li>Fix connection config for monitor</li>
  <li>Code cleanup</li>
  <li>Added offer volume feed metric</li>
  <li>Added offer-volume-distribution</li>
  <li>Added offers-per-trader metric</li>
  <li>Added volume-per-trader metric</li>
  <li>Cleanup and refactoring</li>
  <li>Reorg imports, reformat code according to your style guide</li>
  <li>Remove change in Connection (issue with config when not using guice is</li>
  <li>Adopt to new Persistencemanager</li>
  <li>Make constructor public</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-49a96e7eea8a94af862798a45174e6ac43eb4f8b4bd40759b5da63ba31ec3ef7">build.gradle</a>
    (16)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-8a4354bcac7cd33403ad24632c7bd1942321b528510353e4d5532c1416a317fe">common/src/main/java/bisq/common/util/Profiler.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-954a13a40a21444790276f14d9f6d3b436d9a25407c63649f035fcf6368c12cd">common/src/main/java/bisq/common/util/Utilities.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-7b8f8b3d290d9d1bed93f9aac21d93475eb0179eb816ff853c0ce74056fc28af">core/src/main/java/bisq/core/account/witness/AccountAgeWitnessStore.java</a>
    (2)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-51052d21009036a1a7710a09c5715fb792c916728d1fe7d6d499ee4b161902bc">core/src/main/java/bisq/core/network/p2p/inventory/DeviationSeverity.java</a>
    (24)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-f90116f04ea6d2b230970208b5d0125e8bc3953b703db16a8e4c0d5c23b28ba0">core/src/main/java/bisq/core/network/p2p/inventory/GetInventoryRequestHandler.java</a>
    (186)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-aa460674f15b564464a6d173973615024cb04131e26b4ee29cae7cd2b3d03911">core/src/main/java/bisq/core/network/p2p/inventory/GetInventoryRequestManager.java</a>
    (9)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-0c3960b5ae11fa4e471b69a064e386daeaf77a6a9e915a5934968cee1182f6e3">core/src/main/java/bisq/core/network/p2p/inventory/GetInventoryRequester.java</a>
    (48)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-cd1a8775c93d4fd4823e58db64ca2d59ce41e51e25f1a350c8b89c94877df67d">core/src/main/java/bisq/core/network/p2p/inventory/InventoryItem.java</a>
    (97)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-e1fb2237505234ef33b352ea91f55e68504964994cd7e3794922ced30a86568a">core/src/main/java/bisq/core/network/p2p/inventory/messages/GetInventoryRequest.java</a>
    (2)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-5f073f68cac9c697029e48fbb019d0cfba11e5d322273f6a466ea9622530d96d">core/src/main/java/bisq/core/network/p2p/inventory/messages/GetInventoryResponse.java</a>
    (34)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-656c1030ae4bdb35839ac139585f32a63c3aae521641650cbd1f59bfeaa52472">core/src/main/java/bisq/core/network/p2p/seed/DefaultSeedNodeRepository.java</a>
    (49)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-3c5f5cf8eced5b053128c4e28f4e69c3865b611e1521733321a23b88fd304dd7">core/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-d3be02fd51c6b9fd5afff82a29db469c131262ac08b627909f18f94f6aa1aeec">core/src/main/java/bisq/core/trade/statistics/TradeStatistics3Store.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-9b8da863309f797b82b4ce0c11aaf5ef63d76ece2a0f43a52e23a60a2ed6283e">core/src/main/resources/btc_regtest.seednodes</a>
    (20)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-0a63b35a159becb74f8ef8913d79c2f324b5a6b8479a341d44e854395781a6be">inventory/src/main/java/bisq/inventory/InventoryMonitor.java</a>
    (195)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-116f493562e65bf3727281675f4a1e6a16ef7f657adee2765341650d8a2fb34a">inventory/src/main/java/bisq/inventory/InventoryMonitorMain.java</a>
    (127)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-84f438cb6a72dfea84510c2cb534c8f85434628942dbc1be9c1dad953fb713ce">inventory/src/main/java/bisq/inventory/InventoryUtil.java</a>
    (177)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-ceee4a2fb604cef13b9cbc7e76d8c56b9b2580c4afa1b48ab00397c2d991be7d">inventory/src/main/java/bisq/inventory/InventoryWebServer.java</a>
    (434)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-46e6f10c18ea06f4d46c72e53373585d116149a32d705934922fbdef6f7d2282">inventory/src/main/java/bisq/inventory/RequestInfo.java</a>
    (44)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-6370af602aa0ef32be808364dea3a0044223639511c05a40b0c1004622e597cd">inventory/src/main/resources/inv_btc_mainnet.seednodes</a>
    (19)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-be57cca0655004e62cfee76be83df112cad05225472874bdd5753f443fdf3bb3">inventory/src/main/resources/logback.xml</a>
    (16)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-000d45a4583653c22aeac05723bfee053bf4659f1e6a414bd20d7b13868dd663">monitor/src/main/java/bisq/monitor/AvailableTor.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-575d2ba9d06a2a85908f085ed2a9cc9cc0fb2b7def52f639835a6726499941e6">monitor/src/main/java/bisq/monitor/Metric.java</a>
    (8)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-2b776f4e5b21b2d065ab97cae565c33c0d1d4e4e30f9fa75b9aa7b4f96c596fa">monitor/src/main/java/bisq/monitor/Monitor.java</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-aa3c21bfaa590a53d1e9fd7f13ce2530e21530c632cbb5837a9fbeb90a16989b">monitor/src/main/java/bisq/monitor/OnionParser.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-4d351ff9a3699c6f8b058c5180b67554ae6d815c9d88bc9adfea21c7d5335b38">monitor/src/main/java/bisq/monitor/StatisticsHelper.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-7c2a3ffc25283d59cc674343701e42b96a63c21b8f592ecee1757818ae725d75">monitor/src/main/java/bisq/monitor/ThreadGate.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-34f8099a1a10a4822c45a2b33b6e0c22061744f25cde87a8c3b8f1a9bc3f37e0">monitor/src/main/java/bisq/monitor/metric/MarketStats.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-aa62967771d4980a26132ba0b1479db2394726403e8d2e9fd3342c5788dc6d63">monitor/src/main/java/bisq/monitor/metric/P2PMarketStats.java</a>
    (199)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-948cb7f3592212b8830d272e21b32aadff5f9b07bc182ab246626f430ee410ee">monitor/src/main/java/bisq/monitor/metric/P2PNetworkLoad.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-aee6319c1386b3778799ccae11f9b5830379e351ee4d7d95f857f3cd841de15f">monitor/src/main/java/bisq/monitor/metric/P2PRoundTripTime.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-0490959f4ec8cee999d228b4ee11533267e6cef1ad400b854f65a3d2af33d0cf">monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshot.java</a>
    (90)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-6ce2e331f7f4fe9d4e8092bbf71dc94c5d19e95dc7970a78ac93202386cc3479">monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshotBase.java</a>
    (125)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-4fb5d4db8ad1b8da6904378d070bc4d71c19c5e4d9be43bda7c1dd5ec0db3fdb">monitor/src/main/java/bisq/monitor/reporter/ConsoleReporter.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-446bd49d91c90c6fb11c340935f2f9fb4fbdb39fccc1f0a9e3d7a460e110762b">monitor/src/main/java/bisq/monitor/reporter/GraphiteReporter.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-21bf34898c71399befa804d50252a42e79b855889641a2b0ca5d4ff11af0a1e8">monitor/src/main/resources/logback.xml</a>
    (22)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-759e32ddb12630e8f08f182ae68b51ad3ba953c3653019f9a582cde04511d8c7">monitor/src/test/java/bisq/monitor/MonitorInfrastructureTests.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-aef7d1c3456ac877d8964a4ddcd9e19f49a01dabeb4dcced5305646717878f43">monitor/src/test/java/bisq/monitor/P2PNetworkLoadTests.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-3b02ba198d7602b4557e4cee77391f887d68a8bae632b42cbea76ce270b2066f">monitor/src/test/java/bisq/monitor/P2PRoundTripTimeTests.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-e85784dc49edc338caee9258070448996b0ac89f30ed359411996a32c2fa2396">monitor/src/test/java/bisq/monitor/PriceNodeStatsTests.java</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-c159620533c6a13a99158d534b441d96836d1535ce5bd6baf816b5a2fe126b25">p2p/src/main/java/bisq/network/p2p/P2PService.java</a>
    (13)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-90fbbd4ecf271363498ec83c7ebe1e9a26045223058197562408763a34dfb974">p2p/src/main/java/bisq/network/p2p/inventory/GetInventoryRequestHandler.java</a>
    (81)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-d507e32ebebe0f99bb16dd3204e351824396948609c119369095ef98f622e955">p2p/src/main/java/bisq/network/p2p/network/Connection.java</a>
    (31)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-7147f9e11e01e8649aa2bdad0c40fc859f4db91744a01dfec046e55b4271b41d">p2p/src/main/java/bisq/network/p2p/network/ConnectionListener.java</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-1ea9ca18b2e7a9274d5de3a495b4363791a5595424c6c9b9fe6cee57eafe6735">p2p/src/main/java/bisq/network/p2p/network/Statistic.java</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-03745bbed2f321ab7b59ccecac61170505a473cdde54af835f99cce16cd0ad7f">p2p/src/main/java/bisq/network/p2p/peers/PeerManager.java</a>
    (21)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-51dcd1d852312df65738ff2bd493fdb0f187f50fb7d7324158c8b57fc1de7da7">proto/src/main/proto/pb.proto</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-2b713921f8d201cbbec13338f1472c16704f9973e0ee088309abfc90f92cbbcc">seednode/src/main/java/bisq/seednode/SeedNode.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-15e2368ce0507e626f2d209110670b97ad633599233e0d9a74ae79a46356356b">seednode/src/main/java/bisq/seednode/SeedNodeMain.java</a>
    (9)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4686/files#diff-7f825392aa37acd1cee0c2e7b9bb7366ad6eac64f3e6cdd816e156bcb69d30de">settings.gradle</a>
    (1)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/bisq-network/bisq/pull/4686.patch'>https://github.com/bisq-network/bisq/pull/4686.patch</a></li>
  <li><a href='https://github.com/bisq-network/bisq/pull/4686.diff'>https://github.com/bisq-network/bisq/pull/4686.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/4686">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AJFFTNUOO2OVUOF77H7O6QDSMBRNZANCNFSM4S3PMTDA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AJFFTNU5HTMYE7AEBQAYF4TSMBRNZA5CNFSM4S3PMTDKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4K253PJQ.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/4686",
"url": "https://github.com/bisq-network/bisq/pull/4686",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>