<p>Implements protection tools in context of API deployment (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="777685766" data-permission-text="Title is private" data-url="https://github.com/bisq-network/projects/issues/46" data-hovercard-type="issue" data-hovercard-url="/bisq-network/projects/issues/46/hovercard" href="https://github.com/bisq-network/projects/issues/46">bisq-network/projects#46</a>)</p>
<p>Based on <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="777391567" data-permission-text="Title is private" data-url="https://github.com/bisq-network/bisq/issues/5045" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/5045/hovercard" href="https://github.com/bisq-network/bisq/pull/5045">#5045</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="777357342" data-permission-text="Title is private" data-url="https://github.com/bisq-network/bisq/issues/5038" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/5038/hovercard" href="https://github.com/bisq-network/bisq/pull/5038">#5038</a><br>
Will merge master and rebase once those are merged so commits are easier to review...</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/5051'>https://github.com/bisq-network/bisq/pull/5051</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Merge branch 'access-concrete-data-stores' into add-filter-support-on-network-level</li>
  <li>Do not shutDown with CloseConnectionReason.PEER_BANNED if we received a</li>
  <li>Improve logs, optimize stream</li>
  <li>Improve logging of received data</li>
  <li>Add NetworkFilter, remove BanList</li>
  <li>Make code more readable</li>
  <li>Add support to filter manager for network wide banned nodes</li>
  <li>Add checks if peer is banned at send msg and InputHandlers</li>
  <li>Refactor sendMessage method: Return early</li>
  <li>Refactor sendMessage method: Inline debug value</li>
  <li>If we select TransferWise we switch to show all</li>
  <li>Add option in preferences to hide payment methods which are not part of the users accounts.</li>
  <li>Extract methods for show all and edit entries.</li>
  <li>Add toggle for filtering offers which can be taken with users accounts</li>
  <li>Add null checks</li>
  <li>Add denyApiTaker entry to extra field map.</li>
  <li>Merge branch 'add-option-to-hide-non-supported-payment-methods' into add-protection-tools-to-offer</li>
  <li>Merge branch 'add-filter-support-on-network-level' into add-protection-tools-to-offer</li>
  <li>Add denyApiTaker to Preferences</li>
  <li>Add denyApiTaker toggle to PreferencesView</li>
  <li>Merge branch 'add-toggle-for-hiding-not-takable-offers' into add-protection-tools-to-offer</li>
  <li>Add isApiUser to OfferAvailabilityRequest</li>
  <li>Add UNCONF_TX_LIMIT_HIT to AvailabilityResult</li>
  <li>Add support for isApiUser and check in OpenOfferManager</li>
  <li>Refactor checks for take-able offers</li>
  <li>Add `getOffersAvailableForTaker` method</li>
  <li>Add disableApi field to filter</li>
  <li>Add comment, remove pointless code.</li>
  <li>Rename bannedNodeAddress to nodeAddressesBannedFromTrading</li>
  <li>Merge branch 'add-filter-support-on-network-level' into add-protection-tools-to-offer</li>
  <li>Rename isApiUser to isTakerApiUser</li>
  <li>Add Result.API_DISABLED</li>
  <li>Add missing enum entries to protobuf</li>
  <li>Remove OfferPayload.DENY_API_TAKER and use preferences</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-ba285b88beeaf9eb962e9de8357bac3038db235c85bb3a66e6b815aa276f7da8">common/src/main/java/bisq/common/proto/ProtoUtil.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-302170e4ff5d1335d189d96fcf2a0bedf298680d09df0a7aa16b68c8737ec5b2">core/src/main/java/bisq/core/account/sign/SignedWitnessService.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-fb5876d3b212d239a14d78529ac498b30a2dbb8e3f184ba9bd711a5d4901fb62">core/src/main/java/bisq/core/api/CoreApi.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-e66126b732dbd45cde04307641186caa214407bc74403812b10d3ebf18d2aecc">core/src/main/java/bisq/core/api/CoreOffersService.java</a>
    (15)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-7ab5c96db69bcc7ca05627ada97fd93b423f7df355641a7cd371d31f2039baf9">core/src/main/java/bisq/core/api/CoreTradesService.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-0acc7d00f8368b0f79485d84162b2beb9487b061fd2d31aeb529e06d7c10d299">core/src/main/java/bisq/core/app/BisqSetup.java</a>
    (6)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-db6e31c6cc6d57a79170a808e450779d903009cb05eca3f09dafcf87463d4f56">core/src/main/java/bisq/core/app/CoreModule.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-62e0d87d4b904e0116dd61655ab722a46528b1dff4420fdf49c0f32bec1bcfb0">core/src/main/java/bisq/core/app/misc/ModuleForAppWithP2p.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-b5696f2f5bb5ed4e1038719ef94bb48044122fd4eb09b0e937dcbf26eb578b6b">core/src/main/java/bisq/core/dao/governance/proposal/ProposalService.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-62315ea6a8c61061bd59c756e7bdd0b83901f8fe72a609c2aa83d9aa1ee5b79e">core/src/main/java/bisq/core/filter/Filter.java</a>
    (57)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-79c0025630d7dd2b658bec412717192659b93b2141281ee3ee72c9c442187010">core/src/main/java/bisq/core/filter/FilterManager.java</a>
    (11)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-b3b1cc75a75f621e4c369a12164576e19186b11229bb6a3da4fd45ec4adfba71">core/src/main/java/bisq/core/network/CoreNetworkFilter.java</a>
    (58)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-cf44b8d653d0b462ac0e0ea6a90b57880ed55375f4c01580ace3d39cdcb4864f">core/src/main/java/bisq/core/offer/AvailabilityResult.java</a>
    (4)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-a12f637d7645cf096859fd7da7a3b41633d06da6c9df6f52bea3d6cea5698a1d">core/src/main/java/bisq/core/offer/OfferFilter.java</a>
    (213)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-5e151a76cef2e8ffea07c4d456f312d5eb446f0fa1b813c467b677a9323164c6">core/src/main/java/bisq/core/offer/OpenOfferManager.java</a>
    (65)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-13a4b02f5ede8738b80b9b03a91325bb9a2b64cb70b75f40f43a247fc3a0430a">core/src/main/java/bisq/core/offer/availability/OfferAvailabilityModel.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-e78df2057272460f7f5a01928c73e0298faa7c0b0fa46612650ccc784a7b92cd">core/src/main/java/bisq/core/offer/availability/tasks/SendOfferAvailabilityRequest.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-b60b987fcbe46bcc88040fec846e6b36a12243bb25fcee9aca67ba0a9a0106c5">core/src/main/java/bisq/core/offer/messages/OfferAvailabilityRequest.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-4c53004633c87a847cb5cb8296acfcff56882b3c4c502b9ee8d16ca3d81881cb">core/src/main/java/bisq/core/trade/TradeManager.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-3117f0897492bb1e296445c33b6d902d7a030ac0b6c47072e33a7a7af4a67baf">core/src/main/java/bisq/core/user/Preferences.java</a>
    (21)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-d49eba386225655d5e2e4e095a2eb85575be337ca6c067e5af76abdeb636bf46">core/src/main/java/bisq/core/user/PreferencesPayload.java</a>
    (14)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-a6cc570e0f56a36136791beae8f497706216230467708be9343344cd953e5f08">core/src/main/resources/i18n/displayStrings.properties</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-60a81df610d10ccfb05dcd6679a5251f1eab85d02f95bfa8f564a71a69d14e6a">core/src/test/java/bisq/core/user/UserPayloadModelVOTest.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-30d3ce2071e4f0b325fe02fa7e0036ad6b303dd226b091e23e1cb7e069ded5a9">core/src/test/java/bisq/core/util/FeeReceiverSelectorTest.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-89fda5dcb5d6f1b3d420717a41dfe4c6012de9c0904bf9d56d7cd086c516bd51">desktop/src/main/java/bisq/desktop/main/market/MarketView.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-0efd89b6d9829067ee93ebac90eead982226606076552e2b0ccc179670ce944c">desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookView.java</a>
    (224)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-f7a4fc19540dc68f41d27e9c6e7908c737a95e8e544b1e4f8f4d280d2267ee2f">desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookViewModel.java</a>
    (154)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-e91ddc497f0b94a9a80cc234cbdcedaf05e8f40e6e1d5fc7e9c9794f97063495">desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferDataModel.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-16585557905f0225ef3f6d3eb57202e7f5c80ae40517b6161e24b886512cbbda">desktop/src/main/java/bisq/desktop/main/overlays/windows/FilterWindow.java</a>
    (26)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-929f68b5b84a02ac4d217565bee2964dda3228242737bd2f2a5ff3949b1f41cd">desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java</a>
    (31)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-407e9498f14aced7e424484c01868c0286e2c89ec5eda72b213da81baa1efae1">desktop/src/test/java/bisq/desktop/main/offer/offerbook/OfferBookViewModelTest.java</a>
    (22)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-0a63b35a159becb74f8ef8913d79c2f324b5a6b8479a341d44e854395781a6be">inventory/src/main/java/bisq/inventory/InventoryMonitor.java</a>
    (1)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-948cb7f3592212b8830d272e21b32aadff5f9b07bc182ab246626f430ee410ee">monitor/src/main/java/bisq/monitor/metric/P2PNetworkLoad.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-6ce2e331f7f4fe9d4e8092bbf71dc94c5d19e95dc7970a78ac93202386cc3479">monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshotBase.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-7bfe8cd3632d6a135988582d108e39b7f244949d0a2870150051b97b4b9de126">p2p/src/main/java/bisq/network/p2p/NetworkNodeProvider.java</a>
    (42)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-ae831abdc9e3a32083d485c29764b0aca29ab748168145207a784875bff62a67">p2p/src/main/java/bisq/network/p2p/P2PModule.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-d507e32ebebe0f99bb16dd3204e351824396948609c119369095ef98f622e955">p2p/src/main/java/bisq/network/p2p/network/Connection.java</a>
    (193)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-d562b12ef75bbea6626f7d6e39c0cd564f4ec50fbbda7c70931549728c4089f5">p2p/src/main/java/bisq/network/p2p/network/InboundConnection.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-0f4bdc02a7f2972f6ddfad0ece994ce4af54cfe0955483c07c971f8c8afc6343">p2p/src/main/java/bisq/network/p2p/network/LocalhostNetworkNode.java</a>
    (6)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-43418945c5fc4e8b634eab81e562e0de9499fd4abd18b20d2ed9b8a814ceb19c">p2p/src/main/java/bisq/network/p2p/network/NetworkFilter.java</a>
    (28)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-eaee71705cd7d9def3841e5525b0091be4452384226c1fc721b63aebffd8a943">p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java</a>
    (13)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-82e8cc34bbd082c6128bec04e446b002a3c012a17a5d8c2999b5401f63a03201">p2p/src/main/java/bisq/network/p2p/network/OutboundConnection.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-4118348e6a7dfeab6a7636815fbf8eaa4669386131d188cdfeb66db0eafcf58a">p2p/src/main/java/bisq/network/p2p/network/Server.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-9c09d928d4d61b36164dcb068421cce6352ebd211eda408e343adc0d6fbb9826">p2p/src/main/java/bisq/network/p2p/network/TorNetworkNode.java</a>
    (9)
  </li>
  <li>
    <strong>D</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-db25e9c46b4d76aa2245751abc3ab709e88eda0b41a6470e8b825d9beaa03b0c">p2p/src/main/java/bisq/network/p2p/peers/BanList.java</a>
    (51)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-a06b78cf5f831b04fafd0dad91fc90398ad550ec3c8ee9a35ebc31382254061b">p2p/src/main/java/bisq/network/p2p/peers/getdata/RequestDataHandler.java</a>
    (41)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-21a9929445c76eafa38a6c701eecb7551b8dc0c6b0a1bd9f6fb689b52b9b2639">p2p/src/main/java/bisq/network/p2p/peers/getdata/messages/GetDataResponse.java</a>
    (20)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-45fc34501c30dffd0b312454da94f2dd0c9df7b8135a4a5019606372c82c3959">p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-6476309e3814cd08f9e340b79e48c1c2603a82d6ea4be4f74d977a514e6f7c1b">p2p/src/main/java/bisq/network/p2p/storage/persistence/HistoricalDataStoreService.java</a>
    (11)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-479b1d7ee3e50c1ece7b8418d37364e026847199c1436372ab11e45bb6506660">p2p/src/test/java/bisq/network/p2p/DummySeedNode.java</a>
    (3)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-11e5d0fb42e579c37d4a4a820436ebcb3ea2e3f60104d6b3aa0e7a283bd47ccb">p2p/src/test/java/bisq/network/p2p/network/LocalhostNetworkNodeTest.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-fd1ab16896b7b5b64ff5d503bd98db38e528b84f817d9fdd2428013cd4c96691">p2p/src/test/java/bisq/network/p2p/network/TorNetworkNodeTest.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5051/files#diff-51dcd1d852312df65738ff2bd493fdb0f187f50fb7d7324158c8b57fc1de7da7">proto/src/main/proto/pb.proto</a>
    (10)
  </li>
</ul>

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