<p>The goal of this PR is to improve privacy, by not requiring mediators to ask for users private keys.</p>
<ul>
<li>Redesign the UI</li>
<li>Add import/export of payout settings</li>
<li>Mediator does not need private key</li>
<li>User can sign using own wallet or private key</li>
<li>Validation of input fields</li>
<li>Calculate the tx fee based on inputs</li>
<li>Display of the generated txid & hex so it can be checked</li>
</ul>
<p>The emergency multisig payout tool has been redesigned so that the unsigned payout transaction can be built, exported to the users for them to sign, and then the two signatures applied by the mediator before broadcasting the payout.</p>
<p>The screen is split into tabs (or a menu) allowing choices for Inputs, Import/Export, Sign and Build.  See screenshots below.</p>
<p>Inputs would be filled out by the mediator.  Most of the info can be obtained from the trade's contract.  The amountInMultisig can be obtained from checking an explorer - amountInMultisig is necessary because this value is part of the hashed signature (in segwit), so the TX will not be valid unless this amount is specified correctly.</p>
<p>The mediator would then export the settings and paste the exported string to both users in mediation chat.  e.g.</p>
<pre><code>segwit:d407eafc0fe1c38053293e279c3caa11377ace6b0863f68991b81bdfd12f189a:0.0223333:0.016:0.006:bcrt1qp72j2jfmvuaurvhfag42hzxh4kwztwtytagk0u:bcrt1qjdherq7kwr7vrs9wgmlsx4k74r8xcvhw9z8ds4:03f5fb2f9f4d8790138f96654a14753119b8a1141a120876456358302d24f35ee0:02471d7e2d25995ad4c274eada9d497ade835e026eda178c4347cebd21eff40353
</code></pre>
<p>Users would open the tool (ctrl+g) click import and paste in the supplied string.  Then they would click sign and press "LOCATE KEY IN WALLET" followed by "GENERATE SIGNATURE".  Then they would paste the signature string back to the mediator.</p>
<p>(The mediator would give the user some guidance on how to open the tool and sign).</p>
<p>The mediator, upon receiving the two signature strings would click "BUILD" and paste the buyer and seller signatures into the fields, followed by "BUILD" and/or "BROADCAST".  The txId and txHex are displayed in a text box (similar to the UI of coinbin), so the txId could by copied into an explorer to check the TX status.</p>
<p>Entering the parameters:<br>
<a target="_blank" rel="noopener noreferrer" href="https://user-images.githubusercontent.com/47253594/101208067-3d087e00-3637-11eb-8932-7aa92033dff0.png"><img src="https://user-images.githubusercontent.com/47253594/101208067-3d087e00-3637-11eb-8932-7aa92033dff0.png" alt="image" style="max-width:100%;"></a></p>
<p>Exporting:<br>
<a target="_blank" rel="noopener noreferrer" href="https://user-images.githubusercontent.com/47253594/101208041-3417ac80-3637-11eb-8b6d-08af8428a7b8.png"><img src="https://user-images.githubusercontent.com/47253594/101208041-3417ac80-3637-11eb-8b6d-08af8428a7b8.png" alt="image" style="max-width:100%;"></a></p>
<p>Signing (by users):<br>
<a target="_blank" rel="noopener noreferrer" href="https://user-images.githubusercontent.com/47253594/101208013-2a8e4480-3637-11eb-9863-1a7db8248842.png"><img src="https://user-images.githubusercontent.com/47253594/101208013-2a8e4480-3637-11eb-9863-1a7db8248842.png" alt="image" style="max-width:100%;"></a></p>
<p>Building:<br>
<a target="_blank" rel="noopener noreferrer" href="https://user-images.githubusercontent.com/47253594/101207953-0a5e8580-3637-11eb-824d-8b817fa35259.png"><img src="https://user-images.githubusercontent.com/47253594/101207953-0a5e8580-3637-11eb-824d-8b817fa35259.png" alt="image" style="max-width:100%;"></a></p>
<p><span class="issue-keyword tooltipped tooltipped-se" aria-label="This pull request closes issue #4061.">Fixes</span> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="581160352" data-permission-text="Title is private" data-url="https://github.com/bisq-network/bisq/issues/4061" data-hovercard-type="issue" data-hovercard-url="/bisq-network/bisq/issues/4061/hovercard" href="https://github.com/bisq-network/bisq/issues/4061">#4061</a></p>
<p><a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/huey735/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huey735">@huey735</a>, mediators are invited to review/comment on this proposed solution.</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/4899'>https://github.com/bisq-network/bisq/pull/4899</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>Privacy improvements for manual payout</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4899/files#diff-2208e815b409a18e37c6d0f1404c9df056762391ac619a3a64b957029dad68e1">core/src/main/java/bisq/core/btc/wallet/TradeWalletService.java</a>
    (74)
  </li>
  <li>
    <strong>M</strong>
    <a href="https://github.com/bisq-network/bisq/pull/4899/files#diff-af2b2c049b2c688c7ef4461b998618ed316e9ca399d2ac232b0853cbea25c8b6">desktop/src/main/java/bisq/desktop/main/overlays/windows/ManualPayoutTxWindow.java</a>
    (533)
  </li>
</ul>

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