<p>The <code>getaddressbalance</code> and <code>getfundingaddresses</code> methods now send new <code>AddressBalanceInfo</code> proto messages instead of a formatted String to the client.  The <code>AddressBalanceInfo</code> message contains address string, balance, and # of confirmations (transaction confidence) fields.</p>
<p>Changes include:</p>
<ul>
<li>A new <code>AddressBalanceInfo</code> proto message</li>
<li>A wrapper class for the new <code>AddressBalanceInfo</code> proto</li>
<li>New <code>getaddressbalance</code> and <code>getfundingaddresses</code> signatures in server</li>
<li><code>AddressBalanceInfo</code> display logic in client</li>
<li>Removal of balance formatting logic in server</li>
<li>Refactoring of balance formatting logic in client</li>
</ul>
<p>This PR should be reviewed/merged after PR <a href="https://github.com/bisq-network/bisq/pull/4323" data-hovercard-type="pull_request" data-hovercard-url="/bisq-network/bisq/pull/4323/hovercard">4323</a>.</p>
<p>The first cut of these methods methods were hacked because of uncertainty about whether or not we were going to ditch gRPC for an exclusively RESTful API.  But it seems likely we will serve both kinds of clients from the gRPC server.</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/4324'>https://github.com/bisq-network/bisq/pull/4324</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>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-c373779aeb2c0f02199d152b537b0fd1">cli/src/main/java/bisq/cli/CliMain.java</a>
    (127)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-9368479f5696839c056de9f5b7d62e7b">cli/test.sh</a>
    (121)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-6fd3a1bb17b4e9d1355ef9a5afc364e9">core/src/main/java/bisq/core/grpc/CoreApi.java</a>
    (64)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-3efc42f52c2f2ee78321c2271af3cdf2">core/src/main/java/bisq/core/grpc/CorePaymentAccountsService.java</a>
    (57)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-bea89058b2c63aeec792f281435a4ec6">core/src/main/java/bisq/core/grpc/CoreWalletsService.java</a>
    (112)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-fa31cf62eef287705e52b4c7d3a86a59">core/src/main/java/bisq/core/grpc/GrpcPaymentAccountsService.java</a>
    (46)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-64eb5835ca37d8f1ab4af8939934a860">core/src/main/java/bisq/core/grpc/GrpcServer.java</a>
    (26)
  </li>
  <li>
    <strong>R</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-5cdf4f3ac7fd2fd81e70964f9665591a">core/src/main/java/bisq/core/grpc/GrpcWalletsService.java</a>
    (64)
  </li>
  <li>
    <strong>A</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-f1784242ea164efef017879bab0f5b4e">core/src/main/java/bisq/core/grpc/model/AddressBalanceInfo.java</a>
    (43)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4324/files#diff-328b3309bc03d9ffb3ffb9e780dc7e91">proto/src/main/proto/grpc.proto</a>
    (44)
  </li>
</ul>

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