<p>This is a follow up to PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="816648608" data-permission-text="Title is private" data-url="https://github.com/bisq-network/bisq/issues/5240" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/5240/hovercard" href="https://github.com/bisq-network/bisq/pull/5240">#5240</a>, which moved client side <code>gRPC</code> boilerplate to a new, reusable GrpcClient class.</p>
<p>From this change forward, all client side <code>gRPC</code> request/response boilerplate (including tests) should now live in <code>GrpcClient</code>.</p>
<p>PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="816648608" data-permission-text="Title is private" data-url="https://github.com/bisq-network/bisq/issues/5240" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/5240/hovercard" href="https://github.com/bisq-network/bisq/pull/5240">#5240</a> should be reviewed/merged before this one.</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/5244'>https://github.com/bisq-network/bisq/pull/5244</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Make @VisibleForTesting</li>
  <li>Add CLI testing bot to :apitest</li>
  <li>Merge branch 'master' into 02-scripted-bot-test</li>
  <li>Fix manual shutdown exception handling</li>
  <li>Merge branch 'master' into 02-scripted-bot-test</li>
  <li>Add --help option to bot-script.json generator</li>
  <li>Merge branch 'master' into 02-scripted-bot-test</li>
  <li>Fix typo in toString</li>
  <li>Adjust api to new minimum fee per vbyte</li>
  <li>Prepare to adjust api to new minimum fee per vbyte (from feeService)</li>
  <li>Refactor grpc stub boilerplate from CliMain to GrpcClient</li>
  <li>Refactor apitest cases to use GrpcClient</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-11fd917c7fb607dd3f9a4859a9349e498a4a4a422503e7879a25c3385408ad1d">apitest/src/test/java/bisq/apitest/ApiTestCase.java</a>
    (54)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-8cf80f69437713c826fc155b501cfaad5fbde6836c27633e9efaebd2056916cb">apitest/src/test/java/bisq/apitest/method/GetMethodHelpTest.java</a>
    (7)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-f59737ef5bf3a4019f4393b36049e185d21e1397e8e8bdb43f47a9521c474d18">apitest/src/test/java/bisq/apitest/method/GetVersionTest.java</a>
    (5)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-44d1f675626693524cb12d599245a09b4318db027c2dabd23e10cd98ceb7fd28">apitest/src/test/java/bisq/apitest/method/MethodTest.java</a>
    (420)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-ad200ec31505b3e355063648a1187de23a0900e68d98e0b06efb37cc1e30485a">apitest/src/test/java/bisq/apitest/method/RegisterDisputeAgentsTest.java</a>
    (19)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-c635a83c621d11fe469b4c85a89da2dc19300fd7048b1260d33cd5dc64ddd817">apitest/src/test/java/bisq/apitest/method/offer/AbstractOfferTest.java</a>
    (112)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-e9afaf25a040818933ead2d35a47a8cfdbedfe645b5a20032150280683f6ddc0">apitest/src/test/java/bisq/apitest/method/offer/CancelOfferTest.java</a>
    (41)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-32b895cb27d0c846464892e61c9a57ac1d45a05eac0edcd53fd539ec89d2948e">apitest/src/test/java/bisq/apitest/method/offer/CreateOfferUsingFixedPriceTest.java</a>
    (78)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-95eb2e15e7182812f9c4518c5cbbb38d3c6fbb4ca8388f4600a5c1541ad29691">apitest/src/test/java/bisq/apitest/method/offer/CreateOfferUsingMarketPriceMarginTest.java</a>
    (96)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-ca35fd2cf20069360ff48c6d99283c5fea8c929024ddbdfe44d60429da2a10a1">apitest/src/test/java/bisq/apitest/method/offer/ValidateCreateOfferTest.java</a>
    (26)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-8efa98a721b8ec574d3856b9ba9df31a5df2fd9d1c7d37efbcc6bdc20b3c2b3b">apitest/src/test/java/bisq/apitest/method/payment/AbstractPaymentAccountTest.java</a>
    (15)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-98766e3307ebb6c5e165c4538df5e46fc1d8e8abf81f66771fcfc5bbb6408131">apitest/src/test/java/bisq/apitest/method/payment/CreatePaymentAccountTest.java</a>
    (112)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-febd22f3d2cad92a0fb1115f6ce1e3c8398a1c9a8f5329860029063796c1e341">apitest/src/test/java/bisq/apitest/method/payment/GetPaymentMethodsTest.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-c41ca392649706fed19bf13247aeab25d0aa4ec109c93691aa2e7839b0fea70d">apitest/src/test/java/bisq/apitest/method/trade/AbstractTradeTest.java</a>
    (12)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-80fde285109a91d7581e771828393b6c87ac3b2a7e7de6ee750e7d41e594650a">apitest/src/test/java/bisq/apitest/method/trade/TakeBuyBTCOfferTest.java</a>
    (42)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-0a94ee487ea9d0b7b440b8688f6e9df897fd089fc84ead5f6cc9ca9453ad3b21">apitest/src/test/java/bisq/apitest/method/trade/TakeSellBTCOfferTest.java</a>
    (44)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-6c369bf146b35b7c634ad739e48b95ec315679f63e9e557821c83419002758cc">apitest/src/test/java/bisq/apitest/method/wallet/BsqWalletTest.java</a>
    (33)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-a609d301c29b4d5cbf57988d0a292c2b1ca0ae61a80e564adc5d5b9937a6c33a">apitest/src/test/java/bisq/apitest/method/wallet/BtcTxFeeRateTest.java</a>
    (28)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-bd2bdbad386129ffb2e5a7c90f46a406f67c2b55316771577c89104292251237">apitest/src/test/java/bisq/apitest/method/wallet/BtcWalletTest.java</a>
    (23)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-5b82d68aab01da72572521eec5525c251ad8555e14634d0ec12cfc869801934d">apitest/src/test/java/bisq/apitest/method/wallet/WalletProtectionTest.java</a>
    (51)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-ddf4721374613fe047631b685717fbcaf3c0dd687db70b0f5d7d9150b3affdb5">apitest/src/test/java/bisq/apitest/scenario/PaymentAccountTest.java</a>
    (4)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-91b75f7e1030896a9d05f02724941d2ba010272f1ea6b3b39e50559dcb6c2fd6">apitest/src/test/java/bisq/apitest/scenario/ScriptedBotTest.java</a>
    (121)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-b4de23450b7705336f77c570c064b19161e2b637d3d77b7ebe2deec2ca9911bc">apitest/src/test/java/bisq/apitest/scenario/WalletTest.java</a>
    (3)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-664fef29ad8c5195f22f1cd7e997bf33299a6f6b180c4e41c85b57066b2a0ce4">apitest/src/test/java/bisq/apitest/scenario/bot/AbstractBotTest.java</a>
    (110)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-a0d3b3c03a39918bcbe8965b445d159cdb0a768d551bafab88443a97712542fa">apitest/src/test/java/bisq/apitest/scenario/bot/Bot.java</a>
    (77)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-f661c3bd0385dafccef63c304b78674c5e3e1305f663885c97daf05bf6ad6257">apitest/src/test/java/bisq/apitest/scenario/bot/BotClient.java</a>
    (339)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-1d41fd1dbb49f4f72fea5c3ee7e7964a3d6de7700ba4c0e138d464da2cf818d2">apitest/src/test/java/bisq/apitest/scenario/bot/BotPaymentAccountGenerator.java</a>
    (68)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-f2a01338fe5be06ca7cd569aedc2c0bdcff59159a2cabf7cee5dcd51e31f8d2a">apitest/src/test/java/bisq/apitest/scenario/bot/InvalidRandomOfferException.java</a>
    (35)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-66778c8116ed3b97e38a3b86799596806d3e4ada6a07df0782ecfe3e33cc094a">apitest/src/test/java/bisq/apitest/scenario/bot/PaymentAccountNotFoundException.java</a>
    (35)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-7fdd0ca2025f77ccbebb1cd6636ce3b348793ac7d35aaaed30f2bc8edc53d74d">apitest/src/test/java/bisq/apitest/scenario/bot/RandomOffer.java</a>
    (177)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-1f44680e290bff519404afd7aa9f0b1cd9b172747f5c4a6c81e5b003d862189f">apitest/src/test/java/bisq/apitest/scenario/bot/RobotBob.java</a>
    (141)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-a819ac45b9b1e78342c2bfa5a32025128383f67fea62622a2969e4e3cb28fba1">apitest/src/test/java/bisq/apitest/scenario/bot/protocol/BotProtocol.java</a>
    (349)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-c9e2c22585d70bf6e85d476da7c54931422167cac7b86f2ad85e53b850c1a283">apitest/src/test/java/bisq/apitest/scenario/bot/protocol/MakerBotProtocol.java</a>
    (114)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-87acff4a583af7857959e2b90acff41b0f8a43b666fde5b3419ff80d6e45ecba">apitest/src/test/java/bisq/apitest/scenario/bot/protocol/ProtocolStep.java</a>
    (17)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-3fa018cc540d56759aa0f80179674c6d3755bd649d2ec48cedadb047c3509e78">apitest/src/test/java/bisq/apitest/scenario/bot/protocol/TakerBotProtocol.java</a>
    (136)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-942b15b76419317d60e3ca22b32e269cbb79f5539260acd826af9cd2a7ad0509">apitest/src/test/java/bisq/apitest/scenario/bot/script/BashScriptGenerator.java</a>
    (235)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-b0cd8db11b6e60ba12bcd88d29ed40f52e2c03cdd55e7cd32d3879a8f9fbfa48">apitest/src/test/java/bisq/apitest/scenario/bot/script/BotScript.java</a>
    (78)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-88d2e716cb1edb03951648729a5c92b40aaf9608beeabab0d7a6eab06535a089">apitest/src/test/java/bisq/apitest/scenario/bot/script/BotScriptGenerator.java</a>
    (247)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-1b8819e3969904228017182b9d365f622e9cca85bd6663240172f1c7607ffc28">apitest/src/test/java/bisq/apitest/scenario/bot/shutdown/ManualBotShutdownException.java</a>
    (35)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-cd912bfeecc7d0f9215355d8e065496a70af58cc1920da4962caaa1c658724fc">apitest/src/test/java/bisq/apitest/scenario/bot/shutdown/ManualShutdown.java</a>
    (64)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-afc5db1c8acb08dec253ee87a3e0e677c932d6826a2ab4c31ba816a4dcfb1386">cli/src/main/java/bisq/cli/CliMain.java</a>
    (361)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-bc03e9b04d52b37f48d4f56aa608b4a50a2085dff40f9fc738d910ea5a72d599">cli/src/main/java/bisq/cli/CurrencyFormat.java</a>
    (16)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-ae5b5d0bb9a18998e885050698a2ce8dde809059fffc344f1d24a937e6ecbae3">cli/src/main/java/bisq/cli/GrpcClient.java</a>
    (426)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-5844772aef65f78f18718761e04db119b26808d950b861d038a740878d729c40">cli/src/main/java/bisq/cli/GrpcStubs.java</a>
    (2)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-2ac1e865aee578e0d675f0b5777c3c9ba660b165166cb7b031539face84c8559">cli/src/main/java/bisq/cli/TableFormat.java</a>
    (4)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-f1df4fd99db45d9b91ec2a59f443619324e243cb5738a597ef8008b67cc97d9a">core/src/main/java/bisq/core/api/CoreWalletsService.java</a>
    (10)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/5244/files#diff-1d2bf9ed9cc56f820a4ed2da95d5b6dedc345c4592134b4fab2c639e72bb2ae5">core/src/main/java/bisq/core/api/model/TxFeeRateInfo.java</a>
    (4)
  </li>
</ul>

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