<p>The new method returns current buy or sell offers for a fiat ccy.</p>
<p>This PR should be reviewed/merged after PR <a href="https://github.com/bisq-network/bisq/pull/4324" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/4324/hovercard">4324</a>.</p>
<p>Changes include:</p>
<ul>
<li>
<p>New core.grpc classes<br>
CoreOffersService<br>
GrpcOffersService<br>
model.OfferInfo</p>
</li>
<li>
<p>CoreApi -- The new CoreOffersService is injected into CoreApi and<br>
the old getOffers() and placeOffer() impls were moved into the<br>
new CoreOffersService.  The getOffers implementation was re-done.<br>
Other changes are just rearranging location of core method calls.</p>
</li>
<li>
<p>GrpcServer -- The new GrpcOffersService replaced the old<br>
GetOffersService and PlaceOfferService.</p>
</li>
<li>
<p>grpc.proto -- The old GetOffers and PlaceOffer services were combined<br>
into a single Offers service, and the PlaceOffer rpc was renamed<br>
as CreateOffer.  These are the only substantive changes; the rest<br>
is just rearranging location of the service defs in the file.<br>
Also created a lighterweight OfferInfo proto message wrapper to<br>
be passed between server & client (client has no access to core's<br>
Offer and OfferPayload).</p>
</li>
<li>
<p>OfferInfo -- A new wrapper around the OfferInfo proto message.</p>
</li>
<li>
<p>CliMain -- The new GetOffers service stub was added.<br>
Some (maybe too much) number and ccy formatting logic was<br>
copied & modified from core.  Some tedius string formatting<br>
was added too (needs to be tidied up).</p>
</li>
<li>
<p>License comments were also copied to several classes, and I<br>
made a mistake in reverting changes to the wrong file.</p>
</li>
<li>
<p>Added 4 simple unit tests to cli/test.sh.</p>
</li>
</ul>

<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/4329'>https://github.com/bisq-network/bisq/pull/4329</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Rename CoreWalletService -> CoreWalletsService</li>
  <li>Add rpc wallet(s) protection tests</li>
  <li>Add rpc method 'getfundingaddresses'</li>
  <li>Replace duplicate code in getFundingAddresses</li>
  <li>Add rpc method 'getaddressbalance'</li>
  <li>Add rpc method 'createpaymentacct'</li>
  <li>Call core wallets service methods from CoreApi</li>
  <li>Factor duplicate unlocked wallet checks into new method</li>
  <li>Replace Tuple3 with memoization</li>
  <li>Merge pull request #2 from dmos62/Z-getfundingaddresses-patch</li>
  <li>Refactor getFundingAddresses to use memoization</li>
  <li>Rmove blank line</li>
  <li>Add rpc method 'getpaymentaccts'</li>
  <li>Return protos from funding address methods</li>
  <li>Refactor AddressBalanceInfo display logic</li>
  <li>Add license comment</li>
  <li>Add license comment</li>
  <li>Add license comment</li>
  <li>Wrap Exception from core in gRPC StatusRuntimeException</li>
  <li>Revert "Add license comment"</li>
  <li>Re-add license comment</li>
  <li>Remove try catch block</li>
  <li>Add rpc method 'getoffers'</li>
  <li>Do not use protobuf.OfferPayload.Direction in client</li>
  <li>Fix comments</li>
  <li>Refactor CLI output table formatting</li>
  <li>Add 'getoffers' unit tests</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-c373779aeb2c0f02199d152b537b0fd1">cli/src/main/java/bisq/cli/CliMain.java</a>
    (140)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-363f459105956a5f70b16fa31a07a4b5">cli/src/main/java/bisq/cli/CurrencyFormat.java</a>
    (47)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-166cef371032bb05222c55363b3a1aba">cli/src/main/java/bisq/cli/PasswordCallCredentials.java</a>
    (17)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-46ca0d5a34640a3f705b388adb2fc8ba">cli/src/main/java/bisq/cli/TableFormat.java</a>
    (116)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-9368479f5696839c056de9f5b7d62e7b">cli/test.sh</a>
    (150)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-6fd3a1bb17b4e9d1355ef9a5afc364e9">core/src/main/java/bisq/core/grpc/CoreApi.java</a>
    (175)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-eb44ec00eab24eb9052539f60ff31b5d">core/src/main/java/bisq/core/grpc/CoreOffersService.java</a>
    (138)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-3efc42f52c2f2ee78321c2271af3cdf2">core/src/main/java/bisq/core/grpc/CorePaymentAccountsService.java</a>
    (74)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-bea89058b2c63aeec792f281435a4ec6">core/src/main/java/bisq/core/grpc/CoreWalletsService.java</a>
    (129)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-ff549eaf92787e653a89070eb18a09ec">core/src/main/java/bisq/core/grpc/GrpcOffersService.java</a>
    (105)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-fa31cf62eef287705e52b4c7d3a86a59">core/src/main/java/bisq/core/grpc/GrpcPaymentAccountsService.java</a>
    (63)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-64eb5835ca37d8f1ab4af8939934a860">core/src/main/java/bisq/core/grpc/GrpcServer.java</a>
    (77)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-5cdf4f3ac7fd2fd81e70964f9665591a">core/src/main/java/bisq/core/grpc/GrpcWalletsService.java</a>
    (81)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-c493ce020267a0600bbbb421fc95722e">core/src/main/java/bisq/core/grpc/PasswordAuthInterceptor.java</a>
    (17)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-f1784242ea164efef017879bab0f5b4e">core/src/main/java/bisq/core/grpc/model/AddressBalanceInfo.java</a>
    (60)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-1405ad11d5c3c49bb647b346e7052d0c">core/src/main/java/bisq/core/grpc/model/OfferInfo.java</a>
    (215)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4329/files#diff-328b3309bc03d9ffb3ffb9e780dc7e91">proto/src/main/proto/grpc.proto</a>
    (120)
  </li>
</ul>

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